AIdeaText commited on
Commit
8775f6b
verified
1 Parent(s): 4885161

Update modules/ui/views/login_view.py

Browse files
Files changed (1) hide show
  1. modules/ui/views/login_view.py +25 -38
modules/ui/views/login_view.py CHANGED
@@ -1,43 +1,30 @@
1
- # modules/ui/views/login.py
2
  import gradio as gr
3
  from ...auth.auth import authenticate_user
4
 
5
- class LoginView:
6
- def __init__(self):
7
- with gr.Blocks() as self.view:
8
- with gr.Column():
9
- gr.Markdown("# Iniciar Sesi贸n")
10
- self.username = gr.Textbox(label="Usuario")
11
- self.password = gr.Textbox(
12
- label="Contrase帽a",
13
- type="password"
14
- )
15
- self.role = gr.State()
16
- self.message = gr.Markdown()
17
-
18
- with gr.Row():
19
- self.back_button = gr.Button("Volver")
20
- self.login_button = gr.Button(
21
- "Iniciar Sesi贸n",
22
- variant="primary"
23
- )
24
-
25
- def handle_login(username, password):
26
- success, role = authenticate_user(username, password)
27
- if success:
28
- self.role.value = role
29
- return username, role, ""
30
- return None, None, "Credenciales incorrectas"
31
-
32
- self.login_button.click(
33
- fn=handle_login,
34
- inputs=[self.username, self.password],
35
- outputs=[self.username, self.role, self.message]
36
- )
37
 
38
- @property
39
- def submit(self):
40
- return self.login_button.click
 
 
 
 
 
 
 
41
 
42
- def create_login_view():
43
- return LoginView().view
 
 
 
 
 
 
1
+ # modules/ui/views/login_view.py
2
  import gradio as gr
3
  from ...auth.auth import authenticate_user
4
 
5
+ def create_login_view():
6
+ """Crea la vista de login"""
7
+ with gr.Blocks() as view:
8
+ username = gr.Textbox(label="Usuario")
9
+ password = gr.Textbox(label="Contrase帽a", type="password")
10
+ message = gr.Markdown()
11
+ login_button = gr.Button("Iniciar Sesi贸n", variant="primary")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
+ # Asignar los componentes al view para acceso externo
14
+ view.username = username
15
+ view.role = gr.State("") # Para almacenar el rol despu茅s del login
16
+
17
+ def handle_login(user, pwd):
18
+ success, role = authenticate_user(user, pwd)
19
+ if success:
20
+ view.role.value = role
21
+ return user, role, ""
22
+ return None, None, "Credenciales incorrectas"
23
 
24
+ login_button.click(
25
+ fn=handle_login,
26
+ inputs=[username, password],
27
+ outputs=[username, view.role, message]
28
+ )
29
+
30
+ return view, login_button