{
  "name": "Oasis - Earth's story on a living map",
  "short_name": "Oasis",
  "description": "See the problem, save the world. Protecting and restoring our environment and cultural heritage through citizen science and biodiversity documentation.",
  "start_url": "/",
  "display": "standalone",
  "display_override": ["window-controls-overlay", "standalone", "minimal-ui"],
  "orientation": "any",
  "theme_color": "#0077be",
  "background_color": "#0077be",
  "scope": "/",
  "lang": "en-US",
  "dir": "ltr",
  "categories": [
    "education",
    "lifestyle",
    "productivity",
    "utilities",
    "photo"
  ],
  "permissions": [
    "camera",
    "geolocation",
    "accelerometer",
    "gyroscope",
    "magnetometer",
    "ambient-light-sensor",
    "storage",
    "notifications"
  ],
  "features": [
    "camera",
    "geolocation",
    "accelerometer",
    "gyroscope",
    "magnetometer",
    "ambient-light-sensor"
  ],
  "screenshots": [
    {
      "src": "/screenshots/mobile-home.svg",
      "sizes": "320x640",
      "type": "image/svg+xml",
      "platform": "mobile",
      "label": "Home screen showing the interactive 3D globe"
    },
    {
      "src": "/screenshots/mobile-camera.svg",
      "sizes": "320x640", 
      "type": "image/svg+xml",
      "platform": "mobile",
      "label": "Camera interface for capturing marine life"
    },
    {
      "src": "/screenshots/desktop-wide.svg",
      "sizes": "1280x720",
      "type": "image/svg+xml",
      "platform": "wide",
      "label": "Full desktop experience with detailed story panels"
    }
  ],
  "icons": [
    {
      "src": "/icons/icon-72x72.svg",
      "sizes": "72x72",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-96x96.svg",
      "sizes": "96x96",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-128x128.svg",
      "sizes": "128x128",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-144x144.svg",
      "sizes": "144x144",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-152x152.svg",
      "sizes": "152x152",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-192x192.svg",
      "sizes": "192x192",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-384x384.svg",
      "sizes": "384x384",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-512x512.svg",
      "sizes": "512x512",
      "type": "image/svg+xml",
      "purpose": "any"
    },
    {
      "src": "/icons/maskable-icon-192x192.svg",
      "sizes": "192x192",
      "type": "image/svg+xml",
      "purpose": "maskable"
    },
    {
      "src": "/icons/maskable-icon-512x512.svg",
      "sizes": "512x512",
      "type": "image/svg+xml",
      "purpose": "maskable"
    },
    {
      "src": "/ocean-favicon.svg",
      "sizes": "any",
      "type": "image/svg+xml",
      "purpose": "any"
    }
  ],
  "shortcuts": [
    {
      "name": "Explore Marine Life",
      "short_name": "Explore",
      "description": "Discover marine biodiversity around the world",
      "url": "/explore",
      "icons": [
        {
          "src": "/icons/shortcut-explore.svg",
          "sizes": "96x96",
          "type": "image/svg+xml"
        }
      ]
    },
    {
      "name": "Create Story",
      "short_name": "Create",
      "description": "Document your marine conservation story",
      "url": "/create",
      "icons": [
        {
          "src": "/icons/shortcut-create.svg",
          "sizes": "96x96",
          "type": "image/svg+xml"
        }
      ]
    },
    {
      "name": "Species Identification",
      "short_name": "Identify",
      "description": "Use AI to identify marine species",
      "url": "/identify",
      "icons": [
        {
          "src": "/icons/shortcut-identify.svg",
          "sizes": "96x96",
          "type": "image/svg+xml"
        }
      ]
    },
    {
      "name": "Camera",
      "short_name": "Camera",
      "description": "Capture underwater photography",
      "url": "/camera",
      "icons": [
        {
          "src": "/icons/shortcut-camera.svg",
          "sizes": "96x96",
          "type": "image/svg+xml"
        }
      ]
    }
  ],
  "share_target": {
    "action": "/share-target",
    "method": "POST",
    "enctype": "multipart/form-data",
    "params": {
      "title": "title",
      "text": "text",
      "url": "url",
      "files": [
        {
          "name": "images",
          "accept": [
            "image/jpeg",
            "image/jpg",
            "image/png",
            "image/webp"
          ]
        }
      ]
    }
  },
  "file_handlers": [
    {
      "action": "/import-species-data",
      "accept": {
        "text/csv": [".csv"],
        "application/json": [".json"],
        "application/vnd.geo+json": [".geojson"]
      },
      "launch_type": "single-client"
    }
  ],
  "protocol_handlers": [
    {
      "protocol": "oasis",
      "url": "/protocol-handler?url=%s"
    },
    {
      "protocol": "web+oasis",
      "url": "/auth-handler?url=%s"
    }
  ],
  "related_applications": [
    {
      "platform": "play",
      "url": "https://play.google.com/store/apps/details?id=org.oasis.marine",
      "id": "org.oasis.marine"
    }
  ],
  "prefer_related_applications": false,
  "edge_side_panel": {
    "preferred_width": 400
  },
  "launch_handler": {
    "client_mode": "focus-existing"
  },
  "handle_links": "preferred",
  "capture_links": "existing-client-navigate",
  "oauth_redirect_uris": [
    "https://oasis.org/",
    "https://oasis.org/auth/callback",
    "http://localhost:5177/",
    "http://localhost:5177/auth/callback"
  ],
  "id": "org.oasis.marine",
  "scope": "/",
  "prefer_related_applications": false
}