feat: add SVG icon and generate PNG icons
All checks were successful
Deploy via FTP / deploy (push) Successful in 3s

- Added a new SVG icon file for the application.
- Created a manifest.json file for the web app with relevant metadata.
- Introduced package-lock.json to manage dependencies.
- Implemented a script to generate PNG icons from the SVG source using sharp.
This commit is contained in:
2026-02-22 12:20:04 +01:00
parent bdec17ecde
commit 768b6f441f
10 changed files with 698 additions and 0 deletions

44
icons/icon.svg Normal file
View File

@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<defs>
<radialGradient id="bgGrad" cx="50%" cy="50%" r="65%">
<stop offset="0%" stop-color="#1a1030"/>
<stop offset="100%" stop-color="#0c0c14"/>
</radialGradient>
<linearGradient id="winnerGrad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#34d399"/>
<stop offset="100%" stop-color="#059669"/>
</linearGradient>
<filter id="glow" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="20" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<filter id="ambientGlow" x="-100%" y="-100%" width="300%" height="300%">
<feGaussianBlur stdDeviation="40"/>
</filter>
</defs>
<!-- Background -->
<rect width="512" height="512" fill="url(#bgGrad)"/>
<!-- Ambient glow behind winner -->
<circle cx="256" cy="264" r="110" fill="#34d399" opacity="0.10" filter="url(#ambientGlow)"/>
<!-- 4 muted finger circles -->
<circle cx="150" cy="178" r="70" fill="rgba(255,255,255,0.05)" stroke="rgba(255,255,255,0.18)" stroke-width="2.5"/>
<circle cx="362" cy="178" r="70" fill="rgba(255,255,255,0.05)" stroke="rgba(255,255,255,0.18)" stroke-width="2.5"/>
<circle cx="150" cy="342" r="70" fill="rgba(255,255,255,0.05)" stroke="rgba(255,255,255,0.18)" stroke-width="2.5"/>
<circle cx="362" cy="342" r="70" fill="rgba(255,255,255,0.05)" stroke="rgba(255,255,255,0.18)" stroke-width="2.5"/>
<!-- Pulse rings around winner -->
<circle cx="256" cy="264" r="114" fill="none" stroke="#34d399" stroke-width="1.5" opacity="0.28"/>
<circle cx="256" cy="264" r="132" fill="none" stroke="#34d399" stroke-width="1" opacity="0.12"/>
<!-- Winner circle -->
<circle cx="256" cy="264" r="90" fill="url(#winnerGrad)" filter="url(#glow)"/>
<!-- Inner highlight -->
<circle cx="238" cy="246" r="26" fill="white" opacity="0.22"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB