mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-22 22:11:12 -05:00
Refactor: Enforce submission queue for all edits
This commit is contained in:
@@ -125,75 +125,21 @@ export default function RideDetail() {
|
||||
};
|
||||
|
||||
const handleEditSubmit = async (data: any) => {
|
||||
if (!user || !ride) return;
|
||||
|
||||
try {
|
||||
if (isModerator) {
|
||||
// Moderators can edit directly
|
||||
const { error } = await supabase
|
||||
.from('rides')
|
||||
.update({
|
||||
name: data.name,
|
||||
slug: data.slug,
|
||||
description: data.description,
|
||||
category: data.category,
|
||||
ride_sub_type: data.ride_sub_type,
|
||||
status: data.status,
|
||||
opening_date: data.opening_date,
|
||||
closing_date: data.closing_date,
|
||||
height_requirement: data.height_requirement,
|
||||
age_requirement: data.age_requirement,
|
||||
capacity_per_hour: data.capacity_per_hour,
|
||||
duration_seconds: data.duration_seconds,
|
||||
max_speed_kmh: data.max_speed_kmh,
|
||||
max_height_meters: data.max_height_meters,
|
||||
length_meters: data.length_meters,
|
||||
inversions: data.inversions,
|
||||
coaster_type: data.coaster_type,
|
||||
seating_type: data.seating_type,
|
||||
intensity_level: data.intensity_level,
|
||||
drop_height_meters: data.drop_height_meters,
|
||||
max_g_force: data.max_g_force,
|
||||
banner_image_url: data.banner_image_url,
|
||||
banner_image_id: data.banner_image_id,
|
||||
card_image_url: data.card_image_url,
|
||||
card_image_id: data.card_image_id,
|
||||
manufacturer_id: data.manufacturer_id,
|
||||
ride_model_id: data.ride_model_id,
|
||||
updated_at: new Date().toISOString()
|
||||
})
|
||||
.eq('id', ride?.id);
|
||||
// Everyone goes through submission queue
|
||||
const { submitRideUpdate } = await import('@/lib/entitySubmissionHelpers');
|
||||
await submitRideUpdate(ride.id, data, user.id);
|
||||
|
||||
if (error) throw error;
|
||||
toast({
|
||||
title: "Edit Submitted",
|
||||
description: isModerator
|
||||
? "Your edit has been submitted. You can approve it in the moderation queue."
|
||||
: "Your ride edit has been submitted for review."
|
||||
});
|
||||
|
||||
toast({
|
||||
title: "Ride Updated",
|
||||
description: "The ride has been updated successfully."
|
||||
});
|
||||
|
||||
setIsEditModalOpen(false);
|
||||
fetchRideData(); // Refresh the ride data
|
||||
} else {
|
||||
// Regular users submit for moderation
|
||||
const { error } = await supabase
|
||||
.from('content_submissions')
|
||||
.insert({
|
||||
user_id: user?.id,
|
||||
submission_type: 'ride_edit',
|
||||
content: {
|
||||
ride_id: ride?.id,
|
||||
...data
|
||||
},
|
||||
status: 'pending'
|
||||
});
|
||||
|
||||
if (error) throw error;
|
||||
|
||||
toast({
|
||||
title: "Edit Submitted",
|
||||
description: "Your edit has been submitted for review."
|
||||
});
|
||||
|
||||
setIsEditModalOpen(false);
|
||||
}
|
||||
setIsEditModalOpen(false);
|
||||
} catch (error: any) {
|
||||
toast({
|
||||
title: "Error",
|
||||
|
||||
Reference in New Issue
Block a user