Files
cobble/src/utils/install-icon-base.ts
T
tbenandClaude Opus 5.5 e462806438 Let each install pick its app icon
Settings > General gets an App icon (super admin): one of the seven
stones, or an uploaded image with the picked stone as a top-left corner
mark (inside a round launcher's crop, clear of the browser's badge),
previewed in both launcher crops before saving.

Uploads are decoded and cropped to a stored square (no SVG); the set is
drawn into DATA_DIR/install-icon/<version>/ and served publicly and
immutable. The manifest, head icon links and push notifications point at
it; the ember stone keeps the stock icons. The generator shares the icon
renderer.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 10:38:25 +01:00

14 lines
375 B
TypeScript

import { PwaInstallIconRoute, type PwaInstallIcon } from "@/src/data/pwa-data";
type Params = {
icon?: PwaInstallIcon | null;
};
/**
* Where the install's own icon set is served, or null for the stock icons
* under `/icons`.
*/
export default function installIconBase({ icon }: Params) {
return icon?.version ? `${PwaInstallIconRoute}/${icon.version}` : null;
}