← back to Homesonspec

apps/web/src/app/manifest.ts

32 lines

import type { MetadataRoute } from "next";

// Served automatically by Next at /manifest.webmanifest and linked from <head>.
// This is what makes the site installable ("Add to Home Screen" → full-screen app).
export default function manifest(): MetadataRoute.Manifest {
  return {
    name: "Homes on Spec",
    short_name: "HomesOnSpec",
    description:
      "Every new home. Every builder. One search. Discover, compare, and contact builders for newly constructed homes.",
    start_url: "/",
    scope: "/",
    display: "standalone",
    orientation: "portrait",
    background_color: "#f0f9f8",
    theme_color: "#1b4645",
    categories: ["shopping", "lifestyle", "business"],
    icons: [
      { src: "/icon-192.png", sizes: "192x192", type: "image/png", purpose: "any" },
      { src: "/icon-512.png", sizes: "512x512", type: "image/png", purpose: "any" },
      // Full-bleed brand background → safe for maskable crops (Android adaptive icons).
      { src: "/icon-192.png", sizes: "192x192", type: "image/png", purpose: "maskable" },
      { src: "/icon-512.png", sizes: "512x512", type: "image/png", purpose: "maskable" },
    ],
    shortcuts: [
      { name: "Search homes", short_name: "Search", url: "/search" },
      { name: "Map explorer", short_name: "Map", url: "/map" },
      { name: "Saved homes", short_name: "Saved", url: "/saved" },
    ],
  };
}