Add PWA support and update app metadata for Deckerr

This commit is contained in:
Matthieu
2025-11-21 16:41:47 +01:00
parent 57f0e7efe7
commit 73b7735074
19 changed files with 9454 additions and 186 deletions

9
public/browserconfig.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/icon.svg"/>
<TileColor>#0f172a</TileColor>
</tile>
</msapplication>
</browserconfig>

23
public/icon.svg Normal file
View File

@@ -0,0 +1,23 @@
<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<!-- Background -->
<rect width="512" height="512" fill="#0f172a" rx="128"/>
<!-- Card stack effect - back card -->
<rect x="120" y="130" width="240" height="320" rx="16" fill="#1e293b" transform="rotate(-8 240 290)"/>
<!-- Card stack effect - middle card -->
<rect x="120" y="130" width="240" height="320" rx="16" fill="#334155" transform="rotate(-4 240 290)"/>
<!-- Front card -->
<rect x="120" y="130" width="240" height="320" rx="16" fill="#475569"/>
<rect x="135" y="145" width="210" height="290" rx="12" fill="#1e293b"/>
<!-- Card details/design -->
<circle cx="240" cy="200" r="40" fill="#3b82f6" opacity="0.6"/>
<rect x="160" y="280" width="160" height="12" rx="6" fill="#3b82f6" opacity="0.8"/>
<rect x="160" y="310" width="120" height="12" rx="6" fill="#3b82f6" opacity="0.6"/>
<rect x="160" y="340" width="140" height="12" rx="6" fill="#3b82f6" opacity="0.4"/>
<!-- "D" Letter overlay -->
<text x="256" y="310" font-family="Arial, sans-serif" font-size="160" font-weight="bold" fill="#3b82f6" text-anchor="middle" opacity="0.15">D</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

111
public/manifest.json Normal file
View File

@@ -0,0 +1,111 @@
{
"name": "Deckerr - Card Deck Manager",
"short_name": "Deckerr",
"description": "Manage your trading card game decks on the go",
"theme_color": "#0f172a",
"background_color": "#0f172a",
"display": "standalone",
"orientation": "portrait",
"scope": "/",
"start_url": "/",
"icons": [
{
"src": "/icon-72x72.png",
"sizes": "72x72",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-96x96.png",
"sizes": "96x96",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-128x128.png",
"sizes": "128x128",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-144x144.png",
"sizes": "144x144",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-152x152.png",
"sizes": "152x152",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-384x384.png",
"sizes": "384x384",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-maskable-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/icon-maskable-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
],
"screenshots": [
{
"src": "/screenshot-mobile-1.png",
"sizes": "540x720",
"type": "image/png",
"form_factor": "narrow"
},
{
"src": "/screenshot-desktop-1.png",
"sizes": "1280x720",
"type": "image/png",
"form_factor": "wide"
}
],
"categories": ["games", "utilities"],
"shortcuts": [
{
"name": "My Decks",
"short_name": "Decks",
"description": "View your deck collection",
"url": "/?page=home",
"icons": [{ "src": "/icon-192x192.png", "sizes": "192x192" }]
},
{
"name": "Search Cards",
"short_name": "Search",
"description": "Search for cards",
"url": "/?page=search",
"icons": [{ "src": "/icon-192x192.png", "sizes": "192x192" }]
},
{
"name": "Life Counter",
"short_name": "Life",
"description": "Track life totals",
"url": "/?page=life-counter",
"icons": [{ "src": "/icon-192x192.png", "sizes": "192x192" }]
}
]
}