aboutsummaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-01-20 00:16:14 -0800
committerFuwn <[email protected]>2026-01-20 00:16:14 -0800
commite09fc2af31bf99698d203d0a03e78735b4d5a6b2 (patch)
tree08b2077a70795ad518dc3b785f372190c8251c1f /internal/server
parentfeat: Improve theme CSS mappings for comprehensive styling (diff)
downloadkaze-e09fc2af31bf99698d203d0a03e78735b4d5a6b2.tar.xz
kaze-e09fc2af31bf99698d203d0a03e78735b4d5a6b2.zip
refactor: Use CSS variable overrides for proper theme integration
Instead of trying to override individual Tailwind classes (which was fragile and incomplete), now properly override Kaze's root CSS variables (--bg-primary, --status-ok, etc.) to use OpenCode theme values. This works because style.css already maps all Tailwind classes to these CSS variables, so overriding the variables automatically themes everything. The theme flow is now: 1. OpenCode theme defines: --theme-background, --theme-success, etc. 2. Override CSS redefines: --bg-primary = var(--theme-background), etc. 3. style.css classes use: background: var(--bg-primary), etc. This approach is much cleaner and ensures complete, consistent theming.
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/server.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/internal/server/server.go b/internal/server/server.go
index 6d76fa0..8d491dc 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -199,8 +199,8 @@ func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) {
if err != nil {
s.logger.Warn("failed to load theme", "url", s.config.Site.ThemeURL, "error", err)
} else if resolvedTheme != nil {
- // Generate CSS variables and Tailwind mappings
- cssString := resolvedTheme.GenerateCSS() + resolvedTheme.GenerateTailwindMappings()
+ // Generate CSS: theme variables + override Kaze's CSS variables
+ cssString := resolvedTheme.GenerateCSS() + resolvedTheme.GenerateVariableOverrides()
themeCSS = template.CSS(cssString)
}
}