g1a / modules /ui /views /login_view.py
AIdeaText's picture
Update modules/ui/views/login_view.py
8775f6b verified
# modules/ui/views/login_view.py
import gradio as gr
from ...auth.auth import authenticate_user
def create_login_view():
"""Crea la vista de login"""
with gr.Blocks() as view:
username = gr.Textbox(label="Usuario")
password = gr.Textbox(label="Contraseña", type="password")
message = gr.Markdown()
login_button = gr.Button("Iniciar Sesión", variant="primary")
# Asignar los componentes al view para acceso externo
view.username = username
view.role = gr.State("") # Para almacenar el rol después del login
def handle_login(user, pwd):
success, role = authenticate_user(user, pwd)
if success:
view.role.value = role
return user, role, ""
return None, None, "Credenciales incorrectas"
login_button.click(
fn=handle_login,
inputs=[username, password],
outputs=[username, view.role, message]
)
return view, login_button