Spaces:
Running
Running
import gradio as gr | |
from ctag import MODELS, DEFAULT_DF, search_char_dict, on_select_df | |
CSS = """ | |
.title { font-size: 3em; align-items: center; text-align: center; } | |
.info { align-items: center; text-align: center; } | |
img[src*="#center"] { display: block; margin: auto; } | |
""" | |
with gr.Blocks(fill_width=True, css=CSS) as app: | |
gr.Markdown("## π Text Search for Animagine / Illustrious / NoobAI XL tag characters", elem_classes="title") | |
with gr.Column(): | |
with gr.Group(): | |
with gr.Row(equal_height=True): | |
with gr.Column(scale=2): | |
search_input = gr.Textbox(label="Search for characters or series:", placeholder="sousou no frieren") | |
search_detail = gr.Checkbox(label="Show character detail", value=True) | |
search_model = gr.CheckboxGroup(label="Models", choices=MODELS, value=MODELS, scale=1) | |
with gr.Group(): | |
with gr.Row(equal_height=True): | |
search_tag = gr.Textbox(label="Output tag", value="", show_copy_button=True, interactive=False) | |
search_md = gr.Markdown("<br><br><br>", elem_classes="info") | |
search_output = gr.Dataframe(label="Select character", value=DEFAULT_DF, type="pandas", wrap=True, interactive=False) | |
gr.on(triggers=[search_input.change, search_model.change], fn=search_char_dict, | |
inputs=[search_input, search_model], outputs=[search_output], trigger_mode="always_last") | |
search_output.select(on_select_df, [search_output, search_detail], [search_tag, search_md]) | |
app.launch(ssr_mode=False) | |