feat: build IPTEK company website with full bilingual support

- Complete Next.js 16 app with App Router: Home, About, Products, Contact, Privacy pages
- Product detail pages: ZappCare, Unified TMS, EMR Clinic
- Bilingual support (Indonesian/English) via LanguageContext + translations.ts
- Language switcher pill button (🇮🇩 ID / 🇬🇧 EN) in Navbar with localStorage persistence
- Navbar with logo, responsive mobile menu, translated nav links
- Contact form with captcha, server action email sending, translated labels
- Material Design 3 color tokens, Manrope + Inter fonts, Material Symbols icons
- Local product image assets and company logo

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Wira Basalamah
2026-04-21 12:25:03 +07:00
parent c96a117764
commit c955792497
25 changed files with 2671 additions and 85 deletions

43
components/Footer.tsx Normal file
View File

@ -0,0 +1,43 @@
"use client";
import Link from "next/link";
import { useLang } from "@/context/LanguageContext";
import { t } from "@/lib/translations";
export default function Footer() {
const { lang } = useLang();
const tr = t[lang].footer;
const footerLinks = [
{ href: "/privacy", label: tr.privacy },
{ href: "/terms", label: tr.terms },
{ href: "/faq", label: tr.faq },
{ href: "/contact", label: tr.support },
];
return (
<footer className="bg-slate-50 w-full py-12">
<div className="max-w-7xl mx-auto px-8 flex flex-col md:flex-row justify-between items-center gap-6">
<div className="flex flex-col items-center md:items-start">
<span className="text-xl font-bold text-slate-900 mb-2 font-headline">
Integrasi Persada Teknologi
</span>
<p className="text-sm text-slate-500">
© {new Date().getFullYear()} Integrasi Persada Teknologi. {tr.rights}
</p>
</div>
<div className="flex gap-8 text-sm text-slate-500">
{footerLinks.map((link) => (
<Link
key={link.href}
href={link.href}
className="hover:text-blue-500 transition-all cursor-pointer"
>
{link.label}
</Link>
))}
</div>
</div>
</footer>
);
}