From 98059d50bc4ac5d7488d4715ad170656e613d278 Mon Sep 17 00:00:00 2001 From: Nico Haider Date: Tue, 21 Apr 2026 20:58:48 +0200 Subject: [PATCH] feat(home): social media icons and links --- app/[locale]/page.tsx | 39 +++++++++++++++++++++++++++++----- components/icons/facebook.tsx | 25 ++++++++++++++++++++++ components/icons/instagram.tsx | 25 ++++++++++++++++++++++ components/icons/linkedin.tsx | 25 ++++++++++++++++++++++ 4 files changed, 109 insertions(+), 5 deletions(-) create mode 100644 components/icons/facebook.tsx create mode 100644 components/icons/instagram.tsx create mode 100644 components/icons/linkedin.tsx diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx index 4d51bff..bd01cdc 100644 --- a/app/[locale]/page.tsx +++ b/app/[locale]/page.tsx @@ -1,9 +1,12 @@ import { useTranslations } from "next-intl"; import { TypographyH1, TypographyLead } from "../../components/ui/typography"; import { Badge } from "../../components/ui/badge"; -import { Apple, Mail, MapPin, Phone } from "lucide-react"; +import { Mail, MapPin, Phone } from "lucide-react"; import Image from "next/image"; import { Button } from "../../components/ui/button"; +import { InstagramIcon } from "../../components/icons/instagram"; +import { LinkedInIcon } from "../../components/icons/linkedin"; +import { FacebookIcon } from "../../components/icons/facebook"; export default function Home() { const t = useTranslations(); @@ -41,10 +44,36 @@ export default function Home() {
- {/* TODO: social media icons and links */} - - - + + +
diff --git a/components/icons/facebook.tsx b/components/icons/facebook.tsx new file mode 100644 index 0000000..6ee3a5c --- /dev/null +++ b/components/icons/facebook.tsx @@ -0,0 +1,25 @@ +import * as React from "react" + +type FacebookIconProps = React.ComponentProps<"svg"> & { + title?: string +} + +export function FacebookIcon({ title, ...props }: FacebookIconProps) { + const ariaHidden = title ? undefined : true + + return ( + + {title ? {title} : null} + + + ) +} + diff --git a/components/icons/instagram.tsx b/components/icons/instagram.tsx new file mode 100644 index 0000000..b521232 --- /dev/null +++ b/components/icons/instagram.tsx @@ -0,0 +1,25 @@ +import * as React from "react" + +type InstagramIconProps = React.ComponentProps<"svg"> & { + title?: string +} + +export function InstagramIcon({ title, ...props }: InstagramIconProps) { + const ariaHidden = title ? undefined : true + + return ( + + {title ? {title} : null} + + + ) +} + diff --git a/components/icons/linkedin.tsx b/components/icons/linkedin.tsx new file mode 100644 index 0000000..5d8cdca --- /dev/null +++ b/components/icons/linkedin.tsx @@ -0,0 +1,25 @@ +import * as React from "react" + +type LinkedInIconProps = React.ComponentProps<"svg"> & { + title?: string +} + +export function LinkedInIcon({ title, ...props }: LinkedInIconProps) { + const ariaHidden = title ? undefined : true + + return ( + + {title ? {title} : null} + + + ) +} +