MecCogChallenge / app.py
Emma Scharfmann
fix email
b4450ab
Raw
History Blame Contribute Delete
1.15 kB
import gradio as gr
from components import leaderboard_page, challenge_page, faq
from components.submission import submission_page
from components.registration import registration_page
from about import CHALLENGE_NAME
PROBLEM_TYPES = ["hypothesis 1", "hypothesis 2", "hypothesis 3"]
def gradio_interface() -> gr.Blocks:
with gr.Blocks() as demo:
gr.Markdown(f"## Welcome to the {CHALLENGE_NAME}!")
active_tab = gr.BrowserState(0)
with gr.Tabs(elem_classes="tab-buttons") as tabs:
challenge_page.get_description(gr=gr)
registration_page.get_registration_page(gr=gr, demo=demo)
submission_page.get_submission_page(gr=gr, demo=demo)
faq.get_faq(gr=gr)
leaderboard_page.get_leaderboard(gr=gr)
def restore_tab(idx):
return gr.Tabs(selected=idx)
def save_tab(evt: gr.SelectData):
return evt.index
tabs.select(fn=save_tab, inputs=None, outputs=[active_tab])
demo.load(fn=restore_tab, inputs=[active_tab], outputs=[tabs])
return demo
if __name__ == "__main__":
gradio_interface().launch()