From 6781211d9da1e3c488b18955af707750d51f02ee Mon Sep 17 00:00:00 2001 From: Replit Agent Date: Fri, 5 Jun 2026 22:00:16 +0000 Subject: [PATCH] Update website layout to include a redesigned footer section Implement a new footer component in AppLayout.tsx and add translations for footer links and text in translations.ts. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 1fa9329f-0cec-4a2f-80e8-e26dbae3142e Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 183f5c8d-3782-49ac-b611-3d83bcfdd05b Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/4d696b13-86f2-4c9d-be0d-95b293430047/1fa9329f-0cec-4a2f-80e8-e26dbae3142e/GHSmanY Replit-Helium-Checkpoint-Created: true --- .../src/components/layout/AppLayout.tsx | 135 +++++++++++++++++- .../ehsan-poc/src/lib/i18n/translations.ts | 46 ++++++ 2 files changed, 174 insertions(+), 7 deletions(-) diff --git a/artifacts/ehsan-poc/src/components/layout/AppLayout.tsx b/artifacts/ehsan-poc/src/components/layout/AppLayout.tsx index 30b93ee..44d3001 100644 --- a/artifacts/ehsan-poc/src/components/layout/AppLayout.tsx +++ b/artifacts/ehsan-poc/src/components/layout/AppLayout.tsx @@ -1,20 +1,141 @@ import { ReactNode } from "react"; +import { Link } from "wouter"; +import { Phone, Apple, Play } from "lucide-react"; import { Header } from "./Header"; -import ehsanLogo from "../../assets/ehsan-logo.png"; +import { useLanguage } from "../../contexts/LanguageContext"; + +function XIcon({ className = "" }: { className?: string }) { + return ( + + ); +} + +interface FooterLink { + label: string; + href: string; + internal?: boolean; +} export function AppLayout({ children }: { children: ReactNode }) { + const { t } = useLanguage(); + const f = t.footer; + + const overviewLinks: FooterLink[] = [ + { label: f.overviewAbout, href: "/about", internal: true }, + { label: f.overviewCommittees, href: "/about/committees", internal: true }, + { label: f.overviewSms, href: "#" }, + { label: f.overviewSitemap, href: "#" }, + ]; + + const supportLinks: FooterLink[] = [ + { label: f.supportComplaints, href: "#" }, + { label: f.supportSla, href: "#" }, + { label: f.supportFaq, href: "#" }, + { label: f.supportPrivacy, href: "#" }, + { label: f.supportAccessibility, href: "#" }, + ]; + + const renderLink = (link: FooterLink) => { + const cls = + "text-sm text-white/80 transition-colors hover:text-white"; + if (link.internal) { + return ( + + {link.label} + + ); + } + return ( + + {link.label} + + ); + }; + return (
{children}
-