Some checks failed
Build and Push / build (push) Failing after 8s
Full-stack tournament management app with real-time scoring: - Go 1.26 backend with REST API and WebSocket live scoring - React 19 + Vite 8 frontend with mobile-first design - File-based JSON storage with JSONL audit logs - Multi-stage Docker build with Gitea CI/CD pipeline - Post-tournament questionnaire with spirit voting - Technical documentation and project description Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
62 lines
2.9 KiB
XML
62 lines
2.9 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 400" fill="none">
|
|
<defs>
|
|
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0%" stop-color="#0d2818"/>
|
|
<stop offset="100%" stop-color="#166534"/>
|
|
</linearGradient>
|
|
<linearGradient id="grass" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0%" stop-color="#22c55e"/>
|
|
<stop offset="100%" stop-color="#16a34a"/>
|
|
</linearGradient>
|
|
<linearGradient id="disc-grad" x1="0" y1="0" x2="1" y2="1">
|
|
<stop offset="0%" stop-color="#f97316"/>
|
|
<stop offset="100%" stop-color="#fb923c"/>
|
|
</linearGradient>
|
|
</defs>
|
|
|
|
<!-- Background -->
|
|
<rect width="800" height="400" fill="url(#sky)"/>
|
|
|
|
<!-- Grass field -->
|
|
<ellipse cx="400" cy="420" rx="500" ry="120" fill="url(#grass)" opacity="0.3"/>
|
|
|
|
<!-- Field lines -->
|
|
<line x1="100" y1="350" x2="700" y2="350" stroke="#22c55e" stroke-width="1" opacity="0.2"/>
|
|
<line x1="150" y1="330" x2="650" y2="330" stroke="#22c55e" stroke-width="1" opacity="0.15"/>
|
|
|
|
<!-- Player silhouette - layout dive -->
|
|
<g transform="translate(320, 180) rotate(-15)">
|
|
<!-- Body -->
|
|
<ellipse cx="0" cy="0" rx="18" ry="35" fill="white" opacity="0.9"/>
|
|
<!-- Head -->
|
|
<circle cx="-5" cy="-42" r="14" fill="white" opacity="0.9"/>
|
|
<!-- Extended arm (throwing) -->
|
|
<line x1="15" y1="-15" x2="65" y2="-35" stroke="white" stroke-width="6" stroke-linecap="round" opacity="0.9"/>
|
|
<!-- Other arm -->
|
|
<line x1="-15" y1="-10" x2="-55" y2="10" stroke="white" stroke-width="6" stroke-linecap="round" opacity="0.9"/>
|
|
<!-- Legs (diving) -->
|
|
<line x1="-5" y1="30" x2="-40" y2="70" stroke="white" stroke-width="6" stroke-linecap="round" opacity="0.9"/>
|
|
<line x1="5" y1="30" x2="30" y2="75" stroke="white" stroke-width="6" stroke-linecap="round" opacity="0.9"/>
|
|
</g>
|
|
|
|
<!-- Flying disc -->
|
|
<g transform="translate(480, 100) rotate(-20)">
|
|
<ellipse cx="0" cy="4" rx="32" ry="10" fill="url(#disc-grad)" opacity="0.3"/>
|
|
<ellipse cx="0" cy="0" rx="28" ry="28" fill="url(#disc-grad)"/>
|
|
<ellipse cx="0" cy="0" rx="18" ry="18" fill="none" stroke="white" stroke-width="1.5" opacity="0.4"/>
|
|
<ellipse cx="0" cy="0" rx="8" ry="8" fill="white" opacity="0.2"/>
|
|
<!-- Motion trails -->
|
|
<line x1="-40" y1="5" x2="-55" y2="8" stroke="#fb923c" stroke-width="2" opacity="0.5"/>
|
|
<line x1="-38" y1="12" x2="-52" y2="14" stroke="#fb923c" stroke-width="2" opacity="0.4"/>
|
|
<line x1="-42" y1="-2" x2="-54" y2="0" stroke="#fb923c" stroke-width="2" opacity="0.3"/>
|
|
</g>
|
|
|
|
<!-- Decorative dots -->
|
|
<circle cx="120" cy="80" r="2" fill="#4ade80" opacity="0.3"/>
|
|
<circle cx="680" cy="120" r="3" fill="#4ade80" opacity="0.2"/>
|
|
<circle cx="200" cy="300" r="2" fill="#38bdf8" opacity="0.2"/>
|
|
<circle cx="600" cy="280" r="2" fill="#38bdf8" opacity="0.15"/>
|
|
<circle cx="150" cy="200" r="1.5" fill="white" opacity="0.1"/>
|
|
<circle cx="650" cy="60" r="1.5" fill="white" opacity="0.15"/>
|
|
</svg>
|