ldc-groupe/resources/ts/back/Components/ApplicationLogo.tsx
2025-10-17 14:53:06 +02:00

41 lines
1.3 KiB
TypeScript

// * Packages
import { Link } from "@inertiajs/react";
import { route } from "ziggy-js";
// * Other
import { useTheme } from "@/back/providers/ThemeProvider";
import logoUwilCMSLight from "&/images/logos/uwil-cms.svg";
import logoUwilCMSDark from "&/images/logos/uwil-cms-dark.svg";
import logoTinyUwilCMS from "&/images/logos/uwil-cms-icon.svg";
type ApplicationLogoProps = {
forceLight?: boolean;
isCollapsed?: boolean;
};
export default function ApplicationLogo({
forceLight = false,
isCollapsed = false,
}: ApplicationLogoProps) {
const { theme } = useTheme();
const wrapperClasses = isCollapsed ? "h-8" : "w-full max-w-[10rem] mx-auto";
const logo = isCollapsed
? logoTinyUwilCMS
: forceLight
? logoUwilCMSLight
: theme === "dark"
? logoUwilCMSLight
: logoUwilCMSDark;
return (
<Link
href={route("back.dashboard.index")}
className={`${wrapperClasses} rounded-md ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`}
>
<img
src={logo}
alt="UWIL CMS logo"
className={`rounded-md w-auto mx-auto ${isCollapsed ? "h-full" : "max-h-full"}`}
/>
</Link>
);
}