{
  "id": "/?source=pwa",
  "name": "TNXOne",
  "short_name": "TNXOne",
  "description": "One Day. One Percent. Your Future. Choose a growth plan and follow it as it grows automatically, once every day.",
  "lang": "en",
  "dir": "ltr",
  "start_url": "/home?source=pwa",
  "scope": "/",
  "display": "standalone",
  "display_override": ["standalone", "minimal-ui"],
  "orientation": "portrait-primary",
  "background_color": "#020817",
  "theme_color": "#020817",
  "categories": ["finance", "productivity"],
  "icons": [
    {
      "src": "/icons/pwa-192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/pwa-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/maskable-192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "maskable"
    },
    {
      "src": "/icons/maskable-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ],
  "_comment_start_url": "The installed app launches at the authenticated home, NOT at the marketing site. `scope` stays '/' so auth, legal and public pages remain in-app when reached deliberately. The route guard decides what /home renders: a restored session gets the dashboard, no session gets /login?returnUrl=/home, so signing in lands back here. `id` is unchanged deliberately — changing it makes browsers treat this as a different app.",
  "shortcuts": [
    {
      "name": "My plans",
      "short_name": "Plans",
      "url": "/plans?source=pwa-shortcut",
      "icons": [{ "src": "/icons/pwa-192.png", "sizes": "192x192", "type": "image/png" }]
    },
    {
      "name": "Wallet",
      "short_name": "Wallet",
      "url": "/wallet?source=pwa-shortcut",
      "icons": [{ "src": "/icons/pwa-192.png", "sizes": "192x192", "type": "image/png" }]
    }
  ]
}
