/* ============================================================
Shared components — Header, Footer, MobileBar, etc.
============================================================ */
const PHONE_DISPLAY = "0474 223 16 20";
const PHONE_LINK = "tel:+904742231620";
const PHONE_MOBILE_1 = "0538 772 89 20";
const PHONE_MOBILE_1_LINK = "tel:+905387728920";
const PHONE_MOBILE_2 = "0553 113 80 25";
const PHONE_MOBILE_2_LINK = "tel:+905531138025";
const WHATSAPP_DISPLAY = "0554 193 97 36";
const WHATSAPP_LINK = "https://wa.me/905541939736";
const BRAND = "Taner Elektronik";
const BRAND_FULL = "Taner Elektronik · Baymak Yetkili Servisi";
const CONTACT_NAME = "Taner Kaya";
const TAGLINE = "Kars Baymak Yetkili Servisi";
const NAV = [
{ id: "home", label: "Ana Sayfa" },
{ id: "hizmetler", label: "Hizmetler" },
{ id: "kombi", label: "Kombi Servisi" },
{ id: "sss", label: "Sık Sorulan Sorular" },
{ id: "iletisim", label: "İletişim" },
];
/* -------- Logo ------------------------------------- */
function Logo({ size = 44, dark = false }) {
if (dark) {
// Footer / dark surface: text-only treatment
return (
{ e.preventDefault(); window.dispatchEvent(new CustomEvent("nav", { detail: "home" })); }}
style={{
display: "inline-flex", alignItems: "center", gap: 12,
textDecoration: "none", color: "#fff",
}}
aria-label={BRAND_FULL}
>
TANER ELEKTRONİK
BAYMAK YETKİLİ SERVİSİ · KARS
);
}
// Header / light surface: brand image logo
return (
{ e.preventDefault(); window.dispatchEvent(new CustomEvent("nav", { detail: "home" })); }}
style={{
display: "inline-flex", alignItems: "center",
textDecoration: "none",
}}
aria-label={BRAND_FULL}
>
);
}
/* -------- Header ----------------------------------- */
function Header({ current, onNav }) {
const [scrolled, setScrolled] = React.useState(false);
const [menuOpen, setMenuOpen] = React.useState(false);
React.useEffect(() => {
const onScroll = () => setScrolled(window.scrollY > 12);
onScroll();
window.addEventListener("scroll", onScroll, { passive: true });
return () => window.removeEventListener("scroll", onScroll);
}, []);
return (
<>
{/* Top announcement strip */}
Kars'ta Baymak Yetkili Kombi & Klima Servisi
{PHONE_DISPLAY}
{menuOpen && (
{NAV.map((item) => (
))}
{PHONE_DISPLAY}
)}
>
);
}
/* -------- Mobile bottom bar ------------------------ */
function MobileBar() {
return (
);
}
/* -------- Footer ----------------------------------- */
function Footer({ onNav }) {
return (
);
}
function FooterCol({ title, items, onClick }) {
return (
{title}
{items.map((it, i) => (
-
{onClick ? (
) : (
e.preventDefault()} style={{ color: "rgba(255,255,255,0.78)", textDecoration: "none" }}>{it}
)}
))}
);
}
/* -------- Service Card ----------------------------- */
function ServiceCard({ icon: I, title, desc, tone = "default", onRequest }) {
return (
);
}
/* -------- FAQ Accordion ---------------------------- */
function FAQ({ items, defaultOpen = -1 }) {
const [open, setOpen] = React.useState(defaultOpen);
return (
{items.map((q, i) => {
const isOpen = open === i;
return (
);
})}
);
}
/* -------- Stat / Badge tile ------------------------ */
function StatTile({ icon: I, title, sub }) {
return (
);
}
/* -------- Section header --------------------------- */
function SectionHead({ eyebrow, title, lede, align = "left" }) {
return (
{eyebrow &&
{eyebrow}
}
{title}
{lede &&
{lede}
}
);
}
Object.assign(window, { Logo, Header, MobileBar, Footer, ServiceCard, FAQ, StatTile, SectionHead, PHONE_DISPLAY, PHONE_LINK, PHONE_MOBILE_1, PHONE_MOBILE_1_LINK, PHONE_MOBILE_2, PHONE_MOBILE_2_LINK, WHATSAPP_DISPLAY, WHATSAPP_LINK, BRAND, BRAND_FULL, CONTACT_NAME, TAGLINE, NAV });