Frastra Logo

Footer

A responsive footer with links, social media icons, and a copyright notice.

Default

import { Fragment } from 'react'
const footerLinks = {
solutions: [
{ name: 'Marketing', href: '#' },
{ name: 'Analytics', href: '#' },
{ name: 'Commerce', href: '#' },
{ name: 'Insights', href: '#' },
],
support: [
{ name: 'Pricing', href: '#' },
{ name: 'Documentation', href: '#' },
{ name: 'Guides', href: '#' },
{ name: 'API Status', href: '#' },
],
company: [
{ name: 'About', href: '#' },
{ name: 'Blog', href: '#' },
{ name: 'Jobs', href: '#' },
{ name: 'Press', href: '#' },
],
legal: [
{ name: 'Claim', href: '#' },
{ name: 'Privacy', href: '#' },
{ name: 'Terms', href: '#' },
],
}
const socialLinks = [
{
name: 'Facebook',
href: '#',
icon: (props) => (
<svg fill='currentColor' viewBox='0 0 24 24' {...props}>
<path
fillRule='evenodd'
d='M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z'
clipRule='evenodd'
/>
</svg>
),
},
{
name: 'Instagram',
href: '#',
icon: (props) => (
<svg fill='currentColor' viewBox='0 0 24 24' {...props}>
<path
fillRule='evenodd'
d='M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.024.06 1.378.06 3.808s-.012 2.784-.06 3.808c-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.024.048-1.378.06-3.808.06s-2.784-.013-3.808-.06c-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.048-1.024-.06-1.378-.06-3.808s.012-2.784.06-3.808c.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 016.08 2.525c.636-.247 1.363-.416 2.427-.465C9.53 2.013 9.884 2 12.315 2zM12 7a5 5 0 100 10 5 5 0 000-10zm0-2a7 7 0 110 14 7 7 0 010-14zm6.406-2.31a1.25 1.25 0 100 2.5 1.25 1.25 0 000-2.5z'
clipRule='evenodd'
/>
</svg>
),
},
{
name: 'Twitter',
href: '#',
icon: (props) => (
<svg fill='currentColor' viewBox='0 0 24 24' {...props}>
<path d='M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.71v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84' />
</svg>
),
},
]
export default function DefaultFooter() {
return (
<footer className='w-full bg-neutral-800 border border-white/10 rounded-xl' aria-labelledby='footer-heading'>
<h2 id='footer-heading' className='sr-only'>
Footer
</h2>
<div className='mx-auto max-w-7xl px-6 pb-8 pt-16 sm:pt-24 lg:px-8 lg:pt-32'>
<div className='xl:grid xl:grid-cols-3 xl:gap-8'>
<div className='space-y-8'>
<svg className='h-8 w-8 text-white' fill='currentColor' viewBox='0 0 24 24'>
<path d='M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5-10-5-10 5z' />
</svg>
<p className='text-sm leading-6 text-neutral-300'>
Making the world a better place through constructing elegant hierarchies.
</p>
</div>
<div className='mt-16 grid grid-cols-2 gap-8 xl:col-span-2 xl:mt-0'>
<div className='md:grid md:grid-cols-2 md:gap-8'>
<div>
<h3 className='text-sm font-semibold leading-6 text-white'>Solutions</h3>
<ul role='list' className='mt-6 space-y-4'>
{footerLinks.solutions.map((item) => (
<li key={item.name}>
<a href={item.href} className='text-sm leading-6 text-neutral-400 hover:text-white'>
{item.name}
</a>
</li>
))}
</ul>
</div>
<div className='mt-10 md:mt-0'>
<h3 className='text-sm font-semibold leading-6 text-white'>Support</h3>
<ul role='list' className='mt-6 space-y-4'>
{footerLinks.support.map((item) => (
<li key={item.name}>
<a href={item.href} className='text-sm leading-6 text-neutral-400 hover:text-white'>
{item.name}
</a>
</li>
))}
</ul>
</div>
</div>
<div className='md:grid md:grid-cols-2 md:gap-8'>
<div>
<h3 className='text-sm font-semibold leading-6 text-white'>Company</h3>
<ul role='list' className='mt-6 space-y-4'>
{footerLinks.company.map((item) => (
<li key={item.name}>
<a href={item.href} className='text-sm leading-6 text-neutral-400 hover:text-white'>
{item.name}
</a>
</li>
))}
</ul>
</div>
<div className='mt-10 md:mt-0'>
<h3 className='text-sm font-semibold leading-6 text-white'>Legal</h3>
<ul role='list' className='mt-6 space-y-4'>
{footerLinks.legal.map((item) => (
<li key={item.name}>
<a href={item.href} className='text-sm leading-6 text-neutral-400 hover:text-white'>
{item.name}
</a>
</li>
))}
</ul>
</div>
</div>
</div>
</div>
<div className='mt-16 border-t border-white/10 pt-8 sm:mt-20 lg:mt-24 lg:flex lg:items-center lg:justify-between'>
<div className='flex space-x-6 lg:order-2'>
{socialLinks.map((item) => (
<a key={item.name} href={item.href} className='text-neutral-500 hover:text-neutral-400'>
<span className='sr-only'>{item.name}</span>
<item.icon className='h-6 w-6' aria-hidden='true' />
</a>
))}
</div>
<p className='mt-8 text-xs leading-5 text-neutral-400 lg:order-1 lg:mt-0'>
&copy; {new Date().getFullYear()} Your Company, Inc. All rights reserved.
</p>
</div>
</div>
</footer>
)
}
© 2025 Frastra UI. Released under the MIT License.
Designed and developed by emirkrhan