| import streamlit as st |
| import urllib.parse |
|
|
| |
| DUKAANKA_WHATSAPP = "252612693555" |
| EVC_PLUS_NUMBER = "0612693555" |
|
|
| |
| st.set_page_config(page_title="Baidoa Ice Cream", page_icon="π¦", layout="centered") |
|
|
| |
| 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 = {} |
|
|
| |
| 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"]} |
| ] |
| } |
|
|
| |
| 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("---") |
| |
| |
| 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() |
|
|
| |
| 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}") |
| |
| |
| 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("---") |
|
|
| |
| 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() |
|
|
| |
| 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!") |
|
|
| |
| 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:") |
| |
| |
| 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: |
| |
| 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() |