mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 02:31:12 -05:00
Fix: Resolve type errors in Ride and Profile components
This commit is contained in:
@@ -698,29 +698,29 @@ export default function Profile() {
|
||||
<p className="font-medium">
|
||||
{activity.title || 'Left a review'}
|
||||
</p>
|
||||
{activity.moderation_status === 'pending' && (
|
||||
{(activity as any).moderation_status === 'pending' && (
|
||||
<Badge variant="secondary" className="text-xs">Pending</Badge>
|
||||
)}
|
||||
{activity.moderation_status === 'flagged' && (
|
||||
{(activity as any).moderation_status === 'flagged' && (
|
||||
<Badge variant="destructive" className="text-xs">Flagged</Badge>
|
||||
)}
|
||||
</div>
|
||||
<div className="flex items-center gap-1 mb-2">
|
||||
{[...Array(5)].map((_, i) => (
|
||||
<Star key={i} className={`w-3 h-3 ${i < activity.rating ? 'fill-accent text-accent' : 'text-muted-foreground'}`} />
|
||||
<Star key={i} className={`w-3 h-3 ${i < (activity.rating || 0) ? 'fill-accent text-accent' : 'text-muted-foreground'}`} />
|
||||
))}
|
||||
</div>
|
||||
{activity.park_id && activity.parks ? (
|
||||
<Link to={`/parks/${activity.parks.slug}`} className="text-sm text-muted-foreground hover:text-accent transition-colors">
|
||||
{activity.parks.name}
|
||||
{(activity as any).park_id && activity.parks ? (
|
||||
<Link to={`/parks/${activity.parks.slug || ''}`} className="text-sm text-muted-foreground hover:text-accent transition-colors">
|
||||
{activity.parks.name || 'Unknown Park'}
|
||||
</Link>
|
||||
) : activity.ride_id && activity.rides ? (
|
||||
) : (activity as any).ride_id && activity.rides ? (
|
||||
<div className="text-sm text-muted-foreground">
|
||||
<Link to={`/parks/${activity.rides.parks?.slug}/rides/${activity.rides.slug}`} className="hover:text-accent transition-colors">
|
||||
{activity.rides.name}
|
||||
<Link to={`/parks/${activity.rides.parks?.slug || ''}/rides/${activity.rides.slug || ''}`} className="hover:text-accent transition-colors">
|
||||
{activity.rides.name || 'Unknown Ride'}
|
||||
</Link>
|
||||
{activity.rides.parks && (
|
||||
<span className="text-muted-foreground/70"> at {activity.rides.parks.name}</span>
|
||||
<span className="text-muted-foreground/70"> at {activity.rides.parks.name || 'Unknown Park'}</span>
|
||||
)}
|
||||
</div>
|
||||
) : null}
|
||||
@@ -729,55 +729,55 @@ export default function Profile() {
|
||||
<>
|
||||
<div className="flex items-center gap-2 mb-1">
|
||||
<p className="font-medium">
|
||||
Submitted {activity.submission_type}
|
||||
{activity.content?.name && `: ${activity.content.name}`}
|
||||
Submitted {(activity as any).submission_type || 'content'}
|
||||
{(activity as any).content?.name && `: ${(activity as any).content.name}`}
|
||||
</p>
|
||||
{activity.status === 'pending' && (
|
||||
{(activity as any).status === 'pending' && (
|
||||
<Badge variant="secondary" className="text-xs">Pending</Badge>
|
||||
)}
|
||||
{activity.status === 'approved' && (
|
||||
{(activity as any).status === 'approved' && (
|
||||
<Badge variant="default" className="text-xs">Approved</Badge>
|
||||
)}
|
||||
{activity.status === 'rejected' && (
|
||||
{(activity as any).status === 'rejected' && (
|
||||
<Badge variant="destructive" className="text-xs">Rejected</Badge>
|
||||
)}
|
||||
</div>
|
||||
{activity.content?.description && (
|
||||
{(activity as any).content?.description && (
|
||||
<p className="text-sm text-muted-foreground line-clamp-2">
|
||||
{activity.content.description}
|
||||
{(activity as any).content.description}
|
||||
</p>
|
||||
)}
|
||||
</>
|
||||
) : activity.type === 'ranking' ? (
|
||||
<>
|
||||
<div className="flex items-center gap-2 mb-1">
|
||||
<p className="font-medium">Created ranking: {activity.title}</p>
|
||||
<p className="font-medium">Created ranking: {(activity as any).title || 'Untitled'}</p>
|
||||
<Badge variant="outline" className="text-xs capitalize">
|
||||
{activity.list_type.replace('_', ' ')}
|
||||
{((activity as any).list_type || '').replace('_', ' ')}
|
||||
</Badge>
|
||||
</div>
|
||||
{activity.description && (
|
||||
{(activity as any).description && (
|
||||
<p className="text-sm text-muted-foreground line-clamp-2">
|
||||
{activity.description}
|
||||
{(activity as any).description}
|
||||
</p>
|
||||
)}
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<p className="font-medium mb-1">Added ride credit</p>
|
||||
{activity.rides && (
|
||||
{(activity as any).rides && (
|
||||
<div className="text-sm text-muted-foreground">
|
||||
<Link to={`/parks/${activity.rides.parks?.slug}/rides/${activity.rides.slug}`} className="hover:text-accent transition-colors">
|
||||
{activity.rides.name}
|
||||
<Link to={`/parks/${(activity as any).rides.parks?.slug}/rides/${(activity as any).rides.slug}`} className="hover:text-accent transition-colors">
|
||||
{(activity as any).rides.name}
|
||||
</Link>
|
||||
{activity.rides.parks && (
|
||||
<span className="text-muted-foreground/70"> at {activity.rides.parks.name}</span>
|
||||
{(activity as any).rides.parks && (
|
||||
<span className="text-muted-foreground/70"> at {(activity as any).rides.parks.name}</span>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
{activity.ride_count > 1 && (
|
||||
{(activity as any).ride_count > 1 && (
|
||||
<p className="text-xs text-muted-foreground mt-1">
|
||||
Ridden {activity.ride_count} times
|
||||
Ridden {(activity as any).ride_count} times
|
||||
</p>
|
||||
)}
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user