nagasurendra commited on
Commit
3fa4c7d
·
verified ·
1 Parent(s): 85d27e3

Create components/login_signup.py

Browse files
Files changed (1) hide show
  1. components/login_signup.py +44 -0
components/login_signup.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from utils.excel_operations import read_excel, write_excel
3
+ from utils.state_management import state
4
+
5
+ def login_signup():
6
+ def authenticate(email, password):
7
+ customers = read_excel('data/customers.xlsx')
8
+ user = customers.get(email)
9
+ if user and user['Password'] == password:
10
+ state["user"] = user
11
+ return "Login Successful!"
12
+ return "Invalid credentials!"
13
+
14
+ def register(name, email, password, preferences, allergies, occasion):
15
+ customers = read_excel('data/customers.xlsx')
16
+ if email in customers:
17
+ return "Email already exists!"
18
+ customers[email] = {
19
+ "Name": name, "Password": password, "Preferences": preferences,
20
+ "Allergies": allergies, "Occasion": occasion
21
+ }
22
+ write_excel('data/customers.xlsx', customers)
23
+ return "Registration Successful!"
24
+
25
+ with gr.Group():
26
+ with gr.Box():
27
+ gr.Markdown("### Login")
28
+ email = gr.Textbox(label="Email")
29
+ password = gr.Textbox(label="Password", type="password")
30
+ login_btn = gr.Button("Login")
31
+ login_result = gr.Label()
32
+ login_btn.click(authenticate, inputs=[email, password], outputs=login_result)
33
+
34
+ with gr.Box():
35
+ gr.Markdown("### Register")
36
+ name = gr.Textbox(label="Name")
37
+ reg_email = gr.Textbox(label="Email")
38
+ reg_password = gr.Textbox(label="Password", type="password")
39
+ preferences = gr.Dropdown(["Vegetarian", "Vegan", "Halal", "Full Menu"], label="Preferences")
40
+ allergies = gr.Textbox(label="Allergies (comma-separated)")
41
+ occasion = gr.Textbox(label="Special Occasion")
42
+ register_btn = gr.Button("Register")
43
+ register_result = gr.Label()
44
+ register_btn.click(register, inputs=[name, reg_email, reg_password, preferences, allergies, occasion], outputs=register_result)