Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| # هذا هو المكان الوحيد المسموح بوضع إعدادات الصفحة فيه | |
| # Streamlit يتطلب أن يكون هذا الأمر في بداية التطبيق وفي ملف واحد فقط | |
| st.set_page_config( | |
| page_title="نظام تحليل العقود والمناقصات", | |
| page_icon="📋", | |
| layout="wide", | |
| initial_sidebar_state="expanded", | |
| menu_items={ | |
| 'About': "تطبيق تحليل العقود والمناقصات بالذكاء الاصطناعي - إصدار 2.0", | |
| 'Get help': "https://www.wahbi-ai.com/help", | |
| 'Report a bug': "https://www.wahbi-ai.com/report-bug" | |
| } | |
| ) | |
| # باقي الاستيرادات عادي | |
| import os | |
| import sys | |
| from pathlib import Path | |
| # إضافة مسار المشروع الرئيسي إلى Python path | |
| ROOT_DIR = Path(__file__).parent | |
| sys.path.append(str(ROOT_DIR)) | |
| # استيراد الإعدادات | |
| import config | |
| # استيراد الوحدات | |
| from modules.projects.projects_app import ProjectsApp | |
| from modules.pricing.pricing_app import PricingApp | |
| from modules.resources.resources_app import ResourcesApp | |
| from modules.document_analysis.document_analysis_app import DocumentAnalysisApp | |
| from modules.risk_analysis.risk_analysis_app import RiskAnalysisApp | |
| from modules.reports.reports_app import ReportsApp | |
| from modules.ai_assistant.ai_assistant_app import AIAssistantApp | |
| # استيراد المكونات المشتركة | |
| from utils.components.sidebar import render_sidebar | |
| from utils.components.header import render_header | |
| from utils.session_state import initialize_session_state | |
| # تضمين CSS المخصص | |
| with open(os.path.join(ROOT_DIR, 'static', 'css', 'styles.css')) as f: | |
| st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True) | |
| # تهيئة حالة الجلسة | |
| initialize_session_state() | |
| # عرض ترويسة الصفحة | |
| render_header() | |
| # عرض الشريط الجانبي | |
| selected_module = render_sidebar() | |
| # تهيئة وحدات النظام | |
| modules = { | |
| "الرئيسية": None, # سيتم التعامل معها بشكل خاص | |
| "إدارة المشاريع": ProjectsApp(), | |
| "التسعير المتكاملة": PricingApp(), | |
| "الموارد والتكاليف": ResourcesApp(), | |
| "تحليل المستندات": DocumentAnalysisApp(), | |
| "تحليل المخاطر": RiskAnalysisApp(), | |
| "التقارير والتحليلات": ReportsApp(), | |
| "المساعد الذكي": AIAssistantApp() | |
| } | |
| # عرض الوحدة المختارة | |
| if selected_module == "الرئيسية": | |
| # عرض الصفحة الرئيسية | |
| st.markdown("<h1 class='main-title'>النظام الشامل لتحليل العقود والمناقصات بالذكاء الاصطناعي</h1>", unsafe_allow_html=True) | |
| # عرض لوحة معلومات عامة | |
| col1, col2, col3 = st.columns(3) | |
| with col1: | |
| st.info("#### المناقصات النشطة\n\n**15** مناقصة", icon="📝") | |
| with col2: | |
| st.success("#### المشاريع المرساة\n\n**8** مشاريع", icon="✅") | |
| with col3: | |
| st.warning("#### مناقصات قيد التسعير\n\n**5** مناقصات", icon="⏳") | |
| # عرض الابتكارات النظامية | |
| st.markdown("## الابتكارات النظامية") | |
| from utils.components.system_innovation import display_innovations | |
| display_innovations() | |
| # عرض المخطط العام للنظام | |
| st.markdown("## هيكل النظام") | |
| st.markdown(""" | |
| ```mermaid | |
| graph TD | |
| MAIN[النظام الشامل لتحليل العقود والمناقصات بالذكاء الاصطناعي] --> A | |
| MAIN --> B | |
| MAIN --> C | |
| MAIN --> D | |
| MAIN --> E | |
| MAIN --> F | |
| A[وحدة تحليل المستندات] | |
| B[وحدة التسعير المتكاملة] | |
| C[وحدة الموارد والتكاليف] | |
| D[وحدة تحليل المخاطر] | |
| E[وحدة إدارة المشاريع] | |
| F[وحدة التقارير والتحليلات] | |
| DB[(قاعدة البيانات المركزية)] --> A | |
| DB --> B | |
| DB --> C | |
| DB --> D | |
| DB --> E | |
| DB --> F | |
| AI{وحدة الذكاء الاصطناعي} --> A | |
| AI --> B | |
| AI --> F | |
| ``` | |
| """) | |
| # عرض معلومات الفريق | |
| st.markdown("## فريق التطوير") | |
| from utils.components.credits import display_credits | |
| display_credits() | |
| else: | |
| # عرض الوحدة المختارة | |
| module = modules.get(selected_module) | |
| if module: | |
| module.render() | |
| # إضافة تذييل الصفحة | |
| st.markdown("---") | |
| st.markdown("<div class='footer'>© 2025 شركة شبه الجزيرة للمقاولات - جميع الحقوق محفوظة</div>", unsafe_allow_html=True) |