41 lines
1.3 KiB
TypeScript
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>
|
|
);
|
|
}
|