aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/organisms/layout/site-footer.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-10-20 14:06:48 +0200
committerArmand Philippot <git@armandphilippot.com>2023-11-11 18:14:41 +0100
commitc6f6f8f895e68f2d85ca681997ef613d982bac14 (patch)
tree50e21f0721781aad231445c4e5af24deadb2d0de /src/components/organisms/layout/site-footer.tsx
parentc3cde71e60ae22d17c1d162f678f592915ac5398 (diff)
refactor(components): rewrite NavList component
* extract NavItem from NavList * remove `kind` and `listClassName` props (since the consumer has control over NavList, NavItem and NavLink components these props are obsolete)
Diffstat (limited to 'src/components/organisms/layout/site-footer.tsx')
-rw-r--r--src/components/organisms/layout/site-footer.tsx25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/components/organisms/layout/site-footer.tsx b/src/components/organisms/layout/site-footer.tsx
index 0866924..b4930d6 100644
--- a/src/components/organisms/layout/site-footer.tsx
+++ b/src/components/organisms/layout/site-footer.tsx
@@ -5,10 +5,17 @@ import {
BackToTop,
type BackToTopProps,
NavList,
- type NavItem,
+ NavItem,
+ NavLink,
} 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.
@@ -25,7 +32,7 @@ export type SiteFooterProps = {
/**
* The footer nav items.
*/
- navItems?: NavItem[];
+ navItems?: FooterLinks[];
/**
* An element id (without hashtag) used as anchor for back to top button.
*/
@@ -67,13 +74,13 @@ export const SiteFooter: FC<SiteFooterProps> = ({
owner={copyright.owner}
/>
{navItems ? (
- <NavList
- aria-label={ariaLabel}
- className={styles.nav}
- items={navItems}
- // eslint-disable-next-line react/jsx-no-literals -- Kind allowed
- kind="footer"
- />
+ <NavList aria-label={ariaLabel} className={styles.nav} isInline>
+ {navItems.map(({ id, ...link }) => (
+ <NavItem key={id}>
+ <NavLink {...link} />
+ </NavItem>
+ ))}
+ </NavList>
) : null}
<BackToTop
anchor={backToTopAnchor}