The icon's artwork is now the source of truth for the palette: - frost-* is a navy-tinted neutral scale and accent-* is the icon's snowflake blue; light page #f4f7fd / sidebar #e9eff9 / border #dce4f1, dark page #0e1424 / sidebar #0a0f1c / surfaces #171f33. - Surfaces are frosted glass: .card, .glass-panel, .list-group and .sidebar-surface are translucent with backdrop-blur/saturate, and the page wrapper no longer paints an opaque --page, so the fixed navy/blue backdrop reads through the sidebar, cards, chrome and sheets. - The primary CTA is the icon's blue (#1d61ab in light, #59a8f7 in dark with ink text). - The gate stage, fields and glows are navy/blue; viewport theme-color and the manifest background/theme colour are #0e1424. - The old monochrome snowflake tile is gone from the brand: sidebar, header, key gate and empty state now show the real app icon (the install sheet already did). Decorative snowflakes stay. - --surface-strong is finally defined (it was referenced but never declared, so those inputs had no fill). - Icon URLs carry ?v=2 so browser favicon caches refetch. Updated the contrast audit (21 pairs) and the deck-chrome token assertions to the new theme. Verified: contrast 21/21, deck chrome 15/15, key gate 49/49, install sheet 64/64, final ux 12/12, retry 14/14, zoom 6/6, security 8/8, pwa 16/16, deck fixes 15/15.
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import type { MetadataRoute } from "next";
|
|
|
|
/**
|
|
* Web app manifest — what makes Freezmo installable on iOS/Android
|
|
* (iOS reads the apple-* meta tags in app/layout.tsx as well).
|
|
*/
|
|
export default function manifest(): MetadataRoute.Manifest {
|
|
return {
|
|
name: "Freezmo — notes to study feed",
|
|
short_name: "Freezmo",
|
|
description:
|
|
"Turn photos and documents of your notes into a swipeable feed of short interactive study activities, powered by your own Ollama models.",
|
|
start_url: "/",
|
|
scope: "/",
|
|
display: "standalone",
|
|
orientation: "portrait",
|
|
background_color: "#0e1424",
|
|
theme_color: "#0e1424",
|
|
categories: ["education", "productivity"],
|
|
icons: [
|
|
{ src: "/icons/icon-192.png", sizes: "192x192", type: "image/png", purpose: "any" },
|
|
{ src: "/icons/icon-512.png", sizes: "512x512", type: "image/png", purpose: "any" },
|
|
{ src: "/icons/maskable-512.png", sizes: "512x512", type: "image/png", purpose: "maskable" },
|
|
],
|
|
shortcuts: [
|
|
{ name: "New deck", short_name: "New", url: "/create" },
|
|
{ name: "Library", short_name: "Library", url: "/" },
|
|
],
|
|
};
|
|
}
|