1- import React , { useEffect , useState , useMemo , useCallback } from 'react' ;
1+ import React , { useEffect , useState , useMemo } from 'react' ;
22import { useParams , useNavigate , Link } from 'react-router-dom' ;
33import ReactMarkdown from 'react-markdown' ;
44import rehypeRaw from 'rehype-raw' ;
@@ -10,7 +10,7 @@ import { api, BACKEND_URL } from '@/utils/api';
1010import type { Modjam , ModjamSubmission , User , Mod } from '@/types' ;
1111import { Spinner } from '@/components/ui/Spinner' ;
1212import { StatusModal } from '@/components/ui/StatusModal' ;
13- import { Trophy , Users , Upload , LayoutGrid , AlertCircle , Scale , Star , Edit3 , Trash2 , Clock , Calendar } from 'lucide-react' ;
13+ import { Trophy , Users , Upload , LayoutGrid , AlertCircle , Scale , Star , Edit3 , Trash2 , Clock } from 'lucide-react' ;
1414import { JamLayout } from '@/components/jams/JamLayout' ;
1515import { JamBuilder } from '@/components/resources/upload/JamBuilder' ;
1616import { JamSubmissionWizard } from '@/react-pages/jams/JamSubmissionWizard' ;
@@ -271,6 +271,7 @@ export const JamDetail: React.FC<{ currentUser: User | null }> = ({ currentUser
271271 title : 'Delete Event?' ,
272272 message : 'Are you sure you want to delete this jam? This action cannot be undone and will permanently delete all submissions.' ,
273273 actionLabel : 'Delete Jam' ,
274+
274275 secondaryLabel : 'Cancel' ,
275276 onAction : async ( ) => {
276277 try {
@@ -563,13 +564,13 @@ const JamDetailView: React.FC<{
563564 < div className = "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6 md:gap-8" >
564565 { sortedSubmissions . map ( sub => {
565566 const resolvedProjectImage = resolveUrl ( sub . projectImageUrl ) ;
566- const resolvedProjectBanner = resolveUrl ( sub . projectBannerUrl ) ;
567+ const resolvedProjectBanner = sub . projectBannerUrl ? resolveUrl ( sub . projectBannerUrl ) : null ;
567568
568569 return (
569570 < div
570571 key = { sub . id }
571572 onClick = { ( ) => navigate ( `/mod/${ sub . projectId } ` ) }
572- className = "bg-white dark:bg-slate-900 border border-slate-200 dark:border-white/10 rounded-xl overflow-hidden flex flex-col group shadow-xl hover:-translate-y-1.5 hover:border-modtale-accent/50 dark:hover:border-modtale-accent/50 transition-all duration-300 relative cursor-pointer"
573+ className = "bg-white/80 dark:bg-slate-900/80 border border-slate-200 dark:border-white/10 rounded-xl overflow-hidden flex flex-col group shadow-xl hover:-translate-y-1.5 hover:border-modtale-accent/50 dark:hover:border-modtale-accent/50 transition-all duration-300 relative cursor-pointer"
573574 >
574575 < div className = "block relative w-full h-36 bg-slate-100 dark:bg-slate-800 shrink-0 overflow-hidden" >
575576 { resolvedProjectBanner ? (
@@ -683,8 +684,8 @@ const VotingModal: React.FC<{
683684 } ;
684685
685686 return (
686- < div className = "fixed inset-0 z-[200] flex items-center justify-center p-4 bg-slate-950/80 backdrop-blur-md animate-in fade-in duration-200" >
687- < div className = "bg-white/90 dark:bg-slate-900/90 backdrop-blur-2xl w-full max-w-md rounded-2xl shadow-2xl border border-white/20 dark:border-white/10 overflow-hidden flex flex-col animate-in zoom-in-95" >
687+ < div className = "fixed inset-0 z-[200] flex items-center justify-center p-4 bg-slate-950/80 backdrop-blur-md animate-in fade-in duration-200" onClick = { onClose } >
688+ < div className = "bg-white/90 dark:bg-slate-900/90 backdrop-blur-2xl w-full max-w-md rounded-2xl shadow-2xl border border-white/20 dark:border-white/10 overflow-hidden flex flex-col animate-in zoom-in-95" onClick = { e => e . stopPropagation ( ) } >
688689 < div className = "p-10 border-b border-slate-200/50 dark:border-white/5 text-center" >
689690 < div className = "w-24 h-24 rounded-xl bg-white dark:bg-slate-800 shadow-lg overflow-hidden mx-auto mb-6 border-[3px] border-white dark:border-slate-700" >
690691 { submission . projectImageUrl ? (
@@ -721,7 +722,7 @@ const VotingModal: React.FC<{
721722 } ) }
722723 </ div >
723724 < div className = "p-8 border-t border-slate-200/50 dark:border-white/5 bg-slate-50/50 dark:bg-black/20" >
724- < button onClick = { onClose } className = "w-full h-16 bg-slate-900 dark:bg-white text-white dark:text-slate-900 rounded-2xl font-black text-lg transition-all hover:scale-[1.02] active:scale-95 shadow-lg" >
725+ < button onClick = { onClose } className = "w-full h-16 bg-slate-900 dark:bg-white text-white dark:text-slate-900 rounded-xl font-black text-lg transition-all hover:scale-[1.02] active:scale-95 shadow-lg" >
725726 Done Voting
726727 </ button >
727728 </ div >
0 commit comments