'use client'; import Image from 'next/image'; import { useState, type FC } from 'react'; import { useTheme } from '@/context/ThemeContext'; interface ProjectThumbnailProps { image: string; title: string; priority?: boolean; className?: string; } const getDarkImagePath = (image: string) => image.replace(/(\.[^./]+)$/, '-dark$1'); export const ProjectThumbnail: FC = ({ image, title, priority = false, className, }) => { const { theme } = useTheme(); const darkImage = getDarkImagePath(image); const [unavailableDarkImage, setUnavailableDarkImage] = useState( null, ); const useDarkImage = theme === 'dark' && unavailableDarkImage !== darkImage; return ( {title} { if (useDarkImage) setUnavailableDarkImage(darkImage); }} /> ); };