mirror of https://github.com/kortix-ai/suna.git
116 lines
6.3 KiB
TypeScript
116 lines
6.3 KiB
TypeScript
"use client";
|
|
|
|
import { FlickeringGrid } from "@/components/home/ui/flickering-grid";
|
|
import { useMediaQuery } from "@/hooks/use-media-query";
|
|
import { siteConfig } from "@/lib/home";
|
|
import { ChevronRightIcon } from "@radix-ui/react-icons";
|
|
import Link from "next/link";
|
|
import Image from "next/image";
|
|
import { useTheme } from "next-themes";
|
|
import { useEffect, useState } from "react";
|
|
|
|
export function FooterSection() {
|
|
const tablet = useMediaQuery("(max-width: 1024px)");
|
|
const { theme, resolvedTheme } = useTheme();
|
|
const [mounted, setMounted] = useState(false);
|
|
|
|
// After mount, we can access the theme
|
|
useEffect(() => {
|
|
setMounted(true);
|
|
}, []);
|
|
|
|
const logoSrc = !mounted ? "/kortix-logo.svg" :
|
|
(resolvedTheme === "dark" ? "/kortix-logo-white.svg" : "/kortix-logo.svg");
|
|
|
|
return (
|
|
<footer id="footer" className="w-full pb-0">
|
|
<div className="flex flex-col md:flex-row md:items-center md:justify-between p-10 max-w-6xl mx-auto">
|
|
<div className="flex flex-col items-start justify-start gap-y-5 max-w-xs mx-0">
|
|
<Link href="/" className="flex items-center gap-2">
|
|
<Image
|
|
src={logoSrc}
|
|
alt="Kortix Logo"
|
|
width={122}
|
|
height={22}
|
|
priority
|
|
/>
|
|
</Link>
|
|
<p className="tracking-tight text-muted-foreground font-medium">
|
|
{siteConfig.hero.description}
|
|
</p>
|
|
|
|
<div className="flex items-center gap-4">
|
|
<a href="https://github.com/kortix-ai/suna" target="_blank" rel="noopener noreferrer" aria-label="GitHub">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" className="size-5 text-muted-foreground hover:text-primary transition-colors">
|
|
<path fill="currentColor" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844a9.59 9.59 0 0 1 2.504.337c1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.02 10.02 0 0 0 22 12.017C22 6.484 17.522 2 12 2z" />
|
|
</svg>
|
|
</a>
|
|
<a href="https://x.com/kortixai" target="_blank" rel="noopener noreferrer" aria-label="X (Twitter)">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" className="size-5 text-muted-foreground hover:text-primary transition-colors">
|
|
<path fill="currentColor" d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z" />
|
|
</svg>
|
|
</a>
|
|
<a href="https://www.linkedin.com/company/kortix/" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" className="size-5 text-muted-foreground hover:text-primary transition-colors">
|
|
<path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" />
|
|
</svg>
|
|
</a>
|
|
</div>
|
|
{/* <div className="flex items-center gap-2 dark:hidden">
|
|
<Icons.soc2 className="size-12" />
|
|
<Icons.hipaa className="size-12" />
|
|
<Icons.gdpr className="size-12" />
|
|
</div>
|
|
<div className="dark:flex items-center gap-2 hidden">
|
|
<Icons.soc2Dark className="size-12" />
|
|
<Icons.hipaaDark className="size-12" />
|
|
<Icons.gdprDark className="size-12" />
|
|
</div> */}
|
|
</div>
|
|
<div className="pt-5 md:w-1/2">
|
|
<div className="flex flex-col items-start justify-start md:flex-row md:items-center md:justify-between gap-y-5 lg:pl-10">
|
|
{siteConfig.footerLinks.map((column, columnIndex) => (
|
|
<ul key={columnIndex} className="flex flex-col gap-y-2">
|
|
<li className="mb-2 text-sm font-semibold text-primary">
|
|
{column.title}
|
|
</li>
|
|
{column.links.map((link) => (
|
|
<li
|
|
key={link.id}
|
|
className="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"
|
|
>
|
|
<Link href={link.url}>{link.title}</Link>
|
|
<div className="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100">
|
|
<ChevronRightIcon className="h-4 w-4 " />
|
|
</div>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<Link
|
|
href="https://www.youtube.com/watch?v=nuf5BF1jvjQ"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="block w-full h-48 md:h-64 relative mt-24 z-0 cursor-pointer"
|
|
>
|
|
<div className="absolute inset-0 bg-gradient-to-t from-transparent to-background z-10 from-40%" />
|
|
<div className="absolute inset-0 mx-6">
|
|
<FlickeringGrid
|
|
text={tablet ? "Agents Agents Agents" : "Agents Agents Agents"}
|
|
fontSize={tablet ? 70 : 90}
|
|
className="h-full w-full"
|
|
squareSize={2}
|
|
gridGap={tablet ? 2 : 3}
|
|
color="#6B7280"
|
|
maxOpacity={0.3}
|
|
flickerChance={0.1}
|
|
/>
|
|
</div>
|
|
</Link>
|
|
</footer>
|
|
);
|
|
}
|