import gradio as gr

from pages.arena import create_arena
from pages.summarization_playground import create_summarization_interface
from pages.leaderboard import create_leaderboard
from pages.batch_evaluation import create_batch_evaluation_interface

def welcome_message():
    return """## Clinical Dialogue Summarization

This application is for **display** and is designed to facilitate **fast prototyping** and **experimentation.**

Select a demo from the sidebar below to begin experimentation."""

with gr.Blocks() as demo:
    with gr.Column(scale=4):
        content = content = gr.Blocks(
            gr.Markdown(
                welcome_message()
            )
        )

        with gr.Tabs() as tabs:
            with gr.TabItem("Summarization"):
                create_summarization_interface()
            with gr.TabItem("Leaderboard"):
                create_leaderboard()
            with gr.TabItem("Batch_Evaluation"):
                create_batch_evaluation_interface()
            with gr.TabItem("Demo_of_Streaming"):
                create_arena()


if __name__ == "__main__":
    demo.launch()