import gradio as gr
from chat import gradio as chat
from ner import gradio as ner
from math_demo import gradio as math_demo
from bash import gradio as bash
from pal import gradio as pal
from gatsby import gradio as gatsby
from qa import gradio as qa
from stats import gradio as stats
from selfask import gradio as selfask
from backtrack import gradio as backtrack
from table import gradio as table
from gradio_example import gradio as gradio_example

CSS = """
#clean div.form {border: 0px} 
#response {border: 0px; background: #ffeec6} 
#prompt {border: 0px;background: aliceblue} 
div.gradio-container {color: black}
span.head {font-size: 60pt; font-family: cursive;}
body {
  --text-sm: 12px;
  --text-md: 16px;
  --text-lg: 18px;
  --input-text-size: 16px;
  --section-text-size: 16px;
}
"""



with gr.Blocks(css=CSS, theme=gr.themes.Monochrome()) as demo:
    gr.HTML("<center style='background:#B6B7BA'> <span class='head'>Mini</span><img src='https://user-images.githubusercontent.com/35882/227017900-0cacdfb7-37e2-47b1-9347-a233810d3544.png' width='20%' style='display:inline'><span class='head'>Chain</span></center><center> <br><a href='https://github.com/srush/minichain'>[library]</a> </center>")

    gr.TabbedInterface([math_demo, qa,  chat, gatsby,  ner, bash, pal, table, gradio_example, stats, selfask, backtrack],
                       ["Math", "QA", "Chat", "Book", "NER", "Bash", "PAL", "Table", "Gradio", "Stats", "SelfAsk", "Backtrack"],
                       css = CSS)

demo.queue().launch()