3b3efafcc8
- Anasayfa, Hizmetler, Projeler, Hakkımızda, İletişim sayfaları - Header/Footer, Hero, ServicesGrid, ProjectsGrid, ContactForm bileşenleri - Appwrite TablesDB entegrasyonu (services, projects, contact_messages) - Server Action ile iletişim formu (submitContact) - Brand palette: navy #0F2C5C + sky #4DA3C7 - kovakyazilim.com'dan alınan logo public/logo.png
36 lines
501 B
TypeScript
36 lines
501 B
TypeScript
import {
|
|
Globe,
|
|
ShoppingCart,
|
|
Smartphone,
|
|
Code2,
|
|
Users,
|
|
TrendingUp,
|
|
Share2,
|
|
Megaphone,
|
|
Layers,
|
|
type LucideIcon,
|
|
} from "lucide-react";
|
|
|
|
const iconMap: Record<string, LucideIcon> = {
|
|
Globe,
|
|
ShoppingCart,
|
|
Smartphone,
|
|
Code2,
|
|
Users,
|
|
TrendingUp,
|
|
Share2,
|
|
Megaphone,
|
|
Layers,
|
|
};
|
|
|
|
export function Icon({
|
|
name,
|
|
className,
|
|
}: {
|
|
name?: string | null;
|
|
className?: string;
|
|
}) {
|
|
const Cmp = (name && iconMap[name]) || Layers;
|
|
return <Cmp className={className} />;
|
|
}
|