diff --git a/webui.py b/webui.py index 42de606e..ef5b4044 100644 --- a/webui.py +++ b/webui.py @@ -1,22 +1,43 @@ - import gradio as gr -import shared +saved_character = {} -def save_character(character_description): - """Save the character globally""" - shared.saved_character = character_description - return f"Character saved: {character_description}" +def save_character_fn(image, prompt, seed): + global saved_character + saved_character = { + "image": image, + "prompt": prompt, + "seed": seed + } + print("💾 Character saved:", saved_character) + return "✅ Character saved!" -def launch_ui(): - with gr.Blocks() as ui: - gr.Markdown("### Character Persistence Feature") +def generate_fn(prompt, seed, use_saved): + if use_saved and saved_character: + prompt = saved_character.get("prompt", prompt) + seed = saved_character.get("seed", seed) + print("⚡ Using saved character:", prompt, seed) - character_input = gr.Textbox(label="Character Description") - save_button = gr.Button("Save Character") - save_status = gr.Textbox(label="Status", interactive=False) + return f"Generated image for: '{prompt}' with seed {seed}" # Replace with actual Fooocus function - save_button.click(fn=save_character, inputs=[character_input], outputs=[save_status]) - - # Existing UI components... +with gr.Blocks() as ui: + prompt_input = gr.Textbox(label="Prompt", value="a futuristic warrior") + seed_input = gr.Number(label="Seed", value=42) + use_saved_checkbox = gr.Checkbox(label="Use Saved Character", value=False) - ui.launch() + generate_btn = gr.Button("Generate") + image_output = gr.Textbox(label="Output Image Placeholder") + + with gr.Accordion("Advanced", open=False): + save_character_btn = gr.Button("💾 Save Character") + + generate_btn.click( + fn=generate_fn, + inputs=[prompt_input, seed_input, use_saved_checkbox], + outputs=[image_output] + ) + + save_character_btn.click( + fn=save_character_fn, + inputs=[image_output, prompt_input, seed_input], + outputs=[] + )