From a52b6e812a974a3e447d2b3c60c43dbc9bf4c39d Mon Sep 17 00:00:00 2001 From: sumishsamina Date: Tue, 7 Jul 2026 00:01:56 +0000 Subject: [PATCH 1/4] create footer component --- client/package-lock.json | 10 ++ client/package.json | 1 + client/src/components/ui/footer.tsx | 168 ++++++++++++++++++++++++++++ client/src/pages/_app.tsx | 3 + client/tsconfig.json | 5 +- 5 files changed, 186 insertions(+), 1 deletion(-) create mode 100644 client/src/components/ui/footer.tsx diff --git a/client/package-lock.json b/client/package-lock.json index f9648a0..21eda6e 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -20,6 +20,7 @@ "next": "15.4.7", "react": "19.1.0", "react-dom": "19.1.0", + "react-icons": "^5.6.0", "tailwind-merge": "^3.3.1", "tailwindcss-animate": "^1.0.7" }, @@ -5736,6 +5737,15 @@ "react": "^19.1.0" } }, + "node_modules/react-icons": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.6.0.tgz", + "integrity": "sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA==", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", diff --git a/client/package.json b/client/package.json index ce70203..0633dc6 100644 --- a/client/package.json +++ b/client/package.json @@ -27,6 +27,7 @@ "next": "15.4.7", "react": "19.1.0", "react-dom": "19.1.0", + "react-icons": "^5.6.0", "tailwind-merge": "^3.3.1", "tailwindcss-animate": "^1.0.7" }, diff --git a/client/src/components/ui/footer.tsx b/client/src/components/ui/footer.tsx new file mode 100644 index 0000000..d5165a1 --- /dev/null +++ b/client/src/components/ui/footer.tsx @@ -0,0 +1,168 @@ +"use client"; + +import { ChevronsUp } from "lucide-react"; +import { Inter } from "next/font/google"; +import Image from "next/image"; +import * as React from "react"; +import { BsFacebook,BsInstagram, BsLinkedin } from "react-icons/bs"; + +import { Button } from "@/components/ui/button"; + +const inter = Inter({ subsets: ["latin"] }); + +// --------------------------------------------------------------------------- +// Site map data +// --------------------------------------------------------------------------- +const siteMapLinks = [ + { label: "home", href: "/" }, + { label: "about us", href: "/about" }, + { label: "news", href: "/news" }, + { label: "events", href: "/events" }, + { label: "wa savings", href: "/wa-savings" }, + { label: "resources", href: "/resources" }, + { label: "contact", href: "/contact" }, +] as const; + +const socialLinks = [ + { label: "Instagram", href: "https://instagram.com", Icon: BsInstagram }, + { label: "LinkedIn", href: "https://linkedin.com", Icon: BsLinkedin }, + { label: "Facebook", href: "https://facebook.com", Icon: BsFacebook }, +] as const; + +export default function Footer() { + const scrollToTop = () => { + window.scrollTo({ top: 0, behavior: "smooth" }); + }; + + return ( + + ); +} + +// --------------------------------------------------------------------------- +// Charity badge +// --------------------------------------------------------------------------- +function CharityBadge() { + return ( + + ACNC Registered Charity Tick + + ); +} + +// Faint background + +function HouseWatermark() { + return ( + + ); +} diff --git a/client/src/pages/_app.tsx b/client/src/pages/_app.tsx index 628e9f2..a8ce8bf 100644 --- a/client/src/pages/_app.tsx +++ b/client/src/pages/_app.tsx @@ -4,6 +4,8 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import type { AppProps } from "next/app"; +import Footer from "@/components/ui/footer"; + const queryClient = new QueryClient(); export default function App({ Component, pageProps }: AppProps) { @@ -11,6 +13,7 @@ export default function App({ Component, pageProps }: AppProps) { +