- rename Go module, binary, systemd unit, PG_DATABASE default, frontend package and docs from shared-album to galo - add theme-aware halo emblem and favicon (new ui-branding capability) - add make build-release (versioned, stripped, static binary) and run the binary from the repo root
28 lines
1.9 KiB
Markdown
28 lines
1.9 KiB
Markdown
# Proposal
|
|
|
|
## Why
|
|
|
|
The app references a favicon that does not exist (`frontend/src/app.html:6` points at `%sveltekit.assets%/favicon.png`, but there is no `frontend/static/`), so browsers get a 404. At the same time the product name **Galo** (= гало, the ring around the sun) has no visual mark — the brand is only text. This change gives the project a self-hosted halo emblem and a working favicon, consistent with the existing icon system that forbids external requests.
|
|
|
|
## What Changes
|
|
|
|
- Introduce a **halo emblem**: a sun disc surrounded by a separated ring (variant A — pure ring + disc, legible at 16px).
|
|
- Add an inline, theme-aware SVG emblem component used in the UI (header, login/public layout, share header); the sun disc uses `--primary`, the ring uses `--primary` at reduced opacity with a monochrome `currentColor` fallback.
|
|
- Add static brand assets under `frontend/static/`: `favicon.svg` (theme-aware via `prefers-color-scheme`), `favicon.png` fallback, and `apple-touch-icon.png`.
|
|
- Update `frontend/src/app.html` to reference `favicon.svg` with the PNG fallback.
|
|
- Keep the "Galo" wordmark next to the emblem; the emblem is decorative there.
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
- `ui-branding`: the halo emblem and favicon identity — a self-hosted, theme-aware visual mark that appears in the UI and as the browser/tab and touch icon.
|
|
|
|
### Modified Capabilities
|
|
<!-- None: the icon system (ui-iconography) is unchanged; the emblem follows its existing no-external-requests rule. -->
|
|
|
|
## Impact
|
|
|
|
- **Frontend:** new `frontend/static/` assets (served through the existing `go:embed` pipeline after build), `frontend/src/app.html`, `frontend/src/lib/components/AppShell.svelte`, `frontend/src/routes/(public)/+layout.svelte`, share page header.
|
|
- **Backend:** none (static assets are embedded and served by the existing static handler).
|
|
- **Behavior:** the missing favicon 404 is replaced by a served, theme-aware icon; no API changes.
|