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]>
14 lines
375 B
TypeScript
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;
|
|
}
|