File size: 2,625 Bytes
795b8f0
2d99db8
7d2c991
 
 
 
 
 
795b8f0
 
 
 
2d99db8
7d2c991
 
795b8f0
 
 
d9ec965
 
2d99db8
d9ec965
2d99db8
795b8f0
 
 
 
2d99db8
 
795b8f0
 
2d99db8
7d2c991
2d99db8
795b8f0
 
 
2d99db8
 
795b8f0
 
 
 
2d99db8
795b8f0
7d2c991
795b8f0
 
 
 
 
 
7d2c991
2d99db8
 
795b8f0
2d99db8
795b8f0
2d99db8
795b8f0
d9ec965
2d99db8
 
 
7d2c991
 
 
 
 
795b8f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
"""DebugGenie Custom Theme for Gradio 6
"Onyx Pro" - Clean, professional, matte black theme.
"""
import gradio as gr

def create_debuggenie_theme():
    """Create the custom DebugGenie theme with professional dark mode."""
    
    # Base theme - using Soft as starting point for better defaults
    theme = gr.themes.Soft(
        primary_hue="blue",  # Professional blue for actions
        secondary_hue="zinc",  # Zinc for neutrals
        neutral_hue="zinc",
        font=gr.themes.GoogleFont("Inter"),
        font_mono=gr.themes.GoogleFont("JetBrains Mono"),
        spacing_size="md",
        radius_size="lg",
        text_size="md"
    )
    
    # Apply custom styling - Minimalist & Clean
    theme.set(
        # Backgrounds - Matte Black & Deep Zinc
        body_background_fill="#09090b",  # Zinc 950
        body_background_fill_dark="#09090b",
        block_background_fill="#18181b",  # Zinc 900
        block_background_fill_dark="#18181b",
        
        # Borders - Subtle and refined
        border_color_primary="#27272a",  # Zinc 800
        border_color_primary_dark="#27272a",
        block_border_width="1px",
        
        # Text - High contrast
        body_text_color="#f4f4f5",  # Zinc 100
        body_text_color_dark="#f4f4f5",
        body_text_color_subdued="#a1a1aa",  # Zinc 400
        
        # Buttons - Flat and clean
        button_primary_background_fill="#2563eb",  # Blue 600
        button_primary_background_fill_dark="#2563eb",
        button_primary_background_fill_hover="#1d4ed8",  # Blue 700
        button_primary_background_fill_hover_dark="#1d4ed8",
        button_primary_text_color="white",
        button_primary_text_color_dark="white",
        
        button_secondary_background_fill="#27272a",  # Zinc 800
        button_secondary_background_fill_dark="#27272a",
        button_secondary_background_fill_hover="#3f3f46",  # Zinc 700
        button_secondary_background_fill_hover_dark="#3f3f46",
        button_secondary_text_color="#e4e4e7",  # Zinc 200
        button_secondary_text_color_dark="#e4e4e7",
        
        # Inputs
        input_background_fill="#09090b",
        input_background_fill_dark="#09090b",
        input_border_color="#27272a",
        input_border_color_dark="#27272a",
        input_border_color_focus="#3b82f6",
        input_border_color_focus_dark="#3b82f6",
        
        # Shadows - Minimal
        shadow_drop="none",
        shadow_drop_lg="0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
    )
    
    return theme

# Create the theme instance
debuggenie_theme = create_debuggenie_theme()