Skip to content
This repository was archived by the owner on Sep 19, 2025. It is now read-only.

Commit ce5c0c5

Browse files
enhance thumbnail preview with hover effects and Italian text
1 parent c164f9b commit ce5c0c5

1 file changed

Lines changed: 34 additions & 9 deletions

File tree

src/frontend/components/modals/UploadDocumentModal.tsx

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -322,18 +322,43 @@ const UploadDocumentModal = ({
322322
// Render thumbnail preview
323323
const renderThumbnailPreview = useCallback(() => {
324324
const colorToUse = hoveredColor || formData.thumbnailColor;
325-
const titleToShow = formData.title || selectedFile?.name || 'Document Preview';
326-
325+
const titleToShow = formData.title || selectedFile?.name || 'Copertina';
326+
const [isHovered, setIsHovered] = useState(false);
327+
327328
return (
328-
<div
329-
style={{ backgroundColor: colorToUse }}
330-
className="w-full h-full flex items-center justify-center relative overflow-hidden"
331-
>
332-
<div className="absolute inset-0 bg-gradient-to-br from-transparent via-transparent to-black/20" />
333-
<span className="text-white font-medium text-center px-2 text-sm relative z-10 drop-shadow-lg">
329+
<div
330+
style={{ backgroundColor: colorToUse }}
331+
className="w-full h-full flex items-center justify-center relative overflow-hidden group cursor-pointer"
332+
onMouseEnter={() => setIsHovered(true)}
333+
onMouseLeave={() => setIsHovered(false)}
334+
>
335+
<div className="absolute inset-0 bg-gradient-to-br from-transparent via-transparent to-black/20" />
336+
337+
<div className={cn(
338+
"absolute inset-0 flex flex-col items-center justify-center bg-black/40 transition-opacity duration-200",
339+
isHovered ? "opacity-100" : "opacity-0"
340+
)}>
341+
<PlusIcon className="text-white w-12 h-12 mb-2" />
342+
<span className="text-white text-sm font-medium drop-shadow-lg">
343+
Carica un'immagine
344+
</span>
345+
</div>
346+
347+
<div className={cn(
348+
"inset-0 flex flex-col items-center justify-center text-center px-2 relative z-10 transition-opacity duration-200",
349+
isHovered ? "opacity-0" : "opacity-100"
350+
)}>
351+
<span className="text-white font-medium text-sm drop-shadow-lg">
334352
{titleToShow.slice(0, 20)}{titleToShow.length > 20 ? '...' : ''}
335353
</span>
336-
</div>
354+
355+
{titleToShow.includes("Copertina") && (
356+
<span className="text-white font-light text-sm drop-shadow-lg mt-6">
357+
Clicca per caricare un'immagine
358+
</span>
359+
)}
360+
</div>
361+
</div>
337362
);
338363
}, [formData.thumbnailColor, formData.title, selectedFile, hoveredColor]);
339364

0 commit comments

Comments
 (0)