This commit is contained in:
2026-05-05 22:47:14 +12:00
parent 0eed557f95
commit 71cdc809c6
5 changed files with 609 additions and 1 deletions
+19 -1
View File
@@ -9,6 +9,24 @@
{ label: 'Facebook', href: 'https://facebook.com/goodwalk.nz', external: true },
{ label: 'Google', href: 'https://g.page/r/CUsvrWPhkYrAEB0', external: true }
];
const aboutLink: LinkItem = { label: 'About Us', href: '/about' };
function withAboutLink(links: LinkItem[]) {
if (links.some((link) => link.href === aboutLink.href || link.label === aboutLink.label)) {
return links;
}
const contactIndex = links.findIndex((link) => link.href === '/contact-us');
if (contactIndex === -1) {
return [...links, aboutLink];
}
return [...links.slice(0, contactIndex), aboutLink, ...links.slice(contactIndex)];
}
$: navigationLinks = withAboutLink(footer.navigationLinks);
</script>
<footer>
@@ -40,7 +58,7 @@
<div class="footer-explore">
<p class="footer-col-label">Explore</p>
<ul class="footer-nav">
{#each footer.navigationLinks as link}
{#each navigationLinks as link}
<li>
<a
href={link.href}
+20
View File
@@ -0,0 +1,20 @@
import { render, screen } from '@testing-library/svelte';
import { describe, expect, it } from 'vitest';
import Footer from './Footer.svelte';
import { homepageContent } from '$lib/content/homepage';
describe('Footer', () => {
it('adds the About Us link when footer content omits it', () => {
const footer = {
...homepageContent.footer,
navigationLinks: homepageContent.footer.navigationLinks.filter((link) => link.href !== '/about')
};
render(Footer, { footer });
const aboutLinks = screen.getAllByRole('link', { name: 'About Us' });
expect(aboutLinks).toHaveLength(1);
expect(aboutLinks[0]).toHaveAttribute('href', '/about');
});
});