63 lines
2.2 KiB
TypeScript
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>
|
|
);
|
|
}
|