nagasurendra commited on
Commit
efde79f
·
verified ·
1 Parent(s): 507bf03

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -10
app.py CHANGED
@@ -278,8 +278,13 @@ def app():
278
  # State variable to track the current page
279
  current_page = gr.State("signup") # Default page is Signup
280
 
281
- # Signup Page
282
- with gr.Row(visible=lambda state: state == "signup", state=current_page):
 
 
 
 
 
283
  gr.Markdown("### Signup Page")
284
  name = gr.Textbox(label="Name")
285
  phone = gr.Textbox(label="Phone Number")
@@ -291,16 +296,19 @@ def app():
291
  # Signup callback
292
  def handle_signup(name, phone, email, password):
293
  message, next_page = signup_user(name, phone, email, password)
294
- return message, next_page
 
 
 
295
 
296
  signup_btn.click(
297
  handle_signup,
298
  inputs=[name, phone, email, password],
299
- outputs=[signup_message, current_page],
300
  )
301
 
302
- # Login Page
303
- with gr.Row(visible=lambda state: state == "login", state=current_page):
304
  gr.Markdown("### Login Page")
305
  login_email = gr.Textbox(label="Email")
306
  login_password = gr.Textbox(label="Password", type="password")
@@ -310,16 +318,19 @@ def app():
310
  # Login callback
311
  def handle_login(email, password):
312
  message, next_page = login_user(email, password)
313
- return message, next_page
 
 
 
314
 
315
  login_btn.click(
316
  handle_login,
317
  inputs=[login_email, login_password],
318
- outputs=[login_message, current_page],
319
  )
320
 
321
- # Menu Page
322
- with gr.Row(visible=lambda state: state == "menu", state=current_page):
323
  gr.Markdown("### Menu Page (Accessible Only After Login)")
324
 
325
  # Radio button for selecting preference
 
278
  # State variable to track the current page
279
  current_page = gr.State("signup") # Default page is Signup
280
 
281
+ # Components for pages
282
+ signup_page = gr.Column(visible=True)
283
+ login_page = gr.Column(visible=False)
284
+ menu_page = gr.Column(visible=False)
285
+
286
+ # Signup Page Logic
287
+ with signup_page:
288
  gr.Markdown("### Signup Page")
289
  name = gr.Textbox(label="Name")
290
  phone = gr.Textbox(label="Phone Number")
 
296
  # Signup callback
297
  def handle_signup(name, phone, email, password):
298
  message, next_page = signup_user(name, phone, email, password)
299
+ # Update visibility for redirection
300
+ if next_page == "login":
301
+ return gr.update(visible=False), gr.update(visible=True), gr.update(visible=False), message
302
+ return gr.update(), gr.update(), gr.update(), message
303
 
304
  signup_btn.click(
305
  handle_signup,
306
  inputs=[name, phone, email, password],
307
+ outputs=[signup_page, login_page, menu_page, signup_message],
308
  )
309
 
310
+ # Login Page Logic
311
+ with login_page:
312
  gr.Markdown("### Login Page")
313
  login_email = gr.Textbox(label="Email")
314
  login_password = gr.Textbox(label="Password", type="password")
 
318
  # Login callback
319
  def handle_login(email, password):
320
  message, next_page = login_user(email, password)
321
+ # Update visibility for redirection
322
+ if next_page == "menu":
323
+ return gr.update(visible=False), gr.update(visible=False), gr.update(visible=True), message
324
+ return gr.update(), gr.update(), gr.update(), message
325
 
326
  login_btn.click(
327
  handle_login,
328
  inputs=[login_email, login_password],
329
+ outputs=[signup_page, login_page, menu_page, login_message],
330
  )
331
 
332
+ # Menu Page Logic
333
+ with menu_page:
334
  gr.Markdown("### Menu Page (Accessible Only After Login)")
335
 
336
  # Radio button for selecting preference