'use client'; import React, { useEffect, useState } from 'react'; import Link from 'next/link'; import { Mail, MapPin, Phone } from 'lucide-react'; import { AnnouncementBar } from '@/layout/AnnouncementBar'; import { Header } from '@/layout/Header'; import { Navbar } from '@/layout/Navbar'; import { Footer } from '@/layout/Footer'; import { StickyHeaderSpacer } from '@/components/StickyHeaderSpacer'; import { FloatingButtons } from '@/components/FloatingButtons'; import { storefrontService, type FooterInfo, type StorefrontSettings, MOCK_FOOTER_INFO, } from '@/services/api/storefrontService'; function telHref(phone: string): string { return `tel:${phone.replace(/[^\d+]/g, '')}`; } function mapsHref(address: string): string { return `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(address)}`; } export default function ContactPage() { const [footer, setFooter] = useState(MOCK_FOOTER_INFO); const [settings, setSettings] = useState({ store_name: 'iFixKart' }); useEffect(() => { let cancelled = false; Promise.all([ storefrontService.getFooterInfo(), storefrontService.getSettings(), ]).then(([info, store]) => { if (cancelled) return; if (info) setFooter(info); if (store) setSettings(store); }); return () => { cancelled = true; }; }, []); const storeName = settings.store_name || 'iFixKart'; const phone = footer.phone || settings.support_phone || ''; const email = footer.email || ''; const address = footer.address || ''; const socials = (footer.social_links || []).filter((s) => s?.url); return (

Contact Us

Reach {storeName} for orders, repairs, and product support. We typically respond within one business day.

{socials.length > 0 ? (

Follow us

{socials.map((s, i) => ( {s.platform} ))}
) : null}

Looking for quick answers?{' '} Browse FAQs

); }