| 103 | } |
| 104 | |
| 105 | fn apply_setu_teal_theme(cx: &mut App) { |
| 106 | let colors = SetuColors::teal(); |
| 107 | let theme = GpuiTheme::global_mut(cx); |
| 108 | |
| 109 | // Background colors |
| 110 | theme.background = colors.bg_primary; |
| 111 | theme.secondary = colors.bg_secondary; |
| 112 | theme.muted = colors.bg_tertiary; |
| 113 | |
| 114 | // Foreground/text colors |
| 115 | theme.foreground = colors.text_primary; |
| 116 | theme.secondary_foreground = colors.text_secondary; |
| 117 | theme.muted_foreground = colors.text_muted; |
| 118 | |
| 119 | // Border colors |
| 120 | theme.border = colors.border_primary; |
| 121 | theme.input = colors.border_secondary; |
| 122 | theme.ring = colors.border_focus; |
| 123 | |
| 124 | // Accent/primary colors |
| 125 | theme.primary = colors.accent; |
| 126 | theme.primary_hover = colors.accent_hover; |
| 127 | theme.primary_foreground = colors.text_primary; |
| 128 | // Keep transient selections restrained and neutral, like editor completion rows. |
| 129 | // Teal remains reserved for primary actions and focus. |
| 130 | theme.accent = hsla(240.0 / 360.0, 0.06, 0.19, 1.0); |
| 131 | theme.accent_foreground = colors.text_primary; |
| 132 | |
| 133 | // Semantic colors |
| 134 | theme.danger = colors.error; |
| 135 | theme.danger_foreground = colors.text_primary; |
| 136 | theme.danger_hover = colors.error; |
| 137 | theme.success = colors.success; |
| 138 | theme.success_foreground = colors.text_primary; |
| 139 | theme.warning = colors.warning; |
| 140 | theme.warning_foreground = colors.text_primary; |
| 141 | theme.info = colors.info; |
| 142 | theme.info_foreground = colors.text_primary; |
| 143 | |
| 144 | // Sidebar specific colors |
| 145 | theme.sidebar = colors.bg_secondary; |
| 146 | theme.sidebar_foreground = colors.text_primary; |
| 147 | theme.sidebar_border = colors.border_primary; |
| 148 | theme.sidebar_accent = colors.bg_tertiary; |
| 149 | theme.sidebar_accent_foreground = colors.text_primary; |
| 150 | theme.sidebar_primary = colors.accent; |
| 151 | theme.sidebar_primary_foreground = colors.text_primary; |
| 152 | |
| 153 | // Tab bar colors |
| 154 | theme.tab_bar = colors.bg_secondary; |
| 155 | theme.tab = colors.bg_tertiary; |
| 156 | theme.tab_foreground = colors.text_secondary; |
| 157 | theme.tab_active = colors.bg_tertiary; |
| 158 | theme.tab_active_foreground = colors.text_primary; |
| 159 | |
| 160 | // Title bar |
| 161 | theme.title_bar = colors.bg_secondary; |
| 162 | theme.title_bar_border = colors.border_primary; |