File size: 3,471 Bytes
740a11b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fb20480
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
"""
مكون الشريط الجانبي
"""

import streamlit as st
from datetime import datetime
import config
from streamlit_option_menu import option_menu


def render_sidebar():
    """
    عرض وإدارة الشريط الجانبي
    
    الإرجاع:
        اسم الوحدة المحددة
    """
    with st.sidebar:
        st.image("static/images/logo.png", width=250)
        
        # إنشاء قائمة الخيارات باستخدام مكتبة streamlit_option_menu
        selected_module = option_menu(
            "نظام العقود والمناقصات",
            [
                "الرئيسية",
                "إدارة المشاريع",
                "التسعير المتكاملة",
                "الموارد والتكاليف",
                "تحليل المستندات",
                "تحليل المخاطر",
                "التقارير والتحليلات",
                "المساعد الذكي"
            ],
            icons=[
                'house-fill',
                'folder-fill',
                'calculator-fill',
                'tools',
                'file-earmark-text-fill',
                'exclamation-triangle-fill',
                'bar-chart-fill',
                'robot'
            ],
            menu_icon="cast",
            default_index=0,
            styles={
                "container": {"padding": "5px", "background-color": "#f0f2f6", "direction": "rtl"},
                "icon": {"color": "orange", "font-size": "18px"},
                "nav-link": {"font-size": "14px", "text-align": "right", "margin": "0px"},
                "nav-link-selected": {"background-color": "#ff9a3c"},
            }
        )
        
        # إضافة فاصل
        st.markdown("---")
        
        # إضافة معلومات المشروع الحالي
        if 'current_project' in st.session_state and st.session_state.current_project:
            project = st.session_state.current_project
            
            st.markdown("### المشروع الحالي")
            st.markdown(f"**{project['name']}**")
            st.markdown(f"رقم المناقصة: {project['number']}")
            st.markdown(f"الجهة المالكة: {project['client']}")
            
            # إضافة زر للتبديل بين المشاريع
            if st.button("تبديل المشروع"):
                # لتنفيذ في مرحلة لاحقة
                pass
        
        # إضافة معلومات المستخدم
        if 'user_info' in st.session_state and st.session_state.user_info:
            user = st.session_state.user_info
            
            st.markdown("---")
            st.markdown("### معلومات المستخدم")
            st.markdown(f"**{user['full_name']}**")
            st.markdown(f"الدور: {user['role']}")
            
            # إضافة زر لتسجيل الخروج
            if st.button("تسجيل الخروج"):
                st.session_state.is_authenticated = False
                st.session_state.user_info = None
                st.rerun()
        
        # إضافة معلومات النسخة
        st.markdown("---")
        st.markdown(f"الإصدار: 1.0.0")
        st.markdown(f"تاريخ الإصدار: 2025-03-15")
        st.markdown(f"© 2025 شركة شبه الجزيرة للمقاولات")
    
    return selected_module