File size: 9,115 Bytes
7aa8120 26aca88 7aa8120 26aca88 | 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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | import streamlit as st
import urllib.parse
# π NAMBARKA WHATSAPP-KA IYO EVC PLUS
DUKAANKA_WHATSAPP = "252612693555"
EVC_PLUS_NUMBER = "0612693555" # Halkaan ku beddel nambarkaaga saxda ah ee lacagta laguugu soo dirayo
# βοΈ Qurxinta dusha sare ee Website-ka
st.set_page_config(page_title="Baidoa Ice Cream", page_icon="π¦", layout="centered")
# π Bilaabidda nidaamka dambiilaha (Session State)
if 'cart' not in st.session_state:
st.session_state.cart = []
if 'page' not in st.session_state:
st.session_state.page = "home"
if 'customer_info' not in st.session_state:
st.session_state.customer_info = {}
# π XOGTA ALAABTA IYO QIIMAHA
ALAABTA = {
"JALLAATADA TUFKA": [
{"magac": "Tuf Wayn", "qiimo": 0.50, "dhadhan": ["Vanilla", "Chocolate", "Strawberry", "Mango"]},
{"magac": "Tuf Normal", "qiimo": 0.25, "dhadhan": ["Vanilla", "Chocolate", "Strawberry"]},
{"magac": "Tuf Yar", "qiimo": 0.20, "dhadhan": ["Vanilla", "Chocolate"]}
],
"JALLAATADA CAAGA": [
{"magac": "Caag Weyn (Max)", "qiimo": 1.00, "dhadhan": ["Mix Flavors", "Chocolate Special", "Strawberry"]},
{"magac": "Caag Weyn", "qiimo": 0.75, "dhadhan": ["Vanilla", "Chocolate", "Strawberry"]},
{"magac": "Caag Yar (Normal)", "qiimo": 0.50, "dhadhan": ["Vanilla", "Chocolate"]},
{"magac": "Caag Yar", "qiimo": 0.25, "dhadhan": ["Vanilla", "Chocolate"]}
],
"MACMACAAN & TOORTO": [
{"magac": "Toorto Weyn (Celebration)", "qiimo": 25.00, "dhadhan": ["Chocolate", "Vanilla", "Red Velvet"]},
{"magac": "Toorto Normal", "qiimo": 15.00, "dhadhan": ["Chocolate", "Vanilla"]},
{"magac": "Toorto Yar / Jab", "qiimo": 4.00, "dhadhan": ["Chocolate", "Vanilla"]}
],
"MACMACAAN CUSUB": [
{"magac": "Lotus Cake", "qiimo": 3.00, "dhadhan": ["Original Lotus"]},
{"magac": "Basbuuso", "qiimo": 2.50, "dhadhan": ["Traditional"]},
{"magac": "Cupcake", "qiimo": 2.50, "dhadhan": ["Chocolate", "Vanilla", "Strawberry"]},
{"magac": "Normal Cake", "qiimo": 1.50, "dhadhan": ["Vanilla", "Marble"]}
]
}
# π 1. BOGGA HORE (HOME PAGE)
if st.session_state.page == "home":
st.markdown("<h1 style='text-align: center; color: #d63384;'>π¦ Baidoa Ice Cream π</h1>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: #6c757d;'>Ku soo dhowaada dukaanka rasmiga ah! Dooro alaabtaada, bixi lacagta, kuna hel 20 daqiiqo gudahood.</p>", unsafe_allow_html=True)
st.write("---")
# Badhan weyn oo la rigo dambiilaha haddii wax ku jiraan
if len(st.session_state.cart) > 0:
st.warning(f"π Dambiilahaaga waxaa ku jira {len(st.session_state.cart)} alaab ah.")
if st.button("U Gudub Gaadhiga Wax Iibsiga β"):
st.session_state.page = "cart"
st.rerun()
# Muujinta Qaybaha Alaabta
for qaybta, alaabooyinka inoo yaal iney ku jiraan iney muuqdaan:
st.markdown(f"### π {qaybta}")
cols = st.columns(2)
for idx, item in enumerate(alaabooyinka):
with cols[idx % 2]:
st.info(f"*{item['magac']}* β ${item['qiimo']:.2f}")
# Doorashada Dhadhanka iyo Tirada
dhadhan_dooro = st.selectbox(f"Dhadhanka ({item['magac']})", item['dhadhan'], key=f"flavor_{item['magac']}_{idx}")
tirada = st.number_input(f"Tirada ({item['magac']})", min_value=1, max_value=20, value=1, key=f"qty_{item['magac']}_{idx}")
if st.button(f"β Ku Dar Gaadhiga", key=f"btn_{item['magac']}_{idx}"):
st.session_state.cart.append({
"magac": item['magac'],
"qiimo": item['qiimo'],
"dhadhan": dhadhan_dooro,
"tirada": tirada,
"subtotal": item['qiimo'] * tirada
})
st.success(f"β
{tirada} {item['magac']} ({dhadhan_dooro}) waa lagu daray gaadhiga!")
st.rerun()
st.write("---")
# π 2. GAADHIGA WAX IIBSIGA (CART PAGE)
elif st.session_state.page == "cart":
st.markdown("## π Gaadhiga Wax Iibsiga (Cart)")
if not st.session_state.cart:
st.error("Gaadhigaagu waa maran yahay hadda!")
if st.button("β¬
οΈ Ku noqo Bogga Hore"):
st.session_state.page = "home"
st.rerun()
else:
wadarta_lacagta = 0
for idx, c in enumerate(st.session_state.cart):
col1, col2, col3 = st.columns([3, 2, 1])
with col1:
st.write(f"*{c['magac']}* ({c['dhadhan']})")
with col2:
st.write(f"{c['tirada']} x ${c['qiimo']:.2f} = *${c['subtotal']:.2f}*")
with col3:
if st.button("β", key=f"del_{idx}"):
st.session_state.cart.pop(idx)
st.rerun()
wadarta_lacagta += c['subtotal']
st.write("---")
st.markdown(f"### π° Wadarta Guud: *${wadarta_lacagta:.2f}*")
col_btn1, col_btn2 = st.columns(2)
with col_btn1:
if st.button("β¬
οΈ Sii Wad Adeegsiga"):
st.session_state.page = "home"
st.rerun()
with col_btn2:
if st.button("Sii Wad Dalabka (Macluumaadka) β"):
st.session_state.page = "info"
st.rerun()
# π€ 3. MACLUUMAADKA MACMIILKA (CUSTOMER INFO)
elif st.session_state.page == "info":
st.markdown("## π€ Macluumaadka Geynta Dalabka")
st.write("Fadlan qor faahfaahintaada si looguugu soo qaado jalaatada:")
magaca = st.text_input("Magacaaga oo Dhammaystiran:")
telefoonka = st.text_input("Lambarka Telefoonkaaga:")
cinwaanka = st.text_area("Cinwaanka Guriga / Goobta Shaqada (Geeynta):")
col_btn1, col_btn2 = st.columns(2)
with col_btn1:
if st.button("β¬
οΈ Ku noqo Gaadhiga"):
st.session_state.page = "cart"
st.rerun()
with col_btn2:
if st.button("U Gudub Lacag-bixinta β"):
if magaca and telefoonka and cinwaanka:
st.session_state.customer_info = {
"magac": magaca,
"tel": telefoonka,
"cinwaan": cinwaanka
}
st.session_state.page = "payment"
st.rerun()
else:
st.error("Fadlan buuxi dhammaan meelaha banaan!")
# π³ 4. LACAG-BIXINTA (PAYMENT)
elif st.session_state.page == "payment":
st.markdown("## π³ Tallaabada Lacag-bixinta (Amniga Dalabka)")
st.warning("β οΈ Dalabkaaga lama xaqiijin doono ilaa aad lacagta bixiso si looga hortago dalabyada beenta ah!")
wadarta_lacagta = sum(c['subtotal'] for c in st.session_state.cart)
st.markdown(f"### π΅ Wadarta Lacagta Laga rabo: *${wadarta_lacagta:.2f}*")
st.info(f"βΉοΈ *Habka Lacag bixinta:\nFadlan ku dir *${wadarta_lacagta:.2f}* lambarka **EVC Plus: {EVC_PLUS_NUMBER}*")
st.write("---")
st.write("Markaad lacagta dirto ka dib, guji batoonka hoose si aad ugu xaqiijiso WhatsApp-ka oo dukaanka laguugu diyaariyo:")
# Diyaarinta qoraalka WhatsApp-ka ku dhacaya
alaab_qoraal = ""
for c in st.session_state.cart:
alaab_qoraal += f"- {c['tirada']} {c['magac']} ({c['dhadhan']}) = ${c['subtotal']:.2f}\n"
info = st.session_state.customer_info
qoraalka_whatsapp = (
f"π¨ DALAB CUSUB (BAIDOA ICE CREAM) π¨\n\n"
f"π€ Macmiilka: {info['magac']}\n"
f"π Tel: {info['tel']}\n"
f"π Cinwaanka: {info['cinwaan']}\n\n"
f"π Alaabta la doortay:\n{alaab_qoraal}\n"
f"π° Wadarta Guud: ${wadarta_lacagta:.2f}\n"
f"β
Xaaladda Lacagta: Waxaan hadda ku soo diray EVC Plus! Fadlan ii xaqiiji oo iisoo rida."
)
url_encoded_text = urllib.parse.quote(qoraalka_whatsapp)
whatsapp_link = f"https://wa.me/{DUKAANKA_WHATSAPP}?text={url_encoded_text}"
col_btn1, col_btn2 = st.columns(2)
with col_btn1:
if st.button("β¬
οΈ Beddel Macluumaadka"):
st.session_state.page = "info"
st.rerun()
with col_btn2:
# Batoonka rasmiga ah ee u diraya WhatsApp-ka oo diiwaangelinaya dalabka
st.markdown(f'''
<a href="{whatsapp_link}" target="_blank" style="text-decoration: none;">
<div style="background-color: #25D366; color: white; text-align: center; padding: 10px; font-weight: bold; border-radius: 5px; cursor: pointer;">
β
BIXI HADDA & XAQIIJI DALABKA
</div>
</a>
''', unsafe_allow_html=True)
if st.button("π‘ Markaad gujiso kadib, halkan riix si aad u nadiifiso dambiilaha"):
st.session_state.cart = []
st.session_state.page = "home"
st.success("Dalabkaaga waa la diiwaangeliyey! Waxaa laguugu soo dirayaa 20 daqiiqo gudahood. Waad ku mahadsan tahay doorashada Baidoa Ice Cream! π¦")
st.rerun() |