The Loyaly mark everywhere a person sees the product

Brand assets in brand/ (the 512px mark, sizes for each surface, a
multi-size .ico). Windows executables carry it as a compiled-in
resource (rsrc_windows_amd64.syso from go-winres) so Explorer, the
taskbar and the installer show it; installer/build.ps1 therefore uses a
plain go build rather than wails build, which would add a second copy
and fail the link. The tray icon is the mark with a state dot over its
corner - a plain coloured circle read as a generic status light among
other icons - rendered from the embedded PNG at 32px so it survives
150% scaling. The desktop app's login, setup and sidebar marks, the
head-office web app's mark and favicon, and the engine dashboard's
favicon are the same file.

Also found while packaging: no wheel so far shipped static/, so the
engine's own dashboard at :8010 on a Windows source install would have
failed with a missing file. package-data now includes it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KGcjxF1cNLcuwc3DAPcnfj
This commit is contained in:
2026-09-19 12:54:19 +05:30
parent effa4f3d62
commit 4c62fc0ef3
47 changed files with 302 additions and 64 deletions

View File

@@ -61,12 +61,10 @@ h3 { font-size: 13px; font-weight: 600; text-transform: uppercase;
.brand strong { display: block; font-size: 15px; font-weight: 620; letter-spacing: -.01em; }
.brand .org { display: block; font-size: 12px; color: var(--muted); }
.mark {
width: 18px; height: 18px; border-radius: 50%;
border: 2.5px solid var(--accent);
box-shadow: inset 0 0 0 3px var(--ground);
flex: none;
width: 22px; height: 22px; flex: none;
background: url(/loyaly-mark.png) center / contain no-repeat;
}
.mark.big { width: 30px; height: 30px; border-width: 3px; margin-bottom: 14px; }
.mark.big { width: 40px; height: 40px; margin-bottom: 14px; }
.tabs { display: flex; gap: 2px; margin-right: auto; }
.tabs button {