Spaces:
Sleeping
Sleeping
Maryam Ilka commited on
Update app.py
Browse files
app.py
CHANGED
|
@@ -8,8 +8,16 @@ import os
|
|
| 8 |
import json
|
| 9 |
import random
|
| 10 |
|
|
|
|
|
|
|
| 11 |
# تنظیمات اولیه
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
# ========== تنظیمات دیتا ==========
|
| 15 |
SHEET_ID = "1mmdWAyOCYq4yXMgP53Duq712AnlqZWLkfIo76JqM7wM"
|
|
@@ -106,38 +114,62 @@ st.markdown("""
|
|
| 106 |
padding-right: 15px;
|
| 107 |
border-right: 3px solid #6a0dad;
|
| 108 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
</style>
|
| 110 |
""", unsafe_allow_html=True)
|
| 111 |
|
| 112 |
# ========== توابع اصلی ==========
|
|
|
|
| 113 |
def create_ride_map():
|
| 114 |
-
"""ایجاد نقشه سفر با Folium"""
|
| 115 |
-
# مختصات تهران (میدان ونک تا میدان تجریش)
|
| 116 |
start_point = [35.7698, 51.4116] # میدان ونک
|
| 117 |
end_point = [35.8044, 51.4258] # میدان تجریش
|
| 118 |
|
| 119 |
m = folium.Map(location=[35.7871, 51.4187], zoom_start=13)
|
| 120 |
|
| 121 |
# اضافه کردن مبدأ و مقصد
|
| 122 |
-
folium.Marker(
|
| 123 |
-
|
| 124 |
-
popup="<b>مبدأ:</b> میدان ونک",
|
| 125 |
-
icon=folium.Icon(color="green", icon="flag", prefix="fa")
|
| 126 |
-
).add_to(m)
|
| 127 |
-
|
| 128 |
-
folium.Marker(
|
| 129 |
-
end_point,
|
| 130 |
-
popup="<b>مقصد:</b> میدان تجریش",
|
| 131 |
-
icon=folium.Icon(color="red", icon="flag", prefix="fa")
|
| 132 |
-
).add_to(m)
|
| 133 |
|
| 134 |
# خط مسیر
|
| 135 |
-
folium.PolyLine(
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 141 |
|
| 142 |
return m
|
| 143 |
|
|
@@ -302,14 +334,13 @@ def map_view():
|
|
| 302 |
folium_static(create_ride_map(), width=800, height=400)
|
| 303 |
|
| 304 |
st.markdown(f"""
|
| 305 |
-
|
| 306 |
-
|
| 307 |
-
|
| 308 |
-
|
| 309 |
-
</div>
|
| 310 |
</div>
|
| 311 |
-
|
| 312 |
-
|
| 313 |
show_explanation(st.session_state.scenario_type)
|
| 314 |
|
| 315 |
if st.button("درخواست راهیار", key="request_btn", type="primary"):
|
|
|
|
| 8 |
import json
|
| 9 |
import random
|
| 10 |
|
| 11 |
+
|
| 12 |
+
|
| 13 |
# تنظیمات اولیه
|
| 14 |
+
|
| 15 |
+
st.set_page_config(
|
| 16 |
+
layout="wide", # حالت گسترده برای همه دستگاهها
|
| 17 |
+
page_title="راهیار - تحلیل انصاف قیمتی",
|
| 18 |
+
page_icon="🚖",
|
| 19 |
+
initial_sidebar_state="auto" # تنظیم خودکار وضعیت نوار کناری
|
| 20 |
+
)
|
| 21 |
|
| 22 |
# ========== تنظیمات دیتا ==========
|
| 23 |
SHEET_ID = "1mmdWAyOCYq4yXMgP53Duq712AnlqZWLkfIo76JqM7wM"
|
|
|
|
| 114 |
padding-right: 15px;
|
| 115 |
border-right: 3px solid #6a0dad;
|
| 116 |
}
|
| 117 |
+
/* تنظیمات پایه برای همه دستگاهها */
|
| 118 |
+
* {
|
| 119 |
+
font-family: 'Vazir', sans-serif !important;
|
| 120 |
+
text-align: right !important;
|
| 121 |
+
direction: rtl !important;
|
| 122 |
+
box-sizing: border-box !important;
|
| 123 |
+
}
|
| 124 |
+
|
| 125 |
+
/* تنظیمات مخصوص موبایل */
|
| 126 |
+
@media only screen and (max-width: 768px) {
|
| 127 |
+
.rahyar-price {
|
| 128 |
+
font-size: 24px !important; /* کاهش اندازه فونت قیمت در موبایل */
|
| 129 |
+
}
|
| 130 |
+
.price-container {
|
| 131 |
+
padding: 10px !important; /* کاهش padding در موبایل */
|
| 132 |
+
}
|
| 133 |
+
.folium-map {
|
| 134 |
+
height: 300px !important; /* کاهش ارتفاع نقشه در موبایل */
|
| 135 |
+
}
|
| 136 |
+
}
|
| 137 |
+
|
| 138 |
+
/* تنظیمات مخصوص دسکتاپ */
|
| 139 |
+
@media only screen and (min-width: 769px) {
|
| 140 |
+
.folium-map {
|
| 141 |
+
height: 400px !important; /* ارتفاع ثابت برای دسکتاپ */
|
| 142 |
+
}
|
| 143 |
+
}
|
| 144 |
</style>
|
| 145 |
""", unsafe_allow_html=True)
|
| 146 |
|
| 147 |
# ========== توابع اصلی ==========
|
| 148 |
+
|
| 149 |
def create_ride_map():
|
|
|
|
|
|
|
| 150 |
start_point = [35.7698, 51.4116] # میدان ونک
|
| 151 |
end_point = [35.8044, 51.4258] # میدان تجریش
|
| 152 |
|
| 153 |
m = folium.Map(location=[35.7871, 51.4187], zoom_start=13)
|
| 154 |
|
| 155 |
# اضافه کردن مبدأ و مقصد
|
| 156 |
+
folium.Marker(start_point, popup="مبدأ: میدان ونک", icon=folium.Icon(color="green")).add_to(m)
|
| 157 |
+
folium.Marker(end_point, popup="مقصد: میدان تجریش", icon=folium.Icon(color="red")).add_to(m)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 158 |
|
| 159 |
# خط مسیر
|
| 160 |
+
folium.PolyLine([start_point, end_point], color="#6a0dad", weight=3).add_to(m)
|
| 161 |
+
|
| 162 |
+
# تنظیمات واکنشگرا برای نقشه
|
| 163 |
+
m.get_root().width = "100%"
|
| 164 |
+
m.get_root().height = "100%"
|
| 165 |
+
m.get_root().add_child(folium.Element("""
|
| 166 |
+
<style>
|
| 167 |
+
.folium-map {
|
| 168 |
+
width: 100% !important;
|
| 169 |
+
height: 100% !important;
|
| 170 |
+
}
|
| 171 |
+
</style>
|
| 172 |
+
"""))
|
| 173 |
|
| 174 |
return m
|
| 175 |
|
|
|
|
| 334 |
folium_static(create_ride_map(), width=800, height=400)
|
| 335 |
|
| 336 |
st.markdown(f"""
|
| 337 |
+
<div class="price-container" style="width: 100%;">
|
| 338 |
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
| 339 |
+
<span>راهیار <span class="rahyar-badge">به صرفه</span></span>
|
| 340 |
+
<span class="rahyar-price">{st.session_state.price:,} تومان</span>
|
|
|
|
| 341 |
</div>
|
| 342 |
+
</div>
|
| 343 |
+
""", unsafe_allow_html=True)
|
| 344 |
show_explanation(st.session_state.scenario_type)
|
| 345 |
|
| 346 |
if st.button("درخواست راهیار", key="request_btn", type="primary"):
|