feat: new "card fan" app icon — web favicon/PWA + Android adaptive
- Master SVGs + generator in scripts/icon/ (icon.svg full design, icon-foreground.svg cards-only for the Android adaptive layer, gen-icons.mjs via sharp). - Web/PWA: regenerated favicon.ico (16/32/48), src/app/apple-icon.png, public/icon.svg, icon-192/512, icon-maskable-512; manifest now lists png + maskable icons. - Android (Capacitor): ic_launcher / ic_launcher_round / ic_launcher_foreground for all densities + ic_launcher-playstore 512; adaptive background switched from flat white to a navy radial-gradient drawable (matches the icon), foreground = the gold card fan. Design: navy field, gold rounded frame, three fanned cards with a gold spade — on-brand with the in-app "Persian luxury" look. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
+37
-14
@@ -1,22 +1,45 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<svg width="1024" height="1024" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="#0e1c3f"/>
|
||||
<radialGradient id="bg" cx="50%" cy="36%" r="78%">
|
||||
<stop offset="0" stop-color="#16284f"/>
|
||||
<stop offset="0.62" stop-color="#0a142e"/>
|
||||
<stop offset="1" stop-color="#060c1f"/>
|
||||
</linearGradient>
|
||||
</radialGradient>
|
||||
<linearGradient id="gold" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0" stop-color="#f1da8a"/>
|
||||
<stop offset="0.55" stop-color="#d4af37"/>
|
||||
<stop offset="0" stop-color="#f6e4a0"/>
|
||||
<stop offset="0.5" stop-color="#d4af37"/>
|
||||
<stop offset="1" stop-color="#b8860b"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="face" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0" stop-color="#fffdf7"/>
|
||||
<stop offset="1" stop-color="#f1e6cd"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="navy" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0" stop-color="#1d356a"/>
|
||||
<stop offset="1" stop-color="#0a142e"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="512" height="512" rx="112" fill="url(#bg)"/>
|
||||
<g fill="none" stroke="#d4af37" stroke-opacity="0.18" stroke-width="3">
|
||||
<path d="M256 48 L464 256 L256 464 L48 256 Z"/>
|
||||
<path d="M256 120 L392 256 L256 392 L120 256 Z"/>
|
||||
|
||||
<rect width="512" height="512" fill="url(#bg)"/>
|
||||
<circle cx="256" cy="196" r="185" fill="#2dd4bf" opacity="0.07"/>
|
||||
<rect x="30" y="30" width="452" height="452" rx="104" fill="none" stroke="url(#gold)" stroke-width="6" opacity="0.6"/>
|
||||
|
||||
<g transform="rotate(-25 256 396)">
|
||||
<rect x="182" y="180" width="148" height="210" rx="16" fill="url(#navy)" stroke="url(#gold)" stroke-width="4"/>
|
||||
<rect x="198" y="196" width="116" height="178" rx="10" fill="none" stroke="#d4af37" stroke-width="2" opacity="0.45"/>
|
||||
<path d="M256 250 l16 35 -16 35 -16 -35 z" fill="#d4af37" opacity="0.75"/>
|
||||
</g>
|
||||
<g transform="rotate(25 256 396)">
|
||||
<rect x="182" y="180" width="148" height="210" rx="16" fill="url(#navy)" stroke="url(#gold)" stroke-width="4"/>
|
||||
<rect x="198" y="196" width="116" height="178" rx="10" fill="none" stroke="#d4af37" stroke-width="2" opacity="0.45"/>
|
||||
<path d="M256 250 l16 35 -16 35 -16 -35 z" fill="#d4af37" opacity="0.75"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(0 -24)">
|
||||
<rect x="181" y="178" width="150" height="212" rx="16" fill="url(#face)" stroke="url(#gold)" stroke-width="5"/>
|
||||
<rect x="193" y="190" width="126" height="188" rx="10" fill="none" stroke="#d4af37" stroke-width="2"/>
|
||||
<g transform="translate(256 268) scale(1.45)">
|
||||
<path d="M0,-44 C0,-44 -42,-6 -42,16 C-42,30 -31,40 -18,40 C-11,40 -5,37 0,32 C-2,44 -10,52 -20,55 L20,55 C10,52 2,44 0,32 C5,37 11,40 18,40 C31,40 42,30 42,16 C42,-6 0,-44 0,-44 Z" fill="url(#gold)" stroke="#7a5a00" stroke-width="1.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="M256 150 C300 150 330 182 330 224 C330 286 256 330 256 360 C256 330 182 286 182 224 C182 182 212 150 256 150 Z"
|
||||
fill="url(#gold)"/>
|
||||
<text x="256" y="438" text-anchor="middle" font-family="Vazirmatn, Tahoma, sans-serif"
|
||||
font-size="62" font-weight="800" fill="url(#gold)">برگ وسط</text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -11,11 +11,9 @@
|
||||
"background_color": "#060c1f",
|
||||
"theme_color": "#060c1f",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/icon.svg",
|
||||
"sizes": "any",
|
||||
"type": "image/svg+xml",
|
||||
"purpose": "any maskable"
|
||||
}
|
||||
{ "src": "/icon.svg", "sizes": "any", "type": "image/svg+xml", "purpose": "any" },
|
||||
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
|
||||
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
|
||||
{ "src": "/icon-maskable.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user