diff --git a/client/package-lock.json b/client/package-lock.json index e6ab9dc..5fcdbcc 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -20,6 +20,7 @@ "next": "^16.2.10", "react": "19.1.0", "react-dom": "19.1.0", + "react-icons": "^5.6.0", "tailwind-merge": "^3.3.1", "tailwindcss-animate": "^1.0.7" }, @@ -5803,6 +5804,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 e73f239..2381b49 100644 --- a/client/package.json +++ b/client/package.json @@ -27,6 +27,7 @@ "next": "^16.2.10", "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..7ea8277 --- /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 2e0972c..7f5af9f 100644 --- a/client/src/pages/_app.tsx +++ b/client/src/pages/_app.tsx @@ -5,6 +5,7 @@ import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import type { AppProps } from "next/app"; import { Montserrat } from "next/font/google"; +import Footer from "@/components/ui/footer"; import Navbar from "@/components/ui/Navbar"; const montserrat = Montserrat({ @@ -21,6 +22,7 @@ export default function App({ Component, pageProps }: AppProps) {
+
); diff --git a/client/tsconfig.json b/client/tsconfig.json index 390f9d8..e6040fb 100644 --- a/client/tsconfig.json +++ b/client/tsconfig.json @@ -21,7 +21,10 @@ "./src/*" ] }, - "target": "ES2017" + "target": "ES2017", + "plugins": [ + { "name": "next"} + ] }, "include": [ "next-env.d.ts",