File size: 2,974 Bytes
7da6612
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
from admin_dashboard import AdminDashboard
from banking_assistant import BankingAssistant
from banking_model import BankingModelTrainer
from ml_banking_model import MLBankingEngine

class BankingSystem:
    def __init__(self):
        self.ml_engine = MLBankingEngine()
        self.model_trainer = BankingModelTrainer()
        self.assistant = BankingAssistant()
        self.admin = AdminDashboard()
        self.setup_page_config()
        self.initialize_session_state()

    def setup_page_config(self):
        st.set_page_config(
            page_title="سیستم بانکداری هوشمند",
            page_icon="🏦",
            layout="wide",
            initial_sidebar_state="expanded"
        )

    def initialize_session_state(self):
        if 'theme' not in st.session_state:
            st.session_state.theme = 'light'
        if 'user_role' not in st.session_state:
            st.session_state.user_role = 'user'
        if 'authenticated' not in st.session_state:
            st.session_state.authenticated = False

    def render_login(self):
        st.markdown("""

            <div style='text-align: center; padding: 50px;'>

                <h1>🏦 سیستم بانکداری هوشمند</h1>

                <p>لطفا وارد شوید</p>

            </div>

        """, unsafe_allow_html=True)
        
        col1, col2, col3 = st.columns([1,2,1])
        with col2:
            username = st.text_input("نام کاربری")
            password = st.text_input("رمز عبور", type="password")
            
            if st.button("ورود"):
                if username == "admin" and password == "admin":
                    st.session_state.user_role = 'admin'
                    st.session_state.authenticated = True
                    st.experimental_rerun()
                elif username and password:
                    st.session_state.user_role = 'user'
                    st.session_state.authenticated = True
                    st.experimental_rerun()

    def render_header(self):
        st.markdown("""

            <div style='display: flex; justify-content: space-between; align-items: center; padding: 1rem; background: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1);'>

                <h2>🏦 سیستم بانکداری هوشمند</h2>

                <div>

                    <button onclick='logout()'>خروج</button>

                </div>

            </div>

        """, unsafe_allow_html=True)

    def main(self):
        if not st.session_state.authenticated:
            self.render_login()
        else:
            self.render_header()
            if st.session_state.user_role == 'admin':
                self.admin.render_dashboard()
            else:
                self.assistant.render_chat_interface()

if __name__ == "__main__":
    system = BankingSystem()
    system.main()