"use client"; import { FC, useState } from "react"; import { MdFavorite } from "react-icons/md"; import { RxEyeOpen } from "react-icons/rx"; import { FaFire, FaTrash } from "react-icons/fa"; import { RiCalendarCheckLine, RiCalendarScheduleLine } from "react-icons/ri"; import { Movie } from "@/types/global"; interface AuroraLayoutProps extends Movie { showDayCounter?: boolean; simpleToggle?: boolean; alreadyInStore?: Movie | undefined; isReleased: boolean; handleAdd: () => void; handleRemove: () => void; handleSeen: () => void; handleFavorite: () => void; daysSinceRelease: number; releaseDate: Date; } export const AuroraLayout: FC = ({ title, overview, popularity, release_date, poster_path, vote_average, seen, favorite, alreadyInStore, isReleased, handleAdd, handleRemove, handleSeen, handleFavorite, daysSinceRelease, releaseDate, }) => { const [isExpanded, setIsExpanded] = useState(false); const scoreColor = vote_average >= 8 ? "from-emerald-400 to-teal-400" : vote_average >= 6 ? "from-yellow-400 to-orange-400" : "from-red-400 to-pink-400"; return (
setIsExpanded(false)} > {/* Aurora background effect */}
{/* Main card container */}
{/* Image section with sophisticated overlay */}
{title} {/* Gradient overlays for depth */}
{/* Floating rating badge */} {!!vote_average && (
{vote_average.toFixed(1)}
)} {/* Popularity indicator */}
{Math.round(popularity)}
{/* Days left to release */} {(!isReleased || daysSinceRelease < 35) && (
{isReleased && daysSinceRelease < 35 && `od ${daysSinceRelease} dni`} {!isReleased && `za ${daysSinceRelease} dni`}
)} {/* Status indicators */} {alreadyInStore && (
)} {/* Magical action overlay */} {!alreadyInStore && (
)}
{/* Content section with glowing effects */}
{/* Subtle glow effect */}

{title}

setIsExpanded(!isExpanded)} > {overview}

{/* Bottom section with enhanced styling */}
{isReleased ? ( ) : ( )} {releaseDate.toLocaleDateString("pl-PL", { day: "numeric", month: "short", year: "numeric", })}
{alreadyInStore && (
{seen && (
)} {favorite && (
)}
)}
{/* Decorative border glow */}
{isExpanded && (
setIsExpanded(false)} >

{overview}

)}
); };