hts/apps/staffai/components/footer/footer.tsx

201 lines
6.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use client";
import Link from "next/link";
import {
UnkeyFooterLogo,
UnkeyFooterLogoMobile,
UnkeyLogoSmall,
UnkeyLogoSmallMobile,
} from "./footer-svgs";
import { socialMediaProfiles } from "./social-media";
import { useSelectedLayoutSegment } from "next/navigation";
const navigation = [
// {
// title: "Company",
// links: [
// { title: "About", href: "/about" },
// { title: "Blog", href: "/blog" },
// { title: "Changelog", href: "/changelog" },
// { title: "Templates", href: "/templates" },
// {
// title: "Analytics",
// href: "https://us.posthog.com/shared/HwZNjaKOLtgtpj6djuSo3fgOqrQm0Q?whitelabel",
// },
// {
// title: "Source Code",
// href: "https://github.com/unkeyed/unkey",
// },
// {
// title: "Docs",
// href: "https://unkey.dev/docs",
// },
// ],
// },
// {
// title: "Connect",
// links: socialMediaProfiles,
// },
{
title: "",
links: [
{ title: "Twitter", href: "https://twitter.com/JellyDropsLLC" },
// { title: "iSDK Twitter", href: "https://twitter.com/JellyDropsLLC" },
{ title: "GitHub", href: "https://github.com/JellyDropsLLC" },
],
},
];
function CompanyInfo() {
return (
<div className="flex flex-col ">
{/* <UnkeyLogoSmall /> */}
<div className="font-normal text-sm leading-6 text-[rgba(255,255,255,0.5)] mt-8">
Jellydrops © 20192024
</div>
<div className="font-normal text-sm leading-6 text-[rgba(255,255,255,0.3)]">
Terms & policies Privacy policy Brand guidelines
</div>
</div>
);
}
function CompanyInfoMobile() {
return (
<div className="flex flex-col items-center">
{/* <UnkeyLogoSmallMobile /> */}
<div className="font-normal text-sm leading-6 text-[rgba(255,255,255,0.5)] mt-10">
Terms & policies Privacy policy Brand guidelines
</div>
<div className="font-normal text-sm leading-6 text-[rgba(255,255,255,0.3)]">
Jellydrops © 20192024
</div>
<div className="mt-10">
{navigation.map((section, index) => (
<div key={index}>
<h3 className="py-4 text-sm font-medium text-white">{section.title}</h3>
<ul className="text-sm text-[rgba(255,255,255,0.7)] font-normal">
{section.links.map((link) => (
<li key={link.href.toString()} className="py-1">
{link.href.startsWith("https://") ? (
<a
href={link.href}
target="_blank"
rel="noopener noreferrer"
className="transition hover:text-[rgba(255,255,255,0.4)]"
>
{link.title}
</a>
) : (
<Link
href={link.href}
className="transition hover:text-[rgba(255,255,255,0.4)]"
>
{link.title}
</Link>
)}
</li>
))}
</ul>
</div>
))}
</div>
{/* <div className="flex justify-center w-full lg:mt-24">
<UnkeyFooterLogo />
</div> */}
</div>
);
}
function Navigation() {
return (
<nav className=" sm:w-full mb-20">
<ul className="flex flex-col flex-auto gap-16 text-left sm:flex-row sm:mx-auto sm:text-center justify-start mb-[3rem]">
{navigation.map((section) => (
<li key={section.title.toString()}>
<div className="text-sm font-medium tracking-wider text-white font-display">
{section.title}
</div>
<ul className="text-sm text-[rgba(255,255,255,0.7)] font-normal gap-2 flex flex-row md:gap-8 mt-4 md:mt-8 ">
{section.links.map((link) => (
<li key={link.href.toString()}>
{link.href.startsWith("https://") ? (
<a
href={link.href}
target="_blank"
rel="noopener noreferrer"
className="transition hover:text-[rgba(255,255,255,0.4)] "
>
{link.title}
</a>
) : (
<Link
href={link.href}
className="transition hover:text-[rgba(255,255,255,0.4)] "
>
{link.title}
</Link>
)}
</li>
))}
</ul>
</li>
))}
</ul>
<Link
href="/#index-target"
className="transition text-[#fff] hover:text-[rgba(255,255,255,0.4)] "
>
Back to top
</Link>
</nav>
);
}
function MobileNavigation() {
return (
<nav className="flex flex-col sm:hidden">
<div className="flex flex-col items-center justify-center w-full text-center mb-[2rem]">
<CompanyInfoMobile />
</div>
{/* <div className="flex justify-center w-full lg:mt-24">
<UnkeyFooterLogoMobile />
</div> */}
</nav>
);
}
export function Footer() {
const segment = useSelectedLayoutSegment();
let isOK = true
if (segment && ["auth", "/auth/login/", "/auth/signup/", "new", "manage"].includes(segment)) {
isOK = false
}
if (!isOK) {
return (<></>)
}
return (
<>
<footer className="relative hidden pt-32 overflow-hidden border-none sm:block xl:pt-10 max-sm:pt-8 border-white/10 blog-footer-radial-gradient">
<div className="container flex flex-col mx-auto">
<div className="flex flex-row justify-center max-sm:flex-col sm:flex-col md:flex-row xl:gap-20 xxl:gap-48">
<div className="flex mb-8 lg:mx-auto max-sm:pl-12 max-sm:flex sm:flex-row sm:w-full sm:pl-28 xl:pl-14 md:w-5/12 shrink-0 xxl:pl-28">
<CompanyInfo />
</div>
<div className="flex w-full max-sm:pl-12 max-sm:pt-6 max-sm:mt-22 sm:pl-28 md:pl-18 lg:pl-6 max-sm:mb-8">
<Navigation />
</div>
</div>
</div>
{/* <div className="flex justify-center w-full">
<UnkeyFooterLogo className="mt-4" />
</div> */}
</footer>
<MobileNavigation />
</>
);
}