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). */ const devInstance = process.env.NEXT_PUBLIC_FREEZMO_DEV === "1"; export default function manifest(): MetadataRoute.Manifest { if (devInstance) { return { // A distinct identity so the dev PWA installs next to the real one. id: "/dev", name: "Freezmo Dev — notes to study feed", short_name: "Freezmo Dev", description: "Development instance of Freezmo (hot reload). Not the production app.", start_url: "/", scope: "/", display: "standalone", display_override: ["standalone", "minimal-ui"], orientation: "portrait", background_color: "#1c1917", theme_color: "#b45309", categories: ["education", "productivity"], icons: [ { src: "/icons/dev-icon.svg", sizes: "any", type: "image/svg+xml", purpose: "any" }, { src: "/icons/icon-512.png", sizes: "512x512", type: "image/png", purpose: "any" }, ], shortcuts: [ { name: "New deck", short_name: "New", url: "/create" }, { name: "Library", short_name: "Library", url: "/" }, ], }; } return { id: "/", 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", display_override: ["standalone", "minimal-ui"], 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" }, { src: "/icons/monochrome.svg", sizes: "any", type: "image/svg+xml", purpose: "monochrome" }, ], shortcuts: [ { name: "New deck", short_name: "New", url: "/create" }, { name: "New homework", short_name: "Homework", url: "/homework" }, { name: "Library", short_name: "Library", url: "/" }, ], /* Share text and links from other apps (GET). Files are POSTed to the same route and handed over through a short-lived in-memory store. */ share_target: { action: "/share-target", method: "POST", enctype: "multipart/form-data", params: { title: "title", text: "text", url: "url", files: [ { name: "files", accept: [ "image/*", "application/pdf", "text/*", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/vnd.oasis.opendocument.text", "application/vnd.oasis.opendocument.presentation", ], }, ], }, }, }; }