Spaces:
Sleeping
Sleeping
Create web/components/sidebar.py
Browse files- web/components/sidebar.py +82 -0
web/components/sidebar.py
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import datetime
|
3 |
+
|
4 |
+
def create_sidebar():
|
5 |
+
"""
|
6 |
+
إنشاء الشريط الجانبي للتطبيق
|
7 |
+
"""
|
8 |
+
with st.sidebar:
|
9 |
+
# شعار الشركة والعنوان
|
10 |
+
st.image("https://via.placeholder.com/150x100?text=شعار+الشركة", width=150)
|
11 |
+
st.title("نظام تحليل المناقصات")
|
12 |
+
st.markdown("---")
|
13 |
+
|
14 |
+
# معلومات المستخدم
|
15 |
+
user_info = st.session_state.user_info
|
16 |
+
st.markdown(f"**مرحباً، {user_info['user_name']}**")
|
17 |
+
st.markdown(f"**الشركة:** {user_info['company']}")
|
18 |
+
st.markdown(f"**الدور:** {user_info['role']}")
|
19 |
+
st.markdown("---")
|
20 |
+
|
21 |
+
# القائمة الرئيسية
|
22 |
+
st.subheader("القائمة الرئيسية")
|
23 |
+
page = st.radio(
|
24 |
+
"اختر الصفحة:",
|
25 |
+
[
|
26 |
+
"الرئيسية",
|
27 |
+
"تحليل المناقصات",
|
28 |
+
"تحليل المتطلبات",
|
29 |
+
"تقدير التكاليف",
|
30 |
+
"تحليل المخاطر",
|
31 |
+
"الجدول الزمني",
|
32 |
+
"المحتوى المحلي",
|
33 |
+
"سلاسل الإمداد",
|
34 |
+
"المشتريات",
|
35 |
+
"الموردون والمقاولون",
|
36 |
+
"المشاريع المستقبلية",
|
37 |
+
"توقع احتمالية النجاح",
|
38 |
+
"التقارير"
|
39 |
+
]
|
40 |
+
)
|
41 |
+
|
42 |
+
st.markdown("---")
|
43 |
+
|
44 |
+
# أدوات إضافية
|
45 |
+
st.subheader("أدوات")
|
46 |
+
|
47 |
+
# أداة تحديد الفترة الزمنية
|
48 |
+
st.markdown("**فلترة حسب التاريخ**")
|
49 |
+
|
50 |
+
today = datetime.date.today()
|
51 |
+
start_date = st.date_input(
|
52 |
+
"من تاريخ:",
|
53 |
+
today.replace(month=1, day=1)
|
54 |
+
)
|
55 |
+
|
56 |
+
end_date = st.date_input(
|
57 |
+
"إلى تاريخ:",
|
58 |
+
today
|
59 |
+
)
|
60 |
+
|
61 |
+
# قسم البحث
|
62 |
+
st.markdown("**بحث عن مناقصة**")
|
63 |
+
search_query = st.text_input("أدخل رقم المناقصة أو الكلمات المفتاحية")
|
64 |
+
|
65 |
+
if st.button("بحث"):
|
66 |
+
st.session_state.search_query = search_query
|
67 |
+
|
68 |
+
st.markdown("---")
|
69 |
+
|
70 |
+
# معلومات النظام
|
71 |
+
st.markdown("**معلومات النظام**")
|
72 |
+
st.text(f"الإصدار: {st.session_state.config.get('app', {}).get('version', '1.0.0')}")
|
73 |
+
st.text(f"تاريخ اليوم: {today.strftime('%Y-%m-%d')}")
|
74 |
+
|
75 |
+
# حقوق النشر
|
76 |
+
st.markdown("---")
|
77 |
+
st.markdown("© 2025 شركة شبه الجزيرة للمقاولات")
|
78 |
+
|
79 |
+
# تحديث حالة الصفحة
|
80 |
+
st.session_state.page = page
|
81 |
+
|
82 |
+
return page
|