# ui.py """Reusable Gradio components shared across modes.""" from __future__ import annotations import gradio as gr def preset_bar(label: str = "Preset") -> gr.Radio: """Fast / Balanced / Quality radio. Use as a single component.""" return gr.Radio( choices=["Fast", "Balanced", "Quality"], value="Balanced", label=label, container=True, info="Fast: distilled 8 steps · Balanced: two-stage 30+4 · Quality: HQ res_2s sampler", ) def status_banner() -> gr.HTML: """Status banner: stage chips + progress + memory.""" return gr.HTML( value=_render_idle(), elem_classes=["status-banner"], ) def _render_idle() -> str: return ( '