Spaces:
Running on Zero
Running on Zero
feat(ui): drawer markup + header (hamburger / title / mode tag)
Browse files
app.py
CHANGED
|
@@ -308,33 +308,43 @@ _TOPAZ_THEME = gr.themes.Base(
|
|
| 308 |
|
| 309 |
def build_app() -> gr.Blocks:
|
| 310 |
with gr.Blocks(theme=_TOPAZ_THEME, title="LTX 2.3 Studio", css=_CUSTOM_CSS) as app:
|
| 311 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 312 |
|
| 313 |
with gr.Row(elem_classes=["aio-shell"]):
|
| 314 |
-
#
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
|
| 318 |
-
|
| 319 |
-
|
| 320 |
-
|
| 321 |
-
|
| 322 |
-
|
| 323 |
-
|
| 324 |
-
|
| 325 |
-
|
| 326 |
-
gr.Markdown("
|
| 327 |
model_status = gr.HTML(_render_model_status_idle(), elem_id="aio-model-status")
|
| 328 |
refresh_btn = gr.Button("Refresh", size="sm", variant="secondary")
|
| 329 |
unload_btn = gr.Button("Unload all models", size="sm", variant="secondary")
|
| 330 |
-
gr.Markdown("
|
| 331 |
gr.Markdown(
|
| 332 |
"Output: `comfyui/output/LTX2.3/`<br>"
|
| 333 |
-
"Set `LTX23_AIO_VRAM=lowvram|normalvram|highvram` to override
|
|
|
|
| 334 |
elem_classes=["aio-model-badge"],
|
| 335 |
)
|
| 336 |
|
| 337 |
-
# Body
|
| 338 |
with gr.Column(scale=4, elem_classes=["aio-body"]):
|
| 339 |
handles, tabs_component = _render_mode_panels()
|
| 340 |
|
|
|
|
| 308 |
|
| 309 |
def build_app() -> gr.Blocks:
|
| 310 |
with gr.Blocks(theme=_TOPAZ_THEME, title="LTX 2.3 Studio", css=_CUSTOM_CSS) as app:
|
| 311 |
+
# Header: hamburger checkbox (drives drawer via :checked + :has() in CSS),
|
| 312 |
+
# title, current-mode tag.
|
| 313 |
+
gr.HTML(
|
| 314 |
+
'<div class="aio-header">'
|
| 315 |
+
' <input type="checkbox" id="aio-ham-toggle" class="aio-ham-toggle">'
|
| 316 |
+
' <label for="aio-ham-toggle" class="aio-ham-label">≡</label>'
|
| 317 |
+
' <span class="aio-title">LTX 2.3 <span class="accent">Studio</span></span>'
|
| 318 |
+
' <span class="aio-mode-tag" id="aio-mode-tag">T2V</span>'
|
| 319 |
+
'</div>'
|
| 320 |
+
)
|
| 321 |
|
| 322 |
with gr.Row(elem_classes=["aio-shell"]):
|
| 323 |
+
# Drawer (drawer behaves as fixed sidebar ≥1024 px;
|
| 324 |
+
# absolute-positioned overlay <1024 px — see _CUSTOM_CSS).
|
| 325 |
+
with gr.Column(scale=1, min_width=200, elem_classes=["aio-drawer"]):
|
| 326 |
+
gr.Markdown("Modes", elem_classes=["aio-drawer-heading"])
|
| 327 |
+
mode_buttons = {
|
| 328 |
+
name: gr.Button(
|
| 329 |
+
f"{m.icon} {m.label}",
|
| 330 |
+
elem_classes=["aio-mode-btn"],
|
| 331 |
+
variant="secondary",
|
| 332 |
+
)
|
| 333 |
+
for name, m in modes.MODE_REGISTRY.items()
|
| 334 |
+
}
|
| 335 |
+
gr.Markdown("Models", elem_classes=["aio-drawer-heading"])
|
| 336 |
model_status = gr.HTML(_render_model_status_idle(), elem_id="aio-model-status")
|
| 337 |
refresh_btn = gr.Button("Refresh", size="sm", variant="secondary")
|
| 338 |
unload_btn = gr.Button("Unload all models", size="sm", variant="secondary")
|
| 339 |
+
gr.Markdown("Settings", elem_classes=["aio-drawer-heading"])
|
| 340 |
gr.Markdown(
|
| 341 |
"Output: `comfyui/output/LTX2.3/`<br>"
|
| 342 |
+
"Set `LTX23_AIO_VRAM=lowvram|normalvram|highvram` to override "
|
| 343 |
+
"the auto-detected VRAM tier.",
|
| 344 |
elem_classes=["aio-model-badge"],
|
| 345 |
)
|
| 346 |
|
| 347 |
+
# Body — unchanged, still hosts the 6 mode tabs.
|
| 348 |
with gr.Column(scale=4, elem_classes=["aio-body"]):
|
| 349 |
handles, tabs_component = _render_mode_panels()
|
| 350 |
|