refactor: simplify QR stand presets to single urban qr-1.svg template

This commit is contained in:
AyrisAI
2026-08-20 18:44:44 +03:00
parent 04863c8a78
commit 984a41d0e5
3 changed files with 90 additions and 176 deletions
+3 -1
View File
@@ -283,7 +283,8 @@ export default function QrScreen() {
Şablon seçin; QR kodunuz otomatik yerleşsin. Baskıya hazır A5 PDF veya PNG olarak indirin. Şablon seçin; QR kodunuz otomatik yerleşsin. Baskıya hazır A5 PDF veya PNG olarak indirin.
</Text> </Text>
{/* Horizontal Theme Selector */} {/* Horizontal Theme Selector (rendered only if multiple themes exist) */}
{Object.values(QR_STAND_PRESETS).length > 1 && (
<ScrollView <ScrollView
horizontal horizontal
showsHorizontalScrollIndicator={false} showsHorizontalScrollIndicator={false}
@@ -330,6 +331,7 @@ export default function QrScreen() {
); );
})} })}
</ScrollView> </ScrollView>
)}
{/* Live Stand Preview Wrapped in ViewShot */} {/* Live Stand Preview Wrapped in ViewShot */}
<View <View
@@ -108,6 +108,7 @@ export function QrStandGeneratorClient({
<main className="flex-1 max-w-6xl w-full mx-auto p-4 sm:p-8 flex flex-col lg:flex-row gap-8 items-center lg:items-start justify-center"> <main className="flex-1 max-w-6xl w-full mx-auto p-4 sm:p-8 flex flex-col lg:flex-row gap-8 items-center lg:items-start justify-center">
{/* Left Panel: Preset Selectors & Download Controls */} {/* Left Panel: Preset Selectors & Download Controls */}
<div className="w-full lg:w-96 flex flex-col gap-6"> <div className="w-full lg:w-96 flex flex-col gap-6">
{Object.values(QR_STAND_PRESETS).length > 1 && (
<div className="bg-stone-900/80 border border-stone-800 p-6 rounded-3xl space-y-4 shadow-xl"> <div className="bg-stone-900/80 border border-stone-800 p-6 rounded-3xl space-y-4 shadow-xl">
<div> <div>
<span className="text-xs font-bold uppercase tracking-wider text-amber-400"> <span className="text-xs font-bold uppercase tracking-wider text-amber-400">
@@ -151,6 +152,7 @@ export function QrStandGeneratorClient({
})} })}
</div> </div>
</div> </div>
)}
{/* Action Download Buttons */} {/* Action Download Buttons */}
<div className="bg-stone-900/80 border border-stone-800 p-6 rounded-3xl space-y-3.5 shadow-xl"> <div className="bg-stone-900/80 border border-stone-800 p-6 rounded-3xl space-y-3.5 shadow-xl">
+2 -92
View File
@@ -21,26 +21,8 @@ export interface QrStandPreset {
export const QR_STAND_PRESETS: Record<string, QrStandPreset> = { export const QR_STAND_PRESETS: Record<string, QrStandPreset> = {
urban: { urban: {
key: "urban", key: "urban",
name: "Urban Terracotta", name: "The Urban Burger QR Stand",
categoryName: "Burger & Fast Casual", categoryName: "Özel Masa Kartı Şablonu",
bgGradient: "radial-gradient(circle at 50% 50%, #1a3a29 0%, #0e2016 100%)",
plaqueBg: "linear-gradient(135deg, #a64d2a 0%, #8e3f20 100%)",
plaqueColor: "#a64d2a",
borderAccent: "rgba(255, 255, 255, 0.15)",
qrBg: "#f8f3eb",
qrColor: "#a64d2a",
logoBorder: "#f5be72",
logoBg: "rgba(166, 77, 42, 0.8)",
accentText: "#f5be72",
headerText: "#ffffff",
subText: "rgba(255, 255, 255, 0.9)",
dividerColor: "rgba(255, 255, 255, 0.25)",
categories: ["BURGERS", "FRIES", "SHAKES", "VEGAN OPTIONS"],
},
"custom-svg-1": {
key: "custom-svg-1",
name: "Urban Premium SVG",
categoryName: "Özel SVG Vektör Şablon",
bgGradient: "radial-gradient(circle at 50% 50%, #1c3e2b 0%, #0e2016 100%)", bgGradient: "radial-gradient(circle at 50% 50%, #1c3e2b 0%, #0e2016 100%)",
plaqueBg: "linear-gradient(135deg, #a64d2a 0%, #8e3f20 100%)", plaqueBg: "linear-gradient(135deg, #a64d2a 0%, #8e3f20 100%)",
plaqueColor: "#a64d2a", plaqueColor: "#a64d2a",
@@ -56,76 +38,4 @@ export const QR_STAND_PRESETS: Record<string, QrStandPreset> = {
categories: ["BURGERS", "FRIES", "SHAKES", "VEGAN OPTIONS"], categories: ["BURGERS", "FRIES", "SHAKES", "VEGAN OPTIONS"],
svgTemplateUrl: "/qr-1.svg", svgTemplateUrl: "/qr-1.svg",
}, },
"la-maison": {
key: "la-maison",
name: "La Maison Gold",
categoryName: "Fine Dining & Steakhouse",
bgGradient: "radial-gradient(circle at 50% 50%, #18181b 0%, #09090b 100%)",
plaqueBg: "linear-gradient(135deg, #1c1917 0%, #0c0a09 100%)",
plaqueColor: "#1c1917",
borderAccent: "rgba(200, 169, 107, 0.4)",
qrBg: "#faf8f5",
qrColor: "#1c1917",
logoBorder: "#c8a96b",
logoBg: "rgba(28, 25, 23, 0.9)",
accentText: "#c8a96b",
headerText: "#ffffff",
subText: "#d6d3d1",
dividerColor: "rgba(200, 169, 107, 0.3)",
categories: ["BAŞLANGIÇLAR", "ANA YEMEKLER", "ŞARAPLAR", "TATLILAR"],
},
nordic: {
key: "nordic",
name: "Nordic Minimal",
categoryName: "Kafe, Fırın & Kahve",
bgGradient: "radial-gradient(circle at 50% 50%, #e7e5e4 0%, #d6d3d1 100%)",
plaqueBg: "linear-gradient(135deg, #ffffff 0%, #f5f5f4 100%)",
plaqueColor: "#ffffff",
borderAccent: "rgba(0, 0, 0, 0.08)",
qrBg: "#18181b",
qrColor: "#ffffff",
logoBorder: "#18181b",
logoBg: "#ffffff",
accentText: "#18181b",
headerText: "#18181b",
subText: "#78716c",
dividerColor: "rgba(0, 0, 0, 0.12)",
categories: ["ESPRESSO BARI", "FROZEN & İÇECEK", "KRUVASAN", "TATLILAR"],
},
bistro: {
key: "bistro",
name: "Classic Bistro",
categoryName: "Pizzeria & İtalyan",
bgGradient: "radial-gradient(circle at 50% 50%, #3f1212 0%, #240a0a 100%)",
plaqueBg: "linear-gradient(135deg, #8b1e1e 0%, #6e1616 100%)",
plaqueColor: "#8b1e1e",
borderAccent: "rgba(255, 235, 200, 0.2)",
qrBg: "#fffbeb",
qrColor: "#8b1e1e",
logoBorder: "#f59e0b",
logoBg: "rgba(139, 30, 30, 0.85)",
accentText: "#fbbf24",
headerText: "#fffbeb",
subText: "#fef3c7",
dividerColor: "rgba(255, 235, 200, 0.3)",
categories: ["ODUN ATEŞİ PİZZA", "MAKARNALAR", "SALATALAR", "TİRAMİSU"],
},
neon: {
key: "neon",
name: "Neon Sapphire",
categoryName: "Bar, Pub & Nightlife",
bgGradient: "radial-gradient(circle at 50% 50%, #0f172a 0%, #020617 100%)",
plaqueBg: "linear-gradient(135deg, #1e1b4b 0%, #0f172a 100%)",
plaqueColor: "#1e1b4b",
borderAccent: "rgba(99, 102, 241, 0.4)",
qrBg: "#e0e7ff",
qrColor: "#312e81",
logoBorder: "#818cf8",
logoBg: "rgba(30, 27, 75, 0.9)",
accentText: "#818cf8",
headerText: "#ffffff",
subText: "#c7d2fe",
dividerColor: "rgba(99, 102, 241, 0.3)",
categories: ["İMKAN KOKTEYLLER", "BİRALAR", "ATIŞTIRMALIKLAR", "MÜZİK & ETKİNLİK"],
},
}; };