Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import matplotlib.pyplot as plt | |
| # Uygulama başlığı ve stil ayarları | |
| st.set_page_config(page_title="Etsy Profit Margin Calculator", layout="wide") | |
| # CSS for custom styling | |
| st.markdown(""" | |
| <style> | |
| .card { | |
| background-color: #f8f9fa; | |
| border-radius: 10px; | |
| padding: 20px; | |
| margin: 10px 0; | |
| box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); | |
| } | |
| .icon { | |
| font-size: 30px; | |
| margin-right: 10px; | |
| } | |
| .calculate-button { | |
| background-color: #007bff; | |
| color: white; | |
| border: none; | |
| padding: 10px 20px; | |
| border-radius: 5px; | |
| font-size: 18px; | |
| cursor: pointer; | |
| } | |
| .header { | |
| font-size: 24px; | |
| font-weight: bold; | |
| } | |
| </style> | |
| """, unsafe_allow_html=True) | |
| # Üst başlık ve açıklama | |
| st.markdown("<h2 style='text-align: center;'>Calculate Your Profit Margin on Etsy, Don’t Make A LOSS!</h2>", unsafe_allow_html=True) | |
| # Kullanıcı girdi alanları | |
| col1, col2, col3 = st.columns(3) | |
| with col1: | |
| st.markdown("<div class='card'><span class='icon'>💰</span> <span class='header'>Store Currency</span>", unsafe_allow_html=True) | |
| currency = st.selectbox("Currency", ["USD", "EUR"]) | |
| st.markdown("<div class='card'><span class='icon'>🌍</span> <span class='header'>Store Location</span>", unsafe_allow_html=True) | |
| location = st.selectbox("Location", ["US", "EU", "Other"]) | |
| with col2: | |
| st.markdown("<div class='card'><span class='icon'>💲</span> <span class='header'>Revenue</span>", unsafe_allow_html=True) | |
| sale_price = st.number_input("Sale Price ($)", min_value=0.0) | |
| shipping_price = st.number_input("Shipping Price ($)", min_value=0.0) | |
| gift_wrap = st.number_input("Gift Wrap Price ($)", min_value=0.0) | |
| with col3: | |
| st.markdown("<div class='card'><span class='icon'>💸</span> <span class='header'>Cost</span>", unsafe_allow_html=True) | |
| product_cost = st.number_input("Product Cost ($)", min_value=0.0) | |
| labor_cost = st.number_input("Labor Cost ($)", min_value=0.0) | |
| packaging_cost = st.number_input("Packaging Cost ($)", min_value=0.0) | |
| # Hesaplama | |
| if st.button("Hesapla", key="calculate"): | |
| total_revenue = sale_price + shipping_price + gift_wrap | |
| total_cost = product_cost + labor_cost + packaging_cost | |
| profit = total_revenue - total_cost | |
| profit_margin = (profit / total_revenue) * 100 if total_revenue > 0 else 0 | |
| # Sonuçları göster | |
| st.markdown("<div class='card'><span class='icon'>📊</span> <span class='header'>Results</span>", unsafe_allow_html=True) | |
| st.write("Total Revenue: $", total_revenue) | |
| st.write("Total Cost: $", total_cost) | |
| st.write("Profit: $", profit) | |
| st.write("Profit Margin: ", f"{profit_margin:.2f}%") | |
| # Pasta grafiği | |
| labels = ["Cost", "Profit"] | |
| sizes = [total_cost, profit] | |
| colors = ["#ff9999", "#66b3ff"] | |
| fig1, ax1 = plt.subplots() | |
| ax1.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90) | |
| ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. | |
| st.pyplot(fig1) | |