From 98044be08600daf6bd7c7e1a4adada319dbcbbaf Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Fri, 20 Oct 2023 15:23:47 +0200
Subject: feat(components): add a Colophon component

---
 src/components/organisms/layout/site-footer.tsx | 34 ++++++-------------------
 1 file changed, 8 insertions(+), 26 deletions(-)

(limited to 'src/components/organisms/layout/site-footer.tsx')

diff --git a/src/components/organisms/layout/site-footer.tsx b/src/components/organisms/layout/site-footer.tsx
index 9ed5ce6..ccab051 100644
--- a/src/components/organisms/layout/site-footer.tsx
+++ b/src/components/organisms/layout/site-footer.tsx
@@ -4,20 +4,13 @@ import { Footer } from '../../atoms';
 import {
   BackToTop,
   type BackToTopProps,
-  NavList,
-  NavItem,
-  NavLink,
+  Colophon,
+  type ColophonLink,
   type CopyrightProps,
   Copyright,
 } from '../../molecules';
 import styles from './site-footer.module.scss';
 
-export type FooterLinks = {
-  id: string;
-  href: string;
-  label: string;
-};
-
 export type SiteFooterProps = {
   /**
    * Set additional classnames to the back to top button.
@@ -38,7 +31,7 @@ export type SiteFooterProps = {
   /**
    * The footer nav items.
    */
-  navItems?: FooterLinks[];
+  navItems?: ColophonLink[];
   /**
    * An element id (without hashtag) used as anchor for back to top button.
    */
@@ -59,11 +52,6 @@ export const SiteFooter: FC<SiteFooterProps> = ({
   topId,
 }) => {
   const intl = useIntl();
-  const ariaLabel = intl.formatMessage({
-    defaultMessage: 'Footer',
-    description: 'SiteFooter: an accessible name for the footer nav',
-    id: 'pRzkFR',
-  });
   const backToTop = intl.formatMessage({
     defaultMessage: 'Back to top',
     description: 'SiteFooter: an accessible name for the back to top button',
@@ -75,17 +63,11 @@ export const SiteFooter: FC<SiteFooterProps> = ({
 
   return (
     <Footer className={footerClass}>
-      <Copyright {...copyright} />
-      {license}
-      {navItems ? (
-        <NavList aria-label={ariaLabel} className={styles.nav} isInline>
-          {navItems.map(({ id, ...link }) => (
-            <NavItem key={id}>
-              <NavLink {...link} />
-            </NavItem>
-          ))}
-        </NavList>
-      ) : null}
+      <Colophon
+        copyright={<Copyright {...copyright} />}
+        license={license}
+        links={navItems}
+      />
       <BackToTop
         anchor={backToTopAnchor}
         className={btnClass}
-- 
cgit v1.2.3

