Xyro123 commited on
Commit
4b64f30
·
verified ·
1 Parent(s): a4a36e2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +72 -22
app.py CHANGED
@@ -1,40 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  with gr.Blocks(css=css) as app:
2
 
 
3
  with gr.Row(elem_classes="topbar"):
4
- gr.Markdown("### ZeppFusion AI")
5
- gr.Markdown("Login required")
6
 
7
  with gr.Row():
8
 
9
- # ==========================
10
- # ACCOUNT AREA (visible by default)
11
- # ==========================
12
  with gr.Column(scale=1, elem_classes="sidebar", visible=True) as account_area:
 
13
 
14
- gr.Markdown("## Account")
15
-
16
- username = gr.Textbox(label="Username")
17
- password = gr.Textbox(label="Password", type="password")
18
- login_status = gr.Textbox(label="Status", interactive=False)
19
- btn_login = gr.Button("Login")
20
 
21
  gr.Markdown("---")
22
- signup_user_t = gr.Textbox(label="New username")
23
- signup_pw = gr.Textbox(label="New password", type="password")
24
- signup_status = gr.Textbox(interactive=False)
25
- btn_signup = gr.Button("Create account")
26
 
27
- # ==========================
 
 
 
 
 
 
28
  # CHAT AREA (hidden at start)
29
- # ==========================
30
  with gr.Column(scale=3, visible=False) as chat_area:
 
31
  chatbot = gr.Chatbot(type="messages", height=500)
 
32
  with gr.Row():
33
  msg = gr.Textbox(placeholder="Асуултаа бичнэ үү…", lines=1)
34
  send = gr.Button("Send")
35
  clear_btn = gr.Button("Clear")
36
 
37
- # === EVENTS ===
38
  btn_signup.click(signup_user, [signup_user_t, signup_pw], signup_status)
39
 
40
  def do_login(u, p):
@@ -42,7 +90,7 @@ with gr.Blocks(css=css) as app:
42
  if result == "SUCCESS":
43
  return (
44
  "✅ Амжилттай нэвтэрлээ!",
45
- gr.update(visible=False), # hide account
46
  gr.update(visible=True) # show chat
47
  )
48
  else:
@@ -54,6 +102,8 @@ with gr.Blocks(css=css) as app:
54
  outputs=[login_status, account_area, chat_area]
55
  )
56
 
57
- msg.submit(chat_fn, [msg, chatbot], [chatbot, chatbot])
58
- send.click(chat_fn, [msg, chatbot], [chatbot, chatbot])
59
- clear_btn.click(lambda: [], None, chatbot)
 
 
 
1
+ import gradio as gr
2
+
3
+ # ==========================
4
+ # DATABASE (simple dictionary)
5
+ # ==========================
6
+ users = {}
7
+
8
+ def signup_user(username, password):
9
+ if username in users:
10
+ return "❌ Энэ нэрээр бүртгэлтэй хэрэглэгч байна!"
11
+ users[username] = password
12
+ return "✅ Амжилттай бүртгэл үүслээ!"
13
+
14
+ def check_login(username, password):
15
+ if username not in users:
16
+ return "❌ Хэрэглэгч олдсонгүй!"
17
+ if users[username] != password:
18
+ return "❌ Нууц үг буруу байна!"
19
+ return "SUCCESS"
20
+
21
+ # ==========================
22
+ # CHAT FUNCTION
23
+ # ==========================
24
+ def chat_fn(message, history):
25
+ if not message:
26
+ return history
27
+ history.append(("Та:", message))
28
+ history.append(("AI:", "📌 "+message+" → Хүлээн авлаа."))
29
+ return history
30
+
31
+
32
+ # ==========================
33
+ # CSS – илүү цэвэр загвар
34
+ # ==========================
35
+ css = """
36
+ .topbar {background:#181818;color:white;padding:12px;border-radius:12px;}
37
+ .card {border:1px solid #333;padding:18px;border-radius:12px;background:#222;}
38
+ .sidebar {background:#1c1c1c;padding:20px;border-radius:16px;}
39
+ """
40
+
41
+
42
+ # ==========================
43
+ # UI + Logic
44
+ # ==========================
45
  with gr.Blocks(css=css) as app:
46
 
47
+ # --- TOPBAR ---
48
  with gr.Row(elem_classes="topbar"):
49
+ gr.Markdown("## ZeppFusion AI")
50
+ gr.Markdown("### Login required")
51
 
52
  with gr.Row():
53
 
54
+ # ==========================================
55
+ # ACCOUNT AREA (shown first)
56
+ # ==========================================
57
  with gr.Column(scale=1, elem_classes="sidebar", visible=True) as account_area:
58
+ gr.Markdown("## 🔐 Нэвтрэх")
59
 
60
+ username = gr.Textbox(label="Хэрэглэгчийн нэр")
61
+ password = gr.Textbox(label="Нууц үг", type="password")
62
+ login_status = gr.Textbox(label="Төлөв", interactive=False)
63
+ btn_login = gr.Button("Нэвтрэх")
 
 
64
 
65
  gr.Markdown("---")
 
 
 
 
66
 
67
+ gr.Markdown("## 🆕 Бүртгүүлэх")
68
+ signup_user_t = gr.Textbox(label="Шинэ хэрэглэгч")
69
+ signup_pw = gr.Textbox(label="Шинэ нууц үг", type="password")
70
+ signup_status = gr.Textbox(label="Бүртгэлийн төлөв", interactive=False)
71
+ btn_signup = gr.Button("Бүртгэл үүсгэх")
72
+
73
+ # ==========================================
74
  # CHAT AREA (hidden at start)
75
+ # ==========================================
76
  with gr.Column(scale=3, visible=False) as chat_area:
77
+ gr.Markdown("## 💬 Chat")
78
  chatbot = gr.Chatbot(type="messages", height=500)
79
+
80
  with gr.Row():
81
  msg = gr.Textbox(placeholder="Асуултаа бичнэ үү…", lines=1)
82
  send = gr.Button("Send")
83
  clear_btn = gr.Button("Clear")
84
 
85
+ # =========== EVENTS ===========
86
  btn_signup.click(signup_user, [signup_user_t, signup_pw], signup_status)
87
 
88
  def do_login(u, p):
 
90
  if result == "SUCCESS":
91
  return (
92
  "✅ Амжилттай нэвтэрлээ!",
93
+ gr.update(visible=False), # hide login
94
  gr.update(visible=True) # show chat
95
  )
96
  else:
 
102
  outputs=[login_status, account_area, chat_area]
103
  )
104
 
105
+ msg.submit(chat_fn, [msg, chatbot], [chatbot])
106
+ send.click(chat_fn, [msg, chatbot], [chatbot])
107
+ clear_btn.click(lambda: [], None, chatbot)
108
+
109
+ app.launch()