diff --git a/pkg/appview/handlers/settings.go b/pkg/appview/handlers/settings.go
index 75199f6..7813a10 100644
--- a/pkg/appview/handlers/settings.go
+++ b/pkg/appview/handlers/settings.go
@@ -37,20 +37,21 @@ type SettingsHandler struct {
}
// settingsTab describes a tab entry rendered in the tablist.
+// Icons live in the template (settings.html) so the icon-sprite generator
+// — which only scans templates and JS — can discover them.
type settingsTab struct {
Slug string
Label string
- Icon string
}
func settingsTabs() []settingsTab {
return []settingsTab{
- {Slug: "user", Label: "User", Icon: "user"},
- {Slug: "billing", Label: "Billing", Icon: "credit-card"},
- {Slug: "storage", Label: "Storage", Icon: "hard-drive"},
- {Slug: "devices", Label: "Devices", Icon: "terminal"},
- {Slug: "webhooks", Label: "Webhooks", Icon: "webhook"},
- {Slug: "advanced", Label: "Advanced", Icon: "shield-check"},
+ {Slug: "user", Label: "User"},
+ {Slug: "billing", Label: "Billing"},
+ {Slug: "storage", Label: "Storage"},
+ {Slug: "devices", Label: "Devices"},
+ {Slug: "webhooks", Label: "Webhooks"},
+ {Slug: "advanced", Label: "Advanced"},
}
}
diff --git a/pkg/appview/public/icons.svg b/pkg/appview/public/icons.svg
index 69f44f7..4577b93 100644
--- a/pkg/appview/public/icons.svg
+++ b/pkg/appview/public/icons.svg
@@ -19,6 +19,7 @@
+
@@ -67,6 +68,7 @@
+
diff --git a/pkg/appview/templates/components/nav-brand.html b/pkg/appview/templates/components/nav-brand.html
index f1c68e6..ac409bf 100644
--- a/pkg/appview/templates/components/nav-brand.html
+++ b/pkg/appview/templates/components/nav-brand.html
@@ -1,6 +1,11 @@
{{ define "nav-brand" }}
-
-
+
+
{{ .ClientName }}
{{ end }}
diff --git a/pkg/appview/templates/pages/settings.html b/pkg/appview/templates/pages/settings.html
index cf9640e..f7d3356 100644
--- a/pkg/appview/templates/pages/settings.html
+++ b/pkg/appview/templates/pages/settings.html
@@ -1,3 +1,13 @@
+{{ define "settings-tab-icon" -}}
+{{- if eq . "user" -}}{{ icon "user" "size-4" }}
+{{- else if eq . "billing" -}}{{ icon "credit-card" "size-4" }}
+{{- else if eq . "storage" -}}{{ icon "hard-drive" "size-4" }}
+{{- else if eq . "devices" -}}{{ icon "terminal" "size-4" }}
+{{- else if eq . "webhooks" -}}{{ icon "webhook" "size-4" }}
+{{- else if eq . "advanced" -}}{{ icon "shield-check" "size-4" }}
+{{- end -}}
+{{ end }}
+
{{ define "settings" }}
@@ -33,7 +43,7 @@
aria-controls="tab-content"
aria-selected="{{ if eq .Slug $active }}true{{ else }}false{{ end }}"
tabindex="{{ if eq .Slug $active }}0{{ else }}-1{{ end }}">
- {{ icon .Icon "size-4" }} {{ .Label }}
+ {{ template "settings-tab-icon" .Slug }} {{ .Label }}
{{ end }}
@@ -54,7 +64,7 @@
aria-controls="tab-content"
aria-selected="{{ if eq .Slug $active }}true{{ else }}false{{ end }}"
tabindex="{{ if eq .Slug $active }}0{{ else }}-1{{ end }}">
- {{ icon .Icon "size-4" }} {{ .Label }}
+ {{ template "settings-tab-icon" .Slug }} {{ .Label }}
{{ end }}
diff --git a/pkg/hold/admin/public/icons.svg b/pkg/hold/admin/public/icons.svg
index 69f44f7..4577b93 100644
--- a/pkg/hold/admin/public/icons.svg
+++ b/pkg/hold/admin/public/icons.svg
@@ -19,6 +19,7 @@
+
@@ -67,6 +68,7 @@
+
diff --git a/themes/seamark/theme.css b/themes/seamark/theme.css
index 11970a3..e85d519 100644
--- a/themes/seamark/theme.css
+++ b/themes/seamark/theme.css
@@ -23,6 +23,16 @@
--color-base-100: oklch(98% 0.01 225);
--color-base-200: oklch(95% 0.02 225);
--color-base-300: oklch(92% 0.03 225);
+ /* Tilt body text toward the primary hue so it reads as deep ocean ink
+ rather than the auto-derived neutral gray. */
+ --color-base-content: oklch(30% 0.10 250);
+}
+
+/* In light mode collapse the navbar logo to the primary font color so it
+ inherits --color-base-content from the link wrapper. Dark mode is left
+ alone so the native white-and-yellow palette shows through. */
+[data-theme="light"] .nav-brand-logo path {
+ fill: currentColor;
}
@keyframes rock {