55 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

2023-11-02 10:35:50 -04:00
"use client";
import { useState } from "react";
import Image from "next/image";
import { cn } from "@/lib/utils";
export default function BannerImage({ image }: { image: string }) {
const [portrait, setPortrait] = useState(false);
return (
<>
<Image
className="absolute inset-0 h-full w-full scale-125 object-cover align-middle blur-lg"
src={image}
width={400}
height={100}
alt="banner"
unoptimized
/>
<div className="absolute inset-0 bg-zinc-800/50"></div>
<Image
priority
className={cn(
"absolute h-full object-cover align-middle",
portrait
? "inset-y-0 left-1/2 mx-auto w-auto -translate-x-1/2"
: "inset-0 w-full",
)}
src={image}
width={400}
height={100}
alt="banner"
unoptimized
/>
<Image
alt="demo"
className="absolute bottom-full right-full h-auto w-auto"
width={1}
height={1}
src={image}
2023-11-08 08:54:35 -06:00
unoptimized
2023-11-02 10:35:50 -04:00
onLoad={(e) => {
console.log(
"Width",
e.currentTarget.width,
"Height",
e.currentTarget.height,
);
if (e.currentTarget.width < e.currentTarget.height) {
setPortrait(true);
}
}}
/>
</>
);
}