spb/company-atlas
Public
Python 66.3%
TypeScript 22.7%
JavaScript 8.6%
HTML 1.4%
CSS 0.7%
1import type { MetadataRoute } from 'next';2import { DESCRIPTION, SITE_NAME, TAGLINE, THEME_DARK, THEME_LIGHT } from '@/lib/site';34export default function manifest(): MetadataRoute.Manifest {5 return {6 name: `${SITE_NAME} — ${TAGLINE}`,7 short_name: SITE_NAME,8 description: DESCRIPTION,9 id: '/',10 start_url: '/',11 scope: '/',12 display: 'standalone',13 orientation: 'any',14 background_color: THEME_DARK,15 theme_color: THEME_LIGHT,16 lang: 'en',17 dir: 'ltr',18 categories: ['business', 'reference', 'news'],19 // PNGs generated by scripts/build-icons.mjs from the mark geometry (`pnpm icons`).20 icons: [21 { src: '/icon-192.png', sizes: '192x192', type: 'image/png', purpose: 'any' },22 { src: '/icon-512.png', sizes: '512x512', type: 'image/png', purpose: 'any' },23 { src: '/icon-512-maskable.png', sizes: '512x512', type: 'image/png', purpose: 'maskable' },24 { src: '/icon.svg', sizes: 'any', type: 'image/svg+xml', purpose: 'any' },25 ],26 shortcuts: [27 { name: 'Live feed', short_name: 'Live', description: 'Structured corporate events as they are detected', url: '/live' },28 { name: 'Companies', short_name: 'Companies', description: 'Monitored companies directory', url: '/companies' },29 { name: 'Rankings', short_name: 'Rankings', description: 'Most active, fastest hiring, most AI-active…', url: '/rankings' },30 { name: 'Watchlist', short_name: 'Watchlist', description: 'Companies you follow', url: '/watchlist' },31 ],32 };33}34