File size: 3,110 Bytes
a9f4515
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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)