| """M08 — Gradio theme definitions. |
| |
| Spec: docs/M08-ui.md §7 |
| |
| Two themes: |
| hearthnet_theme — default purple/dark theme used at all times |
| emergency_theme — red-accent override shown in emergency mode |
| """ |
|
|
| from __future__ import annotations |
|
|
| try: |
| import gradio as gr |
|
|
| hearthnet_theme = gr.themes.Soft( |
| primary_hue="purple", |
| secondary_hue="violet", |
| neutral_hue="slate", |
| font=[gr.themes.GoogleFont("Inter"), "ui-sans-serif", "system-ui", "sans-serif"], |
| ).set( |
| |
| body_background_fill="#e6e6f1", |
| body_background_fill_dark="#0f0f1a", |
| block_background_fill="#d2d8e8", |
| block_border_color="#7c3aed", |
| button_primary_background_fill="#7c3aed", |
| button_primary_background_fill_hover="#6d28d9", |
| button_primary_text_color="#ffffff", |
| input_background_fill="#d7dee7", |
| ) |
|
|
| emergency_theme = gr.themes.Soft( |
| primary_hue="red", |
| secondary_hue="orange", |
| neutral_hue="zinc", |
| font=[gr.themes.GoogleFont("Inter"), "ui-sans-serif", "system-ui", "sans-serif"], |
| ).set( |
| body_background_fill="#1a0a0a", |
| body_background_fill_dark="#0f0505", |
| block_background_fill="#2d0000", |
| block_border_color="#dc2626", |
| button_primary_background_fill="#dc2626", |
| button_primary_background_fill_hover="#b91c1c", |
| button_primary_text_color="#ffffff", |
| input_background_fill="#1f0000", |
| ) |
|
|
| except ImportError: |
| |
| hearthnet_theme = None |
| emergency_theme = None |
|
|
| __all__ = ["emergency_theme", "hearthnet_theme"] |
|
|