feat: Implement comprehensive plan

This commit is contained in:
gpt-engineer-app[bot]
2025-09-29 20:31:28 +00:00
parent 07b036bb7d
commit f586b31954
6 changed files with 990 additions and 19 deletions

View File

@@ -99,17 +99,34 @@ export default function ParkDetail() {
};
const handleRideSubmit = async (rideData: any) => {
if (!user) return;
if (!user) {
navigate('/auth');
return;
}
try {
// Extract composite submission data
const compositeData = rideData._compositeSubmission;
delete rideData._compositeSubmission;
// Determine submission type based on what's being created
let submissionType = 'ride';
if (compositeData?.new_manufacturer && compositeData?.new_ride_model) {
submissionType = 'ride_with_manufacturer_and_model';
} else if (compositeData?.new_manufacturer) {
submissionType = 'ride_with_manufacturer';
} else if (compositeData?.new_ride_model) {
submissionType = 'ride_with_model';
}
const { error } = await supabase
.from('content_submissions')
.insert({
user_id: user.id,
submission_type: 'ride',
submission_type: submissionType,
status: 'pending',
content: {
...rideData,
...(compositeData || { ride: rideData }),
park_id: park?.id,
park_slug: park?.slug
}
@@ -117,9 +134,18 @@ export default function ParkDetail() {
if (error) throw error;
let message = "Your ride submission has been sent for moderation review.";
if (compositeData?.new_manufacturer && compositeData?.new_ride_model) {
message = "Your ride, new manufacturer, and new model have been submitted for review.";
} else if (compositeData?.new_manufacturer) {
message = "Your ride and new manufacturer have been submitted for review.";
} else if (compositeData?.new_ride_model) {
message = "Your ride and new model have been submitted for review.";
}
toast({
title: "Ride Submitted",
description: "Your ride submission has been sent for moderation review.",
title: "Submission Sent",
description: message,
});
setIsAddRideModalOpen(false);