| """Off-Brand Gradio theme for Small Cuts.""" |
|
|
| from __future__ import annotations |
|
|
| import gradio as gr |
|
|
| from .title_card import STYLE_CARDS |
|
|
| CANVAS = STYLE_CARDS["trailer"][0] |
| MARQUEE_GOLD = STYLE_CARDS["trailer"][1] |
| BONE_WHITE = STYLE_CARDS["noir"][1] |
| LIFTED_CANVAS = "#16161C" |
| BORDER = "#2A292F" |
|
|
|
|
| class OffBrand(gr.themes.Base): |
| """Dark cinematic Gradio theme using the Small Cuts house palette.""" |
|
|
| def __init__(self) -> None: |
| super().__init__( |
| font=[gr.themes.GoogleFont("Spectral"), "serif"], |
| font_mono=[gr.themes.GoogleFont("IBM Plex Mono"), "monospace"], |
| ) |
| self.set( |
| body_background_fill=CANVAS, |
| body_background_fill_dark=CANVAS, |
| body_text_color=BONE_WHITE, |
| body_text_color_dark=BONE_WHITE, |
| background_fill_primary=CANVAS, |
| background_fill_primary_dark=CANVAS, |
| background_fill_secondary=LIFTED_CANVAS, |
| background_fill_secondary_dark=LIFTED_CANVAS, |
| block_background_fill=LIFTED_CANVAS, |
| block_background_fill_dark=LIFTED_CANVAS, |
| block_border_color=BORDER, |
| block_border_color_dark=BORDER, |
| block_title_text_color=MARQUEE_GOLD, |
| block_title_text_color_dark=MARQUEE_GOLD, |
| border_color_primary=BORDER, |
| border_color_primary_dark=BORDER, |
| input_background_fill=STYLE_CARDS["noir"][0], |
| input_background_fill_dark=STYLE_CARDS["noir"][0], |
| input_background_fill_focus=CANVAS, |
| input_background_fill_focus_dark=CANVAS, |
| input_border_color=BORDER, |
| input_border_color_dark=BORDER, |
| link_text_color=MARQUEE_GOLD, |
| link_text_color_dark=MARQUEE_GOLD, |
| button_primary_background_fill=MARQUEE_GOLD, |
| button_primary_background_fill_dark=MARQUEE_GOLD, |
| button_primary_border_color=MARQUEE_GOLD, |
| button_primary_border_color_dark=MARQUEE_GOLD, |
| button_primary_text_color=CANVAS, |
| button_primary_text_color_dark=CANVAS, |
| button_secondary_background_fill=LIFTED_CANVAS, |
| button_secondary_background_fill_dark=LIFTED_CANVAS, |
| button_secondary_text_color=BONE_WHITE, |
| button_secondary_text_color_dark=BONE_WHITE, |
| button_secondary_border_color=BORDER, |
| button_secondary_border_color_dark=BORDER, |
| |
| |
| code_background_fill=STYLE_CARDS["noir"][0], |
| code_background_fill_dark=STYLE_CARDS["noir"][0], |
| block_label_text_color=MARQUEE_GOLD, |
| block_label_text_color_dark=MARQUEE_GOLD, |
| block_label_background_fill=LIFTED_CANVAS, |
| block_label_background_fill_dark=LIFTED_CANVAS, |
| ) |
|
|
|
|
| def build_theme() -> gr.themes.Base: |
| return OffBrand() |
|
|