QR_STAND_PRESETS (packages/shared) references qr-1..qr-9 (skipping qr-7), but apps/web/public only had qr-1,2,4,5,6.svg — qr-3, qr-8, and qr-9 404'd wherever the raw preset list renders before/instead of a DB-driven override. Built to match the existing qr-1.svg structure (layer-background/layer-icons/qr-placeholder/layer-texts, same 400x650 canvas, QR box at translate(90,215) 220x220 — verified this aligns with QrStandGeneratorClient's hardcoded 33.08%/55% overlay position), using each preset's own color palette from qr-stands.ts.
77 lines
4.1 KiB
XML
77 lines
4.1 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 650" width="400" height="650">
|
||
<defs>
|
||
<!-- Warm cream gradient for the outer canvas -->
|
||
<linearGradient id="cream-bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#faf4e6" />
|
||
<stop offset="100%" stop-color="#f7eed8" />
|
||
</linearGradient>
|
||
|
||
<!-- Rosso accent gradient -->
|
||
<linearGradient id="rosso-accent" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#d1453f" />
|
||
<stop offset="100%" stop-color="#b92b27" />
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<!-- 1. Backgrounds & Contrast Panels -->
|
||
<g id="layer-background">
|
||
<rect id="bg-canvas" width="400" height="650" fill="url(#cream-bg)" />
|
||
<rect id="main-card" x="20" y="20" width="360" height="610" rx="24" fill="#fdfbf5" stroke="url(#rosso-accent)" stroke-width="1.5" />
|
||
<rect id="inner-border" x="30" y="30" width="340" height="590" rx="18" fill="none" stroke="#e8ddc7" stroke-width="1" stroke-dasharray="5 3" />
|
||
</g>
|
||
|
||
<!-- 2. Decorative Icons & Accents -->
|
||
<g id="layer-icons">
|
||
<!-- Pizza slice crest -->
|
||
<g transform="translate(170, 50)" stroke="url(#rosso-accent)" stroke-width="1.5" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||
<path d="M30 6 L58 46 A32 32 0 0 1 2 46 Z" />
|
||
<circle cx="26" cy="24" r="2.2" fill="#b92b27" stroke="none" />
|
||
<circle cx="38" cy="30" r="2.2" fill="#5d4037" stroke="none" />
|
||
<circle cx="30" cy="38" r="2.2" fill="#b92b27" stroke="none" />
|
||
<path d="M2 46 h56" stroke-width="1" />
|
||
</g>
|
||
|
||
<!-- Center wheat-sprig divider -->
|
||
<g id="divider-accent">
|
||
<path d="M130 162 h55 M215 162 h55" stroke="url(#rosso-accent)" stroke-width="1" opacity="0.6" />
|
||
<polygon points="200,157 202.5,161.5 207,162 203.5,165 204.5,169.5 200,167 195.5,169.5 196.5,165 193,162 197.5,161.5" fill="url(#rosso-accent)" />
|
||
</g>
|
||
|
||
<!-- WiFi Icon -->
|
||
<g transform="translate(68, 592)" stroke="#8c6b52" stroke-width="1.5" fill="none" stroke-linecap="round">
|
||
<path d="M0 0 a14 14 0 0 1 18 0" />
|
||
<path d="M3 4 a9 9 0 0 1 12 0" />
|
||
<circle cx="9" cy="8" r="1" fill="#8c6b52" />
|
||
</g>
|
||
|
||
<!-- Instagram / Social Icon -->
|
||
<g transform="translate(225, 592)" stroke="#8c6b52" stroke-width="1.5" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||
<rect x="0" y="0" width="13" height="13" rx="3.5" />
|
||
<circle cx="6.5" cy="6.5" r="3" />
|
||
<circle cx="10" cy="3" r="0.5" fill="#8c6b52" />
|
||
</g>
|
||
</g>
|
||
|
||
<!-- 3. Clean Placeholder Box for QR Code (aligned to the app's fixed 33.08% / 55% overlay) -->
|
||
<g id="qr-placeholder" transform="translate(90, 215)">
|
||
<rect width="220" height="220" rx="20" fill="#FFFFFF" stroke="#f0d9d8" stroke-width="2" />
|
||
<rect x="12" y="12" width="196" height="196" rx="14" fill="#FCFAF6" stroke="#f0d9d8" stroke-dasharray="4 3" />
|
||
<text x="110" y="115" font-family="Inter, sans-serif" font-size="12" font-weight="600" fill="#b92b27" text-anchor="middle">QR KOD ALANI</text>
|
||
</g>
|
||
|
||
<!-- 4. Native Editable Texts -->
|
||
<g id="layer-texts" font-family="Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif" text-anchor="middle">
|
||
<text x="200" y="130" font-size="22" font-weight="800" fill="#18181b" letter-spacing="2">PIZZERIA BELLA NAPOLI</text>
|
||
<text x="200" y="150" font-size="11" font-weight="500" fill="#b92b27" letter-spacing="2.5">TEMASSIZ DİJİTAL MENÜ</text>
|
||
|
||
<text x="200" y="475" font-size="13" font-weight="700" fill="#18181b" letter-spacing="1.2">MENÜYÜ GÖRMEK İÇİN OKUTUN</text>
|
||
<text x="200" y="495" font-size="11" font-weight="400" fill="#5d4037">Kameranız ile QR kodu taratın</text>
|
||
|
||
<rect x="140" y="520" width="120" height="28" rx="14" fill="#fdece9" stroke="#f0d9d8" stroke-width="1" />
|
||
<text x="200" y="539" font-size="12" font-weight="600" fill="#b92b27" letter-spacing="0.5">Masa No: 01</text>
|
||
|
||
<text x="128" y="602" font-size="10" font-weight="400" fill="#8c6b52" text-anchor="start">Bella_Guest</text>
|
||
<text x="246" y="602" font-size="10" font-weight="400" fill="#8c6b52" text-anchor="start">@bellanapoli</text>
|
||
</g>
|
||
</svg>
|