File size: 4,370 Bytes
499b5b5
 
dd7b4b2
499b5b5
dd7b4b2
 
499b5b5
dd7b4b2
 
 
 
4302692
dd7b4b2
4302692
dd7b4b2
 
 
4302692
ebc95e2
4302692
dd7b4b2
 
 
 
 
25d52df
dd7b4b2
 
 
 
4302692
dd7b4b2
 
 
 
ebc95e2
dd7b4b2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25d52df
dd7b4b2
 
 
 
4302692
dd7b4b2
 
 
4302692
dd7b4b2
ebc95e2
dd7b4b2
 
 
 
 
 
 
ebc95e2
dd7b4b2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4302692
dd7b4b2
499b5b5
df0e2a7
dd7b4b2
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
import streamlit as st
import pandas as pd
from datetime import date

# 1. CORE CONFIG & STYLING
st.set_page_config(page_title="Sajha Pro 2026", page_icon="🇳🇵", layout="wide")

# 2. 2026 DATA ENGINE
npr_rate = 9.414  # Live Feb 2026
kurangi_deadline = date(2026, 4, 2)
site_deadline = date(2026, 6, 1)

# iBay Feb 2026 Rental Data
rentals = [
    {"Title": "2BR Apartment (No Lift)", "Price": 16000, "Loc": "Machchangolhi", "ID": "6472479"},
    {"Title": "1BR Apartment (AC)", "Price": 10500, "Loc": "Hulhumale P2", "ID": "6488093"},
    {"Title": "Shared Room (Male)", "Price": 3500, "Loc": "Male City", "ID": "iBay-Shared"}
]

# 3. SIDEBAR NAVIGATION
with st.sidebar:
    st.title("🇳🇵 Sajha Pro")
    menu = st.radio("Updates", ["🏠 Dashboard", "🏢 Housing (iBay)", "🚌 Ramadan Transit", "⚖️ Legal & 100 Scenarios", "🏥 Health & Insurance", "🧾 Bill Splitter"])
    st.markdown("---")
    st.caption("Consular Support: +94 11-268-9656")

# --- 1. DASHBOARD ---
if menu == "🏠 Dashboard":
    st.title("Sajha Connect Dashboard 🇲🇻")
    st.write(f"Today: {date.today().strftime('%B %d, 2026')}")
    
    c1, c2, c3 = st.columns(3)
    c1.metric("MVR to NPR", f"{npr_rate}", "Live")
    c2.metric("Kurangi Deadline", "Apr 2", f"{(kurangi_deadline - date.today()).days} Days")
    c3.metric("Worksite Update", "June 1", "Employer Deadline")

    st.error("🚨 **OPERATION KURANGI:** If you are undocumented, register before **April 2, 2026**. Biometrics are mandatory at the Ministry of Homeland Security.")
    st.info("📢 **Consular News:** The Feb 9, 2026 camp at Kamana Maalam provided medical and passport aid to hundreds. Stay tuned for the next camp.")

# --- 2. HOUSING (iBay Integration) ---
elif menu == "🏢 Housing (iBay)":
    st.header("🏠 Rental Finder (Feb 2026 Trends)")
    cols = st.columns(2)
    for i, r in enumerate(rentals):
        with cols[i % 2]:
            st.markdown(f"""
            <div style="border:2px solid #e0e0e0; padding:20px; border-radius:15px; background:white; margin-bottom:15px;">
                <h3 style="margin:0; color:#d32f2f;">{r['Title']}</h3>
                <p><b>📍 {r['Loc']}</b> | <b>MVR {r['Price']:,}</b></p>
                <small>Ref ID: {r['ID']} | Source: iBay.mv</small>
            </div>
            """, unsafe_allow_html=True)

# --- 3. RAMADAN TRANSIT ---
elif menu == "🚌 Ramadan Transit":
    st.header("🚌 RTL Bus & Ferry Ramadan Schedule")
    st.warning("⚠️ Peak Pause: Services halt during Iftar hours.")
    
    transit = {
        "Route": ["Male-Hulhumale Bus", "Male Internal Bus", "Hulhumale Internal", "Male-Airport Bus", "Hulhumale-Male Ferry"],
        "Pause Window": ["5:00 PM - 7:00 PM", "6:00 PM - 9:00 PM", "5:15 PM - 7:15 PM", "5:00 PM - 6:40 PM", "STOPS after 3:00 PM"]
    }
    st.table(pd.DataFrame(transit))

# --- 4. LEGAL & 100 SCENARIOS ---
elif menu == "⚖️ Legal & 100 Scenarios":
    st.header("⚖️ 100 Community Scenarios")
    with st.expander("Is there a ban on Nepali cashiers?"):
        st.write("Yes. Starting **Feb 5, 2027**, only Maldivians can work as cashiers. We recommend technical skill training now.")
    with st.expander("What happens if my employer doesn't update my Worksite by June 1?"):
        st.write("The employer's quota will be suspended, which may affect your work permit renewal.")

# --- 5. HEALTH & INSURANCE ---
elif menu == "🏥 Health & Insurance":
    st.header("🏥 Expat Health Benefits 2026")
    st.markdown("""
    | Benefit Type | Coverage Limit |
    | :--- | :--- |
    | **Inpatient (Hospital stay)** | MVR 100,000 |
    | **Outpatient (Consultation/Meds)** | MVR 2,000 |
    | **Repatriation (Death)** | MVR 100,000 |
    """)
    st.info("🏥 Top Hospitals: IGMH (Public), ADK (Private), Hulhumale Hospital.")

# --- 6. BILL SPLITTER ---
elif menu == "🧾 Bill Splitter":
    st.header("🧾 Shared Expense Splitter")
    colA, colB = st.columns(2)
    with colA:
        rent = st.number_input("Rent (MVR)", value=12000)
        elec = st.number_input("STELCO (Electricity)", value=1200)
    with colB:
        water = st.number_input("MWSC (Water)", value=400)
        heads = st.number_input("Number of People", min_value=1, value=4)
    
    st.success(f"### Total per person: MVR {(rent + elec + water) / heads:,.2f}")

if __name__ == "__main__":
    pass