Yeni Proje Kodları

This commit is contained in:
2026-01-03 14:20:27 +03:00
parent fe1916077b
commit 12f31c3633
26 changed files with 3196 additions and 671 deletions

48
lib/mock-data.ts Normal file
View File

@@ -0,0 +1,48 @@
export interface Product {
id: string;
name: string;
category: string;
price: number;
image: string;
description: string;
features: string[];
}
export const mockProducts: Product[] = [
{
id: "1",
name: "Titanium Ev Kasası",
category: "ev",
price: 15000,
image: "/images/hero-safe.png", // Placeholder
description: "Ev kullanımı için ideal, yangına dayanıklı ve dijital kilitli çelik kasa.",
features: ["Yangına Dayanıklı (60dk)", "Dijital Kilit", "40kg Ağırlık"]
},
{
id: "2",
name: "Office Pro 2000",
category: "ofis",
price: 45000,
image: "/images/hero-safe.png",
description: "Ofis ve iş yerleri için yüksek hacimli, parmak izi okuyuculu güvenlik kasası.",
features: ["Parmak İzi Okuyucu", "120dk Yangın Sertifikası", "150kg Ağırlık"]
},
{
id: "3",
name: "Hotel Safe Compact",
category: "otel",
price: 5000,
image: "/images/hero-safe.png",
description: "Oteller için kompakt, kullanımı kolay ve güvenli oda tipi kasa.",
features: ["Master Anahtar", "Audit Trail", "Laptop Boyutu"]
},
{
id: "4",
name: "Gun Keeper X",
category: "ozel",
price: 25000,
image: "/images/hero-safe.png",
description: "Tüfek ve silahlarınız için özel bölmeli, yüksek güvenlikli saklama çözümü.",
features: ["Zırhlı Çelik", "Özel Raf Sistemi", "Hızlı Erişim"]
}
];

11
lib/supabase.ts Normal file
View File

@@ -0,0 +1,11 @@
import { createClient } from '@supabase/supabase-js'
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL
const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY
if (!supabaseUrl || !supabaseKey) {
throw new Error('Missing Supabase Environment Variables')
}
export const supabase = createClient(supabaseUrl, supabaseKey)

6
lib/utils.ts Normal file
View File

@@ -0,0 +1,6 @@
import { clsx, type ClassValue } from "clsx"
import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}