import gradio as gr # Функция для смены вкладки def change_tab(id): return gr.Tabs(selected=id) with gr.Blocks() as demo: with gr.Tabs() as tabs: # Вкладка 1: Исходные данные with gr.TabItem("Исходные данные", id=0): with gr.Row(): with gr.Column(): desc = gr.Textbox(label="Описание предложения", lines=5) # Увеличенная высота benefits = gr.Textbox(label="Преимущества", lines=5) # Увеличенная высота key_message = gr.Textbox(label="Ключевое сообщение", lines=5) # Увеличенная высота with gr.Column(): gender = gr.Dropdown(label="Пол", choices=["Мужчина", "Женщина", "Не указан"]) generation = gr.Dropdown(label="Поколение", choices=["Поколение Z", "Миллениалы", "Поколение X", "Бэби-бумеры"]) psychotype = gr.Textbox(label="Психотип") business_stage = gr.Textbox(label="Стадия бизнеса") industry = gr.Textbox(label="Отрасль") opf = gr.Textbox(label="ОПФ") btn_to_prompts = gr.Button("Создать") btn_to_prompts.click(fn=change_tab, inputs=[gr.Number(value=1, visible=False)], outputs=tabs) # Вкладка 2: Промпты with gr.TabItem("Ассистент", id=1): with gr.Row(): with gr.Column(): non_personalized_prompt = gr.Textbox(label="Задание для копирайтера", lines=25) # Увеличенная высота with gr.Column(): personalized_prompt = gr.Textbox(label="Задание для редактора", lines=25) # Увеличенная высота # Вкладка 3: Сообщения with gr.TabItem("Сообщения", id=2): # Заголовки столбцов with gr.Row(): gr.Markdown("### Копирайтер") # Название для столбца "Копирайтер" gr.Markdown("### Редактор") # Название для столбца "Редактор" # Первый ряд with gr.Row(): non_personalized_1 = gr.Textbox(label="Стандартное сообщение 1", lines=4, interactive=False) personalized_1 = gr.Textbox(label="Персонализированное сообщение 1", lines=4, interactive=False) # Второй ряд with gr.Row(): non_personalized_2 = gr.Textbox(label="Стандартное сообщение 2", lines=4, interactive=False) personalized_2 = gr.Textbox(label="Персонализированное сообщение 2", lines=4, interactive=False) # Третий ряд with gr.Row(): non_personalized_3 = gr.Textbox(label="Стандартное сообщение 3", lines=4, interactive=False) personalized_3 = gr.Textbox(label="Персонализированное сообщение 3", lines=4, interactive=False) # Четвертый ряд with gr.Row(): btn_check = gr.Button("Проверить", elem_id="check3") btn_check.click(fn=change_tab, inputs=[gr.Number(value=3, visible=False)], outputs=tabs) # Вкладка 4: Проверка with gr.TabItem("Проверка", id=3): selected_message = gr.Textbox(label="Выбранное сообщение", lines=4) # Увеличенная высота check_results = gr.Textbox(label="Результаты проверки", lines=4) # Увеличенная высота demo.launch()