test123 / app.py
mrgalindo's picture
Update app.py
a54afc5 verified
raw
history blame
1.55 kB
import gradio as gr
from login import login
from protected_content import protected_content
def create_login_interface():
with gr.Column() as login_interface:
gr.Markdown("# Login")
username_input = gr.Textbox(label="Username")
password_input = gr.Textbox(label="Password", type="password")
login_button = gr.Button("Login")
result = gr.Textbox(label="Result")
return login_interface, username_input, password_input, login_button, result
def create_protected_interface():
with gr.Column(visible=False) as protected_interface:
gr.Markdown("# Protected Content")
content = gr.Textbox(label="Content", value=protected_content())
return protected_interface
# Main application
with gr.Blocks() as app:
login_interface, username_input, password_input, login_button, login_result = create_login_interface()
protected_interface = create_protected_interface()
def on_login_submit(username, password):
success, message = login(username, password)
if success:
return {
login_interface: gr.update(visible=False),
protected_interface: gr.update(visible=True),
login_result: gr.update(value="Login successful!")
}
else:
return {
login_result: gr.update(value=message)
}
login_button.click(
on_login_submit,
inputs=[username_input, password_input],
outputs=[login_interface, protected_interface, login_result]
)