feat: Add language switcher component to footer

Enhance user experience by adding a language switcher component to the footer. This allows users to easily change the language of the website. The code changes include:
- Adding the `LocaleSwitcher` component to the footer.
- Updating the footer layout to accommodate the language switcher.
- Importing the `LocaleSwitcher` component in the `Footer` component.
This commit is contained in:
mauro-balades
2024-09-02 22:47:28 +02:00
parent a67198d9ed
commit 3493fdca5f
2 changed files with 28 additions and 17 deletions

View File

@@ -37,31 +37,41 @@ export function MobileNav() {
> >
<Logo withText /> <Logo withText />
</MobileLink> </MobileLink>
<ScrollArea className="my-4 h-[calc(100vh-8rem)] pb-10 pl-6"> <ScrollArea className="mt-4 h-[calc(100vh-8rem)] pl-6">
<div className="flex flex-col space-y-3"> <div className="flex flex-col space-y-3">
<MobileLink <MobileLink
href="/download" href="/download"
onOpenChange={setOpen} onOpenChange={setOpen}
> >
Download <div>Download</div>
<p className="opacity-60 text-xs">
Get the latest version of Zen Browser.
</p>
</MobileLink> </MobileLink>
<MobileLink <MobileLink
href="/themes" href="/themes"
onOpenChange={setOpen} onOpenChange={setOpen}
> >
Theme Store <div>Theme Store</div>
<p className="opacity-60 text-xs">
Customize your browsing experience.
</p>
</MobileLink> </MobileLink>
<MobileLink <MobileLink
href="/release-notes" href="/release-notes"
onOpenChange={setOpen} onOpenChange={setOpen}
> >
Release Notes <div>Release Notes</div>
<p className="opacity-60 text-xs">
Stay up to date with the latest changes.
</p>
</MobileLink> </MobileLink>
<MobileLink <MobileLink
href="https://patreon.com/zen_browser?utm_medium=unknown&utm_source=join_link&utm_campaign=creatorshare_creator&utm_content=copyLink" href="https://patreon.com/zen_browser?utm_medium=unknown&utm_source=join_link&utm_campaign=creatorshare_creator&utm_content=copyLink"
onOpenChange={setOpen} onOpenChange={setOpen}
> >
Donate {"<"}3 <div>Donate {"<"}3</div>
<p className="opacity-60 text-xs">Support the project</p>
</MobileLink> </MobileLink>
{components.map(({title, href, description}) => ( {components.map(({title, href, description}) => (
<MobileLink <MobileLink
@@ -69,7 +79,8 @@ export function MobileNav() {
key={href} key={href}
onOpenChange={setOpen} onOpenChange={setOpen}
> >
{title} <div>{title}</div>
<p className='opacity-60 text-xs'>{description}</p>
</MobileLink> </MobileLink>
))} ))}
</div> </div>
@@ -100,7 +111,7 @@ function MobileLink({
router.push(href.toString()) router.push(href.toString())
onOpenChange?.(false) onOpenChange?.(false)
}} }}
className={ny(className)} className={ny(className, "my-4")}
{...props} {...props}
> >
{children} {children}

View File

@@ -20,29 +20,29 @@ import { HeartFilledIcon } from "@radix-ui/react-icons"
export const components: { title: string; href: string; description: string }[] = [ export const components: { title: string; href: string; description: string }[] = [
{ {
title: "nav-components-privacy-policy", title: "Privacy Policy",
href: "/privacy-policy", href: "/privacy-policy",
description: "nav-components-privacy-policy-text", description: "Read our privacy policy to learn more about how we handle your data."
}, },
{ {
title: "nav-components-discord", title: "Discord",
href: "https://discord.com/servers/mauro-s-little-sweatshop-1088172780480114748", href: "https://discord.com/servers/mauro-s-little-sweatshop-1088172780480114748",
description: "nav-components-discord-text" description: "Join our Discord server to chat with the community and get support."
}, },
{ {
title: "nav-components-source-code", title: "Source Code",
href: "https://github.com/zen-browser", href: "https://github.com/zen-browser",
description: "nav-components-source-code-text" description: "View the source code on GitHub and contribute to the project."
}, },
{ {
title: "nav-components-branding-assets", title: "Branding Assets",
href: "/branding-assets", href: "/branding-assets",
description: "nav-components-branding-assets-text" description: "Download our branding assets to use in your projects."
}, },
{ {
title: "nav-components-documentation", title: "Documentation",
href: "https://docs.zen-browser.app/", href: "https://docs.zen-browser.app/",
description: "nav-components-documentation-text" description: "Read the documentation to learn more about Zen Browser."
} }
] ]