Spaces:
Sleeping
Sleeping
| import os | |
| import gradio as gr | |
| def enable_second_task(secret): | |
| if secret == os.environ["SECRET_KEY"]: | |
| return [ | |
| gr.Textbox.update(visible=False), | |
| gr.HTML.update(visible=False), | |
| gr.Button.update(visible=False), | |
| gr.Textbox.update(visible=True), | |
| gr.Textbox.update(visible=True), | |
| gr.Button.update(visible=True) | |
| ] | |
| return [ | |
| gr.Textbox.update(value="", visible=True), | |
| gr.HTML.update(visible=True), | |
| gr.Button.update(visible=True), | |
| gr.Textbox.update(visible=False), | |
| gr.Textbox.update(visible=False), | |
| gr.Button.update(visible=False) | |
| ] | |
| def greet(name): | |
| return "Hello " + name + "!!" | |
| demo = gr.Blocks() | |
| with demo: | |
| # Authentication | |
| secret_textbox = gr.Textbox( | |
| placeholder="Enter secret key", label="Secret", show_label=True, | |
| max_lines=1 | |
| ) | |
| error_message = gr.HTML( | |
| "<span style=\"color: red;\">Wrong secret key. Please retry</span>", | |
| visible=False | |
| ) | |
| secret_button = gr.Button("Submit") | |
| # Demo logic | |
| name_textbox = gr.Textbox( | |
| placeholder="Name", label="Name", show_label=True, visible=False | |
| ) | |
| greet_textbox = gr.Textbox( | |
| placeholder="", label="Output", show_label=True, visible=False | |
| ) | |
| greet_button = gr.Button("Greet", visible=False) | |
| # Event handling | |
| secret_textbox.submit( | |
| enable_second_task, | |
| secret_textbox, | |
| [secret_textbox, error_message, secret_button, | |
| name_textbox, greet_textbox, greet_button] | |
| ) | |
| secret_button.click( | |
| enable_second_task, | |
| secret_textbox, | |
| [secret_textbox, error_message, secret_button, | |
| name_textbox, greet_textbox, greet_button] | |
| ) | |
| greet_button.click(greet, name_textbox, greet_textbox) | |
| demo.launch() | |