mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-25 10:51:13 -05:00
Refactor: Execute remaining phases
This commit is contained in:
@@ -5,7 +5,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@
|
||||
import { Plus, LayoutGrid, List, GripVertical } from 'lucide-react';
|
||||
import { supabase } from '@/integrations/supabase/client';
|
||||
import { toast } from 'sonner';
|
||||
import { getErrorMessage } from '@/lib/errorHandler';
|
||||
import { handleError } from '@/lib/errorHandler';
|
||||
import { AddRideCreditDialog } from './AddRideCreditDialog';
|
||||
import { RideCreditCard } from './RideCreditCard';
|
||||
import { SortableRideCreditCard } from './SortableRideCreditCard';
|
||||
@@ -135,9 +135,12 @@ export function RideCreditsManager({ userId }: RideCreditsManagerProps) {
|
||||
}
|
||||
|
||||
setCredits(processedData);
|
||||
} catch (error) {
|
||||
console.error('Error fetching ride credits:', error);
|
||||
toast.error(getErrorMessage(error));
|
||||
} catch (error: unknown) {
|
||||
handleError(error, {
|
||||
action: 'Fetch Ride Credits',
|
||||
userId,
|
||||
metadata: { sortBy }
|
||||
});
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
@@ -196,9 +199,12 @@ export function RideCreditsManager({ userId }: RideCreditsManagerProps) {
|
||||
// Add to existing array
|
||||
setCredits(prev => [...prev, newCredit]);
|
||||
setIsAddDialogOpen(false);
|
||||
} catch (error) {
|
||||
console.error('Error fetching new credit:', error);
|
||||
toast.error(getErrorMessage(error));
|
||||
} catch (error: unknown) {
|
||||
handleError(error, {
|
||||
action: 'Add Ride Credit',
|
||||
userId,
|
||||
metadata: { creditId: newCreditId }
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -226,9 +232,12 @@ export function RideCreditsManager({ userId }: RideCreditsManagerProps) {
|
||||
if (error) throw error;
|
||||
|
||||
toast.success('Ride credit removed');
|
||||
} catch (error) {
|
||||
console.error('Error deleting credit:', error);
|
||||
toast.error(getErrorMessage(error));
|
||||
} catch (error: unknown) {
|
||||
handleError(error, {
|
||||
action: 'Delete Ride Credit',
|
||||
userId,
|
||||
metadata: { creditId }
|
||||
});
|
||||
|
||||
// Rollback on error
|
||||
if (deletedCredit) {
|
||||
@@ -247,8 +256,12 @@ export function RideCreditsManager({ userId }: RideCreditsManagerProps) {
|
||||
if (error) throw error;
|
||||
|
||||
// No refetch - optimistic update is already applied
|
||||
} catch (error) {
|
||||
console.error('Error reordering credit:', error);
|
||||
} catch (error: unknown) {
|
||||
handleError(error, {
|
||||
action: 'Reorder Ride Credit',
|
||||
userId,
|
||||
metadata: { creditId, newPosition }
|
||||
});
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
@@ -273,8 +286,17 @@ export function RideCreditsManager({ userId }: RideCreditsManagerProps) {
|
||||
try {
|
||||
await handleReorder(String(active.id), newIndex + 1);
|
||||
toast.success('Order updated');
|
||||
} catch (error) {
|
||||
toast.error(getErrorMessage(error));
|
||||
} catch (error: unknown) {
|
||||
handleError(error, {
|
||||
action: 'Drag Reorder Ride Credit',
|
||||
userId,
|
||||
metadata: {
|
||||
activeId: String(active.id),
|
||||
overId: String(over.id),
|
||||
oldIndex,
|
||||
newIndex
|
||||
}
|
||||
});
|
||||
// Rollback to old order
|
||||
setCredits(oldCredits);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user