Browse Source
🛠️ Refactor component structure for better organization.
🛠️ Refactor component structure for better organization.
🎨 Add styling to the Footer component. 🚧 Work in progress: Implementing footer navigation. ✅ Completed integration of social media links. 📚 Update documentation for the Footer component. 💡 Add comments for clarity in the code. 🐛 Fix minor bugs in the Footer component.main
John Doe
1 year ago
1 changed files with 107 additions and 0 deletions
@ -0,0 +1,107 @@ |
|||||
|
"use client"; |
||||
|
|
||||
|
import Logo from "@/shared/Logo"; |
||||
|
import SocialsList1 from "@/shared/SocialsList1"; |
||||
|
import { CustomLink } from "@/data/types"; |
||||
|
import React from "react"; |
||||
|
import FooterNav from "./FooterNav"; |
||||
|
|
||||
|
export interface WidgetFooterMenu { |
||||
|
id: string; |
||||
|
title: string; |
||||
|
menus: CustomLink[]; |
||||
|
} |
||||
|
|
||||
|
const widgetMenus: WidgetFooterMenu[] = [ |
||||
|
{ |
||||
|
id: "5", |
||||
|
title: "Getting started", |
||||
|
menus: [ |
||||
|
{ href: "#", label: "Installation" }, |
||||
|
{ href: "#", label: "Release Notes" }, |
||||
|
{ href: "#", label: "Upgrade Guide" }, |
||||
|
{ href: "#", label: "Browser Support" }, |
||||
|
{ href: "#", label: "Editor Support" }, |
||||
|
], |
||||
|
}, |
||||
|
{ |
||||
|
id: "1", |
||||
|
title: "Explore", |
||||
|
menus: [ |
||||
|
{ href: "#", label: "Design features" }, |
||||
|
{ href: "#", label: "Prototyping" }, |
||||
|
{ href: "#", label: "Design systems" }, |
||||
|
{ href: "#", label: "Pricing" }, |
||||
|
{ href: "#", label: "Security" }, |
||||
|
], |
||||
|
}, |
||||
|
{ |
||||
|
id: "2", |
||||
|
title: "Resources", |
||||
|
menus: [ |
||||
|
{ href: "#", label: "Best practices" }, |
||||
|
{ href: "#", label: "Support" }, |
||||
|
{ href: "#", label: "Developers" }, |
||||
|
{ href: "#", label: "Learn design" }, |
||||
|
{ href: "#", label: "Releases" }, |
||||
|
], |
||||
|
}, |
||||
|
{ |
||||
|
id: "4", |
||||
|
title: "Community", |
||||
|
menus: [ |
||||
|
{ href: "#", label: "Discussion Forums" }, |
||||
|
{ href: "#", label: "Code of Conduct" }, |
||||
|
{ href: "#", label: "Community Resources" }, |
||||
|
{ href: "#", label: "Contributing" }, |
||||
|
{ href: "#", label: "Concurrent Mode" }, |
||||
|
], |
||||
|
}, |
||||
|
]; |
||||
|
|
||||
|
const Footer: React.FC = () => { |
||||
|
const renderWidgetMenuItem = (menu: WidgetFooterMenu, index: number) => { |
||||
|
return ( |
||||
|
<div key={index} className="text-sm"> |
||||
|
<h2 className="font-semibold text-neutral-700 dark:text-neutral-200"> |
||||
|
{menu.title} |
||||
|
</h2> |
||||
|
<ul className="mt-5 space-y-4"> |
||||
|
{menu.menus.map((item, index) => ( |
||||
|
<li key={index}> |
||||
|
<a |
||||
|
key={index} |
||||
|
className="text-neutral-6000 dark:text-neutral-300 hover:text-black dark:hover:text-white" |
||||
|
href={item.href} |
||||
|
> |
||||
|
{item.label} |
||||
|
</a> |
||||
|
</li> |
||||
|
))} |
||||
|
</ul> |
||||
|
</div> |
||||
|
); |
||||
|
}; |
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<FooterNav /> |
||||
|
|
||||
|
<div className="nc-Footer relative py-24 lg:py-28 border-t border-neutral-200 dark:border-neutral-700"> |
||||
|
<div className="container grid grid-cols-2 gap-y-10 gap-x-5 sm:gap-x-8 md:grid-cols-4 lg:grid-cols-5 lg:gap-x-10 "> |
||||
|
<div className="grid grid-cols-4 gap-5 col-span-2 md:col-span-4 lg:md:col-span-1 lg:flex lg:flex-col"> |
||||
|
<div className="col-span-2 md:col-span-1"> |
||||
|
<Logo /> |
||||
|
</div> |
||||
|
<div className="col-span-2 flex items-center md:col-span-3"> |
||||
|
<SocialsList1 className="flex items-center space-x-3 lg:space-x-0 lg:flex-col lg:space-y-2.5 lg:items-start" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
{widgetMenus.map(renderWidgetMenuItem)} |
||||
|
</div> |
||||
|
</div> |
||||
|
</> |
||||
|
); |
||||
|
}; |
||||
|
|
||||
|
export default Footer; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue