ldc-ovoteam/resources/ts/front/Components/Theme/Footer.tsx

63 lines
2.2 KiB
TypeScript

// * PACKAGES
import { Link, usePage } from "@inertiajs/react";
import { route } from "ziggy-js";
//* BASE
import { bgColors, verticalPlacements } from "@/front/lib/constants";
import { cn } from "@/lib/utils";
import { AppEnv } from "@/types/global";
import DynamicPageResolver from "../DynamicPageResolver";
// * THEME
import ActionSection from "$/uwil/ActionSection";
import CookieNoticeLink from "$/uwil/CookieNoticeLink";
import Logo from "./Logo";
import SocialNetworks from "./SocialNetworks";
export default function Footer() {
const { url } = usePage().props.appEnv as AppEnv;
const cleanUrl = url.endsWith("/") ? url : `${url}/`;
const hoverLink = "hover:text-primary-foreground/80";
return (
<section>
<ActionSection
text={{
text: "<strong>Nous sommes à votre écoute.</strong> Remplissez le formulaire et notre équipe vous répondra rapidement.",
}}
button={{
href: route("front.contact-us"),
label: "Nous contacter",
placement: verticalPlacements.BOTTOM,
}}
variant={bgColors.PRIMARY}
/>
<div className="flex flex-col gap-8 justify-center items-center py-20">
<Logo className="w-[128px] flex justify-center" />
<SocialNetworks className="gap-8" size="47" />
<footer className="mx-auto container">
<ul className="flex flex-col gap-3 md:gap-0 md:flex-row items-center justify-around font-medium">
<DynamicPageResolver pageKey="pageMentionsLegales">
{({ href, title }) => (
<Link href={`${cleanUrl}${href}`} className={cn(hoverLink)}>
{title}
</Link>
)}
</DynamicPageResolver>
<DynamicPageResolver pageKey="pageCharteDeConfidentialite">
{({ href, title }) => (
<Link href={`${cleanUrl}${href}`} className={cn(hoverLink)}>
{title}
</Link>
)}
</DynamicPageResolver>
<li>
<CookieNoticeLink className={hoverLink} />
</li>
<li>
<p>©OVOTEAM {new Date().getFullYear()}</p>
</li>
</ul>
</footer>
</div>
</section>
);
}