Refactor: Execute remaining phases

This commit is contained in:
gpt-engineer-app[bot]
2025-10-20 13:30:02 +00:00
parent 6f1baef8c0
commit 368b97da04
10 changed files with 167 additions and 105 deletions

View File

@@ -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);
}