/* global React, framerMotion, lucide */
const { useState, useEffect, useRef, useMemo } = React;
const {
motion,
useScroll,
useTransform,
useMotionValue,
useSpring,
AnimatePresence,
useInView
} = framerMotion;
const {
Sparkles, MessageCircle, ArrowRight, Zap, Bot, Instagram, Send,
GraduationCap, UtensilsCrossed, Store, Scissors, Puzzle, Check,
Phone, Mail, ChevronRight, Cpu, Shield, Layers, Workflow, Activity,
BellRing, CreditCard, Flame, DollarSign, CalendarClock
} = lucide;
const ImageIcon = lucide.Image;
// ────────────────────────────────────────────────────────────────────────────
// PRIMITIVES
// ────────────────────────────────────────────────────────────────────────────
const NeonBg = () => (
\")"
}}
/>
);
const Reveal = ({ children, delay = 0, y = 40, className = '' }) => (
{children}
);
const SectionLabel = ({ children }) => (
{children}
);
const GlowButton = ({
children,
icon: Icon,
variant = 'primary',
href,
onClick,
target,
rel,
className = '',
type = 'button'
}) => {
const base =
`group relative inline-flex items-center gap-2.5 rounded-full px-6 py-3.5 text-sm font-semibold tracking-wide transition-all duration-300 active:scale-[0.98] ${className}`;
const sharedProps = href
? { href, onClick, target, rel }
: { onClick, type };
const Tag = href ? 'a' : 'button';
if (variant === 'primary') {
return (
{children}
{Icon && }
);
}
return (
{children}
{Icon && }
);
};
const Tilt = ({ children, className = '', intensity = 10 }) => {
const ref = useRef(null);
const rx = useMotionValue(0);
const ry = useMotionValue(0);
const srx = useSpring(rx, { stiffness: 200, damping: 20 });
const sry = useSpring(ry, { stiffness: 200, damping: 20 });
const onMove = (e) => {
if (!ref.current) return;
const r = ref.current.getBoundingClientRect();
const px = (e.clientX - r.left) / r.width - 0.5;
const py = (e.clientY - r.top) / r.height - 0.5;
ry.set(px * intensity);
rx.set(-py * intensity);
};
const onLeave = () => {
rx.set(0);
ry.set(0);
};
return (
{children}
);
};
const DetailBadge = ({ children, hue, className = '' }) => (
{children}
);
const BrandMark = ({ size = 'default', showSub = true, align = 'left' }) => {
const logoSize = size === 'small' ? 'h-9 w-9 sm:h-10 sm:w-10' : 'h-11 w-11 sm:h-12 sm:w-12';
const titleSize = size === 'small' ? 'text-[12px] sm:text-[13px]' : 'text-[13px] sm:text-[15px]';
const subSize = size === 'small' ? 'text-[10px]' : 'text-[10px] sm:text-[11px]';
return (
Bireveber
{showSub ? (
Dijital çözümler
) : null}
);
};
// ────────────────────────────────────────────────────────────────────────────
// NAV
// ────────────────────────────────────────────────────────────────────────────
const Nav = () => {
const [scrolled, setScrolled] = useState(false);
useEffect(() => {
const onScroll = () => setScrolled(window.scrollY > 20);
window.addEventListener('scroll', onScroll);
return () => window.removeEventListener('scroll', onScroll);
}, []);
const links = [
['AI Bot', '#ai-bot'],
['Sektörler', '#sektorler'],
['Fark', '#fark'],
['İletişim', '#iletisim']
];
return (
{links.map(([l, h]) => (
{l}
))}
WhatsApp
);
};
// ────────────────────────────────────────────────────────────────────────────
// HERO
// ────────────────────────────────────────────────────────────────────────────
const Hero = () => {
const ref = useRef(null);
const { scrollYProgress } = useScroll({ target: ref, offset: ['start start', 'end start'] });
const y = useTransform(scrollYProgress, [0, 1], [0, 180]);
const opacity = useTransform(scrollYProgress, [0, 0.8], [1, 0]);
return (
{[0, 1, 2].map((i) => (
))}
Yazılım · Otomasyon · Yapay Zeka
İşletmenizin{' '}
Dijital Beyni
ve Tasarım Ajansı.
Operasyonlarınızı milimetrik yönetin, sosyal medyanızı{' '}
yapay zekâya
{' '}
bırakın. Eğitimden gıdaya, toptancıdan güzellik merkezine — size özel, cironuzu
katlayan otomasyon sistemleri.
Sektörünüze Özel Çözümler
WhatsApp'tan Bilgi Al
{['AI Sosyal Medya Botu', 'POS · Stok · Kanban', 'B2B Store Paneli', 'CRM & Randevu', 'Eğitim Finans Paneli'].map(
(t) => (
{t}
)
)}
);
};
// ────────────────────────────────────────────────────────────────────────────
// AI BOT — WhatsApp simulation
// ────────────────────────────────────────────────────────────────────────────
const WhatsAppSim = () => {
const [step, setStep] = useState(0);
const sectionRef = useRef(null);
const inView = useInView(sectionRef, { once: false, margin: '-30% 0px' });
useEffect(() => {
if (!inView) return;
setStep(0);
const timers = [
setTimeout(() => setStep(1), 900),
setTimeout(() => setStep(2), 2200),
setTimeout(() => setStep(3), 3400),
setTimeout(() => setStep(4), 4800),
setTimeout(() => setStep(5), 6200)
];
return () => timers.forEach(clearTimeout);
}, [inView]);
return (
Bireveber AI
çevrimiçi · yazıyor…
\")",
backgroundColor: '#0b141a'
}}
>
{step >= 1 && (
)}
{step >= 1 && (
Bunu paylaşır mısın? ☕️
14:32 ✓✓
)}
{step === 2 && (
{[0, 1, 2].map((i) => (
))}
)}
{step >= 3 && (
CAFÉ NOVA
Günün kahvesi
Yeni sezon · taze kavrum
%20
Afiş hazır. Açıklama yazıyorum…
)}
{step >= 4 && (
📝 Instagram açıklaması
Sabahın en güzel hâli ☕️ Yeni sezon kahvemizle tanış. Bugün %20 indirimli.
#cafe #kahvekeyfi #yenisezon #ankara
)}
{step >= 5 && (
Instagram'da paylaşıldı
14:32 · otomatik · 1 hesap
)}
);
};
const AIBotSection = ({ onOpen }) => {
const steps = [
{ icon: ImageIcon, label: "WhatsApp'tan fotoğraf", desc: 'Ürün, mekân ya da öncesi/sonrası' },
{ icon: Cpu, label: 'Sektöre özel tasarım', desc: 'Logolu afiş / kısa video üretimi' },
{ icon: Workflow, label: 'Açıklama & hashtag', desc: 'Dönüşüm odaklı copy, otomatik' },
{ icon: Instagram, label: 'Instagram paylaşımı', desc: 'Sizin adınıza, saniyeler içinde' }
];
return (
Star Ürün · AI Bot
Siz sadece WhatsApp'tan fotoğraf atın.
Gerisini ona bırakın.
Sosyal medya yönetimi için ajanslara binlerce lira ödemeyin. Bireveber AI Bot'a bir
fotoğraf atın — sektörünüze uygun, logolu bir afiş ya da video üretir, açıklamasını
ve hashtag'lerini yazar, Instagram'da sizin adınıza paylaşır. Tüm dijital vitriniz
otopilotta.
{steps.map((s, i) => (
))}
onOpen && onOpen('ai')} icon={ArrowRight}>
Daha Fazla Bilgi Al
WhatsApp ile Danış
);
};
// ────────────────────────────────────────────────────────────────────────────
// SECTORAL SOLUTIONS
// ────────────────────────────────────────────────────────────────────────────
const EducationMock = () => (
{Array.from({ length: 25 }).map((_, i) => {
const present = [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 22, 23].includes(i);
return (
);
})}
YOKLAMA · 10-A
19 / 25
⚠ 6 öğrenci için veli SMS'i gönderildi
);
const RestaurantMock = () => {
const cols = [
{ label: 'YENİ', color: 'rgb(251 191 36)', items: ['#4821 · 2× Latte', '#4822 · Cheeseburger'] },
{ label: 'HAZIRLANIYOR', color: 'rgb(251 113 133)', items: ['#4819 · Pizza M'] },
{ label: 'HAZIR', color: 'rgb(52 211 153)', items: ['#4818 · Salata'] }
];
return (
{cols.map((c) => (
{c.label}
{c.items.map((item, i) => (
{item}
))}
))}
STOK · Süt: 12.4L
Espresso çekirdek: 3.2kg
);
};
const B2BMock = () => (
{[
['SKU-2401 · Ayçiçek Y.', '$18.40', '₺604'],
['SKU-2402 · Un 25kg', '$12.10', '₺397'],
['SKU-2403 · Zeytin 5L', '$22.80', '₺749']
].map(([sku, usd, try_], i) => (
{sku}
{usd}
{try_}
))}
12 bayi aktif · 3 sipariş bekliyor
);
const BeautyMock = () => {
const slots = [
{ t: '10:00', n: 'A. Yılmaz', s: 'Botoks · 2ml', c: true },
{ t: '11:30', n: 'M. Kaya', s: 'Dolgu · 1ml', c: true },
{ t: '14:00', n: 'Z. Demir', s: 'Lazer · Paket 3/6', c: false },
{ t: '15:30', n: 'S. Akın', s: 'Cilt Bakımı', c: true }
];
return (
23 NİSAN · ÇARŞAMBA
4 randevu
{slots.map((s, i) => (
{s.t}
{s.c ? (
) : (
)}
))}
SARF · Botoks 8.4ml
Dolgu 12.2ml
);
};
const AIMock = () => (
Öncesi / Sonrası görseli · Afiş talebi · 1 dakika içinde işleniyor
otomatik afiş
Yaz kampanyası
Logolu · Reels kapağı · 1080×1350
Planlı Paylaşım
Instagram · 19:30
Hashtag & Copy
Hazır · Onay bekliyor
);
const SECTORS = [
{
id: 'egitim',
icon: GraduationCap,
tag: 'Eğitim Kurumları & Dershaneler',
title: 'Yoklama ve taksit kaosuna son.',
desc:
"Defterleri ve Excel'i çöpe atın. Turnikeden geçen öğrencinin yoklaması alınır, gelmeyenin velisine anında SMS gider. Ödemesi gecikenler kızarır, tek tıkla tahsilat hatırlatması yapılır.",
hue: 210,
mock: EducationMock,
detail: {
eyebrow: 'Eğitim Kurumları Detayı',
headline: 'Dershanenizin akademik ritmi ve finansal röntgeni tek ekranda.',
intro:
'Öğrenci devamlılığını, öğretmen saatlerini, taksit disiplinini ve kurum kârlılığını tek bir akışta yönetin. Arka planda anlık SMS, ödeme alarmı ve çakışma önleyici motor çalışsın.',
standout:
'Sistem, dershanenizin finansal röntgenini çeker. Kimin ödemesi kaç gün gecikti, hangi öğretmen kaç saat derse girdi, kurumun net kârı nedir? Hepsini tek tıkla raporlar.',
modules: [
{
icon: BellRing,
title: 'Akıllı Yoklama Sistemi',
text: 'Turnike veya panel aksiyonuyla yoklama otomatik işlenir; gelmeyen öğrencinin velisine anlık SMS gönderilir.'
},
{
icon: CreditCard,
title: 'Taksit & Ödeme Takibi',
text: 'Geciken ödemeler renkli uyarı mantığıyla görünür, tahsilat akışı ve gecikme günleri tek bakışta izlenir.'
},
{
icon: Layers,
title: 'Öğretmen Paneli',
text: 'Öğretmenin ders saati, sınıf yükü, performans görünümü ve branş bazlı yoğunluğu merkezi panelde toplanır.'
},
{
icon: CalendarClock,
title: 'Ders Programı Çakışma Önleyici',
text: 'Sınıf, öğretmen ve saat çakışmalarını program yayınlanmadan önce engeller; operasyonu sakinleştirir.'
}
],
highlights: [
{ label: 'Veli iletişimi', value: 'Anlık SMS', note: 'Devamsızlık anında bildirim' },
{ label: 'Finans görünümü', value: 'Tek tık rapor', note: 'Gecikme, tahsilat, net kâr' },
{ label: 'Program güvenliği', value: 'Çakışma yok', note: 'Sınıf / öğretmen / saat kontrolü' }
],
workflow: [
'Öğrenci giriş yaptığı an yoklama otomatik düşer.',
'Devamsızlık varsa veliye anlık SMS çıkar.',
'Taksit gecikmeleri panelde alarm mantığıyla kızarır.',
'Kurum sahibi finans ve kârlılık raporunu tek tıkla görür.'
]
}
},
{
id: 'restoran',
icon: UtensilsCrossed,
tag: 'Restoran & Cafe',
title: 'Gramajına kadar hatasız mutfak.',
desc:
'Sipariş girildiği an mutfak kanban ekranına düşer. Satılan her kahve, reçetesindeki çekirdekten ve sütten gramı gramına otomatik düşülür. Fireyi sıfırlayın.',
hue: 30,
mock: RestaurantMock,
detail: {
eyebrow: 'Restoran & Cafe Detayı',
headline: 'Servis hızını, reçeteyi ve kârlılığı tek dijital hat üzerinde birleştirin.',
intro:
'Profesyonel POS, mutfak sırası, reçeteli stok takibi ve personel verimini aynı ekranda senkronize eden restoran işletim sistemi.',
standout:
'Gramaj Bazlı Kontrol: Bir porsiyon iskender satıldığında, sistem arka planda 120gr et, 50gr tereyağı ve 1 adet pideyi stoktan milimetrik olarak düşer. Ay sonu firenizi %0\'a indirir.',
modules: [
{
icon: CreditCard,
title: 'Profesyonel POS',
text: 'Sipariş girişini hızlılaştırır, masa ve paket servis akışını tek panelde birleştirir.'
},
{
icon: Workflow,
title: 'Mutfak Kanban',
text: 'Siparişler mutfakta sıra mantığıyla akar; yeni, hazırlanıyor ve hazır durumları net şekilde görünür.'
},
{
icon: Flame,
title: 'Reçeteli Stok Takibi',
text: 'Satılan her ürün, reçetesindeki gramaj ve porsiyon bilgisine göre stoktan otomatik düşer.'
},
{
icon: Activity,
title: 'Personel Performans Analizi',
text: 'Vardiya, satış katkısı ve operasyon hızı ekip bazında kıyaslanabilir hale gelir.'
},
{
icon: DollarSign,
title: 'Gelir / Gider Tablosu',
text: 'Günlük satış, masraf ve dönemsel kârlılık tek finans görünümünde birleşir.'
}
],
highlights: [
{ label: 'Stok hassasiyeti', value: 'Gramaj bazlı', note: 'Et, yağ, sos, pide, kahve' },
{ label: 'Mutfak akışı', value: 'Kanban düzeni', note: 'Sırayı kaybetmeden üretim' },
{ label: 'Ay sonu kontrol', value: 'Firesiz rapor', note: 'Gerçek maliyet görünürlüğü' }
],
workflow: [
'Kasadan sipariş geçilir geçilmez mutfak kanbanı güncellenir.',
'Reçete motoru stok düşümünü ürün bazında işler.',
'Personel performansı operasyon verisinden beslenir.',
'Gelir / gider tablosu gün sonunda otomatik netleşir.'
]
}
},
{
id: 'toptanci',
icon: Store,
tag: 'Toptancı & B2B Ağları',
title: 'Kura endeksli anlık fiyat & bayi ağı.',
desc:
'WhatsApp\'tan sipariş almaya son. Bayileriniz "Store" panelinizden güncel stoklarınızı görüp sipariş geçsin. Fiyatlarınız anlık USD kuruna göre otomatik güncellensin.',
hue: 160,
mock: B2BMock,
detail: {
eyebrow: 'B2B Toptancı & Mağaza Detayı',
headline: 'Sınırsız bayi ağını tek merkezden yöneten kur duyarlı satış omurgası.',
intro:
'Şube, bayi, döviz bazlı fiyat ve açık hesap yönetimini tek superadmin katmanında toplayan yüksek hızlı B2B ticaret altyapısı.',
standout:
'Sınırsız Bayi Ağı: Bayileriniz WhatsApp\'ta vakit kaybetmez; kendi Store panellerinden sipariş geçer. Döviz kuru değiştiğinde tüm fiyatlarınız saniyeler içinde otomatik güncellenir.',
modules: [
{
icon: Shield,
title: 'Superadmin Şube Yönetimi',
text: 'Merkez panelden tüm mağaza ve şube yapılarını standart hale getirir, yetkiyi katmanlı dağıtır.'
},
{
icon: Store,
title: 'Bayi Sipariş Portalı',
text: 'Bayiler stok, fiyat ve cari bilgileri görerek kendi panellerinden hızlı sipariş oluşturur.'
},
{
icon: DollarSign,
title: 'Kura Endeksli Otomatik Fiyatlama',
text: 'USD / EUR değişimlerinde ürün fiyatlarını anlık kur mantığıyla otomatik yeniler.'
},
{
icon: CreditCard,
title: 'Cari & Açık Hesap Takibi',
text: 'Bayi bakiyesi, risk limiti ve açık hesap pozisyonu sürekli görünür kalır.'
}
],
highlights: [
{ label: 'Kur refleksi', value: 'Saniyeler içinde', note: 'USD / EUR bazlı fiyat güncelleme' },
{ label: 'Sipariş disiplini', value: 'Bayi paneli', note: 'WhatsApp karmaşasını bitirir' },
{ label: 'Merkez kontrol', value: 'Superadmin', note: 'Şube, bayi, fiyat, cari tek yerde' }
],
workflow: [
'Merkez fiyat stratejisi superadmin panelden tanımlanır.',
'Kur değiştiğinde ürün katalogları toplu güncellenir.',
'Bayi kendi store ekranından siparişi oluşturur.',
'Cari ve açık hesap dengesi sipariş anında sisteme işlenir.'
]
}
},
{
id: 'guzellik',
icon: Scissors,
tag: 'Güzellik Merkezleri',
title: 'Randevu ve paketlerde sıfır hata.',
desc:
'Çakışan randevulara, unutulan seanslara elveda. Müşteri randevuları, paket satış takipleri ve personel primleri tek sistemde. Sarflar miligramına otomatik düşer.',
hue: 295,
mock: BeautyMock,
detail: {
eyebrow: 'Güzellik Merkezi Detayı',
headline: 'Randevu, seans, prim ve sarf akışını kusursuz bir hizmet döngüsüne çevirin.',
intro:
'Uzman planlamasından paket kullanımına, müşteri geçmişinden sarf tüketimine kadar her noktayı görünür kılan güçlü CRM + operasyon katmanı.',
standout:
'Müşteriniz geldiğinde kaç seansı kalmış, hangi uzman ilgilenmiş, ne kadar ödeme yapmış? Hepsi saniyeler içinde ekranda. Unutulan randevulara ve karışan paketlere son.',
modules: [
{
icon: CalendarClock,
title: 'Akıllı Randevu Takvimi',
text: 'Uzman, oda ve işlem tipine göre çakışmaları önleyerek gün akışını netleştirir.'
},
{
icon: Layers,
title: 'Seans & Paket Satış Yönetimi',
text: 'Kaç seans kullanıldı, ne kadar hak kaldı, hangi paket ne zaman satıldı tek panelde görünür.'
},
{
icon: Activity,
title: 'Personel Prim Sistemi',
text: 'Uzman bazlı satış ve işlem performansı üzerinden prim hesapları düzenli hale gelir.'
},
{
icon: Flame,
title: 'Sarf Malzeme Stok',
text: 'Gramajlı / miligramlı ürünler yapılan işlem kadar stoktan otomatik düşülür.'
}
],
highlights: [
{ label: 'Müşteri görünümü', value: '360° profil', note: 'Seans, ödeme, uzman geçmişi' },
{ label: 'Takvim düzeni', value: 'Çakışmasız', note: 'Uzman ve oda senkronu' },
{ label: 'Sarf takibi', value: 'Mg hassasiyet', note: 'İşlem kadar stok düşümü' }
],
workflow: [
'Randevu oluşurken uzman ve zaman uygunluğu doğrulanır.',
'Müşteri geldiğinde kalan seans ve ödeme geçmişi açılır.',
'İşlem tamamlandığında sarf ve seans hakkı otomatik düşer.',
'Prim, satış ve operasyon raporu gün sonunda hazırlanır.'
]
}
},
{
id: 'ai',
icon: Bot,
tag: 'BİREVEBER AI Tasarım & Sosyal Medya',
title: 'Fotoğraftan yayına giden tam otomatik vitrin.',
desc:
'Telefonunuzla çekin, WhatsApp\'tan bota gönderin. Bireveber AI sektörel afişi, videosu, metni ve paylaşım planını otomatik hazırlasın.',
hue: 255,
mock: AIMock,
detail: {
eyebrow: 'BİREVEBER AI Detayı',
headline: 'WhatsApp mesajını tasarıma, tasarımı yayına çeviren yaratıcı otomasyon motoru.',
intro:
'İşletmenizin sosyal medya üretim sürecini içerik stüdyosu kalitesine çıkaran; fotoğraf, afiş, video, metin ve paylaşım takvimini tek akışta yöneten AI çözümü.',
standout:
'Kendi Tasarımcınız: Siz sadece telefonunuzla fotoğrafı çekin ve WhatsApp\'tan bota yollayın. Bireveber AI, o fotoğrafı sektörel bir sanat eserine dönüştürür ve Instagram\'da paylaşmaya hazır hale getirir.',
modules: [
{
icon: MessageCircle,
title: 'WhatsApp Entegrasyonu',
text: 'İçerik üretimi telefon ekranından başlar; kullanıcı fotoğrafı veya talebi botla anında paylaşır.'
},
{
icon: Sparkles,
title: '"Öncesi / Sonrası" Şablonları',
text: 'Güzellik, sağlık, mekân ve ürün tanıtımlarında dönüşüm odaklı hazır kompozisyonlar üretir.'
},
{
icon: Zap,
title: 'Otomatik Afiş / Video Üretimi',
text: 'Logolu afişler, kısa video kapakları ve kampanya görselleri saniyeler içinde hazırlanır.'
},
{
icon: Instagram,
title: 'Planlı Sosyal Medya Paylaşımı',
text: 'Metin, hashtag ve yayın saatiyle birlikte içeriği platforma hazır hâle getirir.'
}
],
highlights: [
{ label: 'İçerik başlangıcı', value: 'WhatsApp', note: 'Ek panel aramadan üretim' },
{ label: 'Kreatif çıktı', value: 'Afiş + video', note: 'Logolu ve sektöre özel' },
{ label: 'Yayın disiplini', value: 'Planlı paylaşım', note: 'Hazır caption ve hashtag' }
],
workflow: [
'İşletme telefondan fotoğrafı veya brief\'i bota gönderir.',
'AI görsel kompozisyonu, metni ve şablonu üretir.',
'İçerik onaya veya otomatik plana düşer.',
'Instagram paylaşımı belirlenen saatte hazır hale gelir.'
]
}
}
];
const DetailMiniScreen = ({ sector }) => {
const Mock = sector.mock;
return (
detay görünümü
{sector.tag}
Live System
{sector.detail.highlights.map((item) => (
{item.label}
{item.value}
))}
);
};
const SectorCard = ({ sector, index, wide = false, onOpen }) => {
const { icon: Icon, tag, title, desc, hue, mock: Mock } = sector;
const mx = useMotionValue(0);
const my = useMotionValue(0);
const onMove = (e) => {
const r = e.currentTarget.getBoundingClientRect();
mx.set(e.clientX - r.left);
my.set(e.clientY - r.top);
};
return (
{
e.currentTarget.style.boxShadow = `0 30px 80px -20px oklch(0.6 0.2 ${hue} / 0.6), 0 0 0 1px oklch(0.75 0.2 ${hue} / 0.2)`;
}}
onMouseLeave={(e) => {
e.currentTarget.style.boxShadow = `0 20px 60px -30px oklch(0.6 0.2 ${hue} / 0)`;
}}
>
`radial-gradient(380px circle at ${x}px ${y}px, oklch(0.75 0.2 ${hue} / 0.22), transparent 60%)`
)
}}
/>
{tag}
{title}
{desc}
Bireveber · {sector.id}.module
onOpen(sector.id)} icon={ArrowRight}>
Daha Fazla Bilgi Al
Demo İste
);
};
const SectorsSection = ({ onOpen }) => (
Sektörel Çözümler
Sizin sektörünüz,
sizin kuralınız.
Her sektörün farklı bir nabzı var. Bireveber modülleri, işletmenizin her zerresine
değecek şekilde inşa edilir. Kartın içine girin; detay sayfalarında modülleri ve operasyon etkisini derinlemesine görün.
);
// ────────────────────────────────────────────────────────────────────────────
// DIFFERENTIATOR
// ────────────────────────────────────────────────────────────────────────────
const DiffSection = () => {
const features = [
{ icon: Puzzle, t: 'Terzi işi modüller', d: 'İhtiyacınıza özel kodlanır' },
{ icon: Workflow, t: 'Hızlı entegrasyon', d: 'Mevcut sistemleri konuşturur' },
{ icon: Shield, t: 'Veri egemenliği', d: 'Verileriniz, sizin sunucunuzda' },
{ icon: Activity, t: 'Gerçek zamanlı', d: 'Panel, cebinizde, anlık' }
];
return (
Bizi farklı kılan ne?
Terzi işi.
Sınır tanımayan
modüller.
Size paket bir program satıp kenara çekilmeyiz. İşletmenizin operasyonel dinamiği
neyi gerektiriyorsa — o eksiği kapatacak ekstra modülleri sıfırdan geliştirir,
sisteme entegre ederiz. Sınırlarınız, sadece hayal gücünüzdür.
{features.map((f, i) => (
))}
);
};
// ────────────────────────────────────────────────────────────────────────────
// DETAIL OVERLAY
// ────────────────────────────────────────────────────────────────────────────
const DetailModuleCard = ({ item, hue, index }) => (
{item.title}
{item.text}
);
const DetailStatCard = ({ item, hue, index }) => (
{item.label}
{item.value}
{item.note}
);
const DetailWorkflowCard = ({ step, hue, index }) => (
0{index + 1}
{step}
);
const DetailOverlay = ({ sector, onClose }) => {
const contentRef = useRef(null);
useEffect(() => {
const prev = document.body.style.overflow;
document.body.style.overflow = 'hidden';
const onKey = (e) => {
if (e.key === 'Escape') onClose();
};
window.addEventListener('keydown', onKey);
return () => {
document.body.style.overflow = prev;
window.removeEventListener('keydown', onKey);
};
}, [onClose]);
useEffect(() => {
if (contentRef.current) contentRef.current.scrollTop = 0;
}, [sector.id]);
const detail = sector.detail;
const waText = encodeURIComponent(`Merhaba, ${sector.tag} çözümünüz için demo almak istiyorum.`);
const gradients = {
background: `linear-gradient(180deg, oklch(0.1 0.03 ${sector.hue}) 0%, rgba(2,6,23,0.98) 18%, rgba(2,6,23,0.98) 100%)`
};
return (
←
Ana sayfaya dön
{detail.eyebrow}
✕
{detail.eyebrow}
{detail.headline}
{detail.intro}
WhatsApp ile Danış
Hemen Demo İste
{detail.highlights.map((item, index) => (
))}
Bento Grid
Çekirdek modüller
Deep Dive
{detail.modules.map((item, index) => (
))}
Öne çıkan
“{detail.standout}”
Neden etkili?
{detail.highlights.map((item) => (
))}
Operasyon akışı
Nasıl çalışır?
{detail.workflow.map((step, index) => (
))}
Sahadaki etkisi
Detay ekranı gibi hissettiren, karar verdiren net bir hikâye
{detail.highlights.map((item, index) => (
{item.value}
{item.label} üzerinden {item.note.toLowerCase()}.
))}
Bam bam bam etkisi
Bu detay ekranı; ürünün sadece ne yaptığını değil, operasyonu nasıl dönüştürdüğünü gösterir.
Görsel hiyerarşi, modül kümeleri, vurucu öne çıkan metinler ve canlı sistem mock’ları sayesinde ziyaretçi ana sayfayı terk etmeden tam bir ürün deneyimi hisseder.
Son adım
{sector.tag} için hemen aksiyona geçin.
İsterseniz canlı demo akışını kuralım, isterseniz doğrudan WhatsApp üzerinden senaryonuzu dinleyelim.
Bu ekranın altından çıkış almadan doğrudan iletişime geçilebilir.
Hemen Demo İste
WhatsApp ile Danış
);
};
// ────────────────────────────────────────────────────────────────────────────
// FOOTER / CONTACT
// ────────────────────────────────────────────────────────────────────────────
const Footer = () => (
Hemen Başlayın
İşletmenizi
otopilota
{' '}
alın.
Bireveber ile hemen iletişime geçin. Size özel demoyu 24 saat içinde hazırlayalım.
© 2026 · Tüm hakları saklıdır.
Yazılım · Otomasyon · AI Sosyal Medya & Tasarım
FanoTek Tasarım ve teknoloji
);
// ────────────────────────────────────────────────────────────────────────────
// APP + ROUTE-LIKE DETAIL STATE
// ────────────────────────────────────────────────────────────────────────────
const getDetailIdFromHash = () => {
if (typeof window === 'undefined') return null;
const match = window.location.hash.match(/^#detay-([a-z0-9_-]+)/i);
return match ? match[1] : null;
};
const App = () => {
const [selectedId, setSelectedId] = useState(() => getDetailIdFromHash());
useEffect(() => {
const syncFromHash = () => {
const id = getDetailIdFromHash();
const exists = SECTORS.some((item) => item.id === id);
setSelectedId(exists ? id : null);
};
window.addEventListener('popstate', syncFromHash);
window.addEventListener('hashchange', syncFromHash);
syncFromHash();
return () => {
window.removeEventListener('popstate', syncFromHash);
window.removeEventListener('hashchange', syncFromHash);
};
}, []);
const openDetail = (id) => {
if (!SECTORS.some((item) => item.id === id)) return;
const nextHash = `#detay-${id}`;
if (window.location.hash !== nextHash) {
window.history.pushState({ detail: id }, '', nextHash);
}
setSelectedId(id);
};
const closeDetail = () => {
const base = `${window.location.pathname}${window.location.search}`;
window.history.pushState({}, '', base);
setSelectedId(null);
};
const selectedSector = useMemo(
() => SECTORS.find((item) => item.id === selectedId) || null,
[selectedId]
);
return (
{selectedSector ? : null}
);
};
// ────────────────────────────────────────────────────────────────────────────
// FIXED WHATSAPP FAB
// ────────────────────────────────────────────────────────────────────────────
const WhatsAppFab = () => (
WhatsApp'tan Bilgi Al
{[0, 1, 2].map((i) => (
))}
);
Object.assign(window, { App });