Update deployment health checks. Fix UI bugs.

This commit is contained in:
Eric Gullickson
2025-12-20 10:50:44 -06:00
parent 2bd0981490
commit a17944d79f
8 changed files with 193 additions and 117 deletions

View File

@@ -3,7 +3,7 @@
* @ai-context Enhanced with Suspense, optimistic updates, and transitions
*/
import React, { useTransition, useEffect } from 'react';
import React, { useTransition, useMemo } from 'react';
import { Box, Typography, Grid, Button } from '@mui/material';
import AddIcon from '@mui/icons-material/Add';
import { useVehicles } from '../hooks/useVehicles';
@@ -40,24 +40,22 @@ export const VehiclesMobileScreen: React.FC<VehiclesMobileScreenProps> = ({
}) => {
const { data: vehicles, isLoading } = useVehicles();
const [_isPending, startTransition] = useTransition();
// Stable reference for empty array (prevents infinite loop when vehicles is undefined)
const safeVehicles = useMemo(
() => (Array.isArray(vehicles) ? vehicles : []),
[vehicles]
);
// React 19 optimistic updates
const {
optimisticVehicles,
isPending: isOptimisticPending
} = useOptimisticVehicles(Array.isArray(vehicles) ? vehicles : []);
// Enhanced search with transitions
const {
filteredVehicles,
updateVehicles
} = useVehicleSearch(optimisticVehicles);
// Update search when optimistic vehicles change
useEffect(() => {
updateVehicles(optimisticVehicles);
}, [optimisticVehicles, updateVehicles]);
} = useOptimisticVehicles(safeVehicles);
// Enhanced search with transitions (auto-syncs when vehicles change)
const { filteredVehicles } = useVehicleSearch(optimisticVehicles);
const handleVehicleSelect = (vehicle: Vehicle) => {
// Use transition to avoid blocking UI during navigation
startTransition(() => {