mediahub-fe/components/auth/auth-layout.tsx

53 lines
1.8 KiB
TypeScript

"use client";
import React from "react";
import Image from "next/image";
import { Link } from "@/i18n/routing";
import { AuthLayoutProps } from "@/types/auth";
import { cn } from "@/lib/utils";
export const AuthLayout: React.FC<AuthLayoutProps> = ({
children,
showSidebar = true,
className
}) => {
return (
<div className="flex w-full items-center overflow-hidden min-h-dvh h-dvh basis-full">
<div className="overflow-y-auto flex flex-wrap w-full h-dvh">
{showSidebar && (
<div className="lg:block hidden flex-1 overflow-hidden text-[40px] leading-[48px] text-default-600 relative z-[1] bg-default-50">
<div className="max-w-[520px] pt-16 ps-20">
<Link href="/" className="mb-6 inline-block">
<Image
src="/assets/mediahub-logo.png"
alt="MediaHub Logo"
width={250}
height={250}
className="mb-10 w-full h-full"
priority
/>
</Link>
</div>
<div className="absolute left-0 2xl:bottom-[-160px] bottom-[-130px] h-full w-full z-[-1]">
<Image
src="/assets/vector-login.svg"
alt="Login background"
width={300}
height={300}
className="mb-10 w-full h-full"
priority
/>
</div>
</div>
)}
<div className={cn("flex-1 relative", className)}>
<div className="h-full flex flex-col dark:bg-default-100 bg-white">
<div className="max-w-[524px] md:px-[42px] md:py-[44px] p-7 mx-auto w-full text-2xl text-default-900 mb-3 h-full flex flex-col justify-center">
{children}
</div>
</div>
</div>
</div>
</div>
);
};