diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx index 9695b451..5227d9d9 100644 --- a/src/pages/Profile.tsx +++ b/src/pages/Profile.tsx @@ -16,7 +16,7 @@ import { useAuth } from '@/hooks/useAuth'; import { useProfile } from '@/hooks/useProfile'; import { useUsernameValidation } from '@/hooks/useUsernameValidation'; import { User, MapPin, Calendar, Star, Trophy, Settings, Camera, Edit3, Save, X, ArrowLeft, Check, AlertCircle, Loader2, UserX, FileText, Image } from 'lucide-react'; -import { Profile as ProfileType, ActivityEntry } from '@/types/database'; +import { Profile as ProfileType, ActivityEntry, ReviewActivity, SubmissionActivity, RankingActivity } from '@/types/database'; import { supabase } from '@/integrations/supabase/client'; import { useToast } from '@/hooks/use-toast'; import { PhotoUpload } from '@/components/upload/PhotoUpload'; @@ -693,38 +693,37 @@ export default function Profile() {
{activity.type === 'review' ? ( - <> -
-

- {activity.title || 'Left a review'} -

- {(activity as any).moderation_status === 'pending' && ( - Pending - )} - {(activity as any).moderation_status === 'flagged' && ( - Flagged - )} -
-
- {[...Array(5)].map((_, i) => ( - - ))} -
- {(activity as any).park_id && activity.parks ? ( - - {activity.parks.name || 'Unknown Park'} - - ) : (activity as any).ride_id && activity.rides ? ( -
- - {activity.rides.name || 'Unknown Ride'} - - {activity.rides.parks && ( - at {activity.rides.parks.name || 'Unknown Park'} - )} -
- ) : null} - + (() => { + const reviewActivity = activity as ReviewActivity; + return ( + <> +
+

+ {reviewActivity.title || reviewActivity.description || 'Left a review'} +

+
+
+ {[...Array(5)].map((_, i) => ( + + ))} +
+ {reviewActivity.parks ? ( + + {reviewActivity.parks.name || 'Unknown Park'} + + ) : reviewActivity.rides ? ( +
+ + {reviewActivity.rides.name || 'Unknown Ride'} + + {reviewActivity.rides.parks && ( + at {reviewActivity.rides.parks.name || 'Unknown Park'} + )} +
+ ) : null} + + ); + })() ) : activity.type === 'submission' ? ( <>
diff --git a/src/types/database.ts b/src/types/database.ts index 61dbc08d..a874fed4 100644 --- a/src/types/database.ts +++ b/src/types/database.ts @@ -288,7 +288,7 @@ export type ActivityEntry = | RankingActivity | GenericActivity; -interface ReviewActivity { +export interface ReviewActivity { id: string; type: 'review'; created_at: string; @@ -300,7 +300,7 @@ interface ReviewActivity { description?: string; } -interface SubmissionActivity { +export interface SubmissionActivity { id: string; type: 'submission'; created_at: string; @@ -310,7 +310,7 @@ interface SubmissionActivity { action?: string; } -interface RankingActivity { +export interface RankingActivity { id: string; type: 'ranking'; created_at: string; @@ -319,7 +319,7 @@ interface RankingActivity { position?: number; } -interface GenericActivity { +export interface GenericActivity { id: string; type?: string; created_at: string;