Fixed mobile form
This commit is contained in:
@@ -115,6 +115,12 @@ export class DataSyncManager {
|
||||
private startBackgroundSync() {
|
||||
this.syncInterval = setInterval(() => {
|
||||
if (this.isOnline) {
|
||||
const state = useNavigationStore.getState();
|
||||
console.log('[DataSync] Tick', {
|
||||
at: new Date().toISOString(),
|
||||
activeScreen: state.activeScreen,
|
||||
selectedVehicleId: state.selectedVehicleId,
|
||||
});
|
||||
this.performBackgroundSync();
|
||||
}
|
||||
}, this.config.syncInterval);
|
||||
@@ -135,14 +141,19 @@ export class DataSyncManager {
|
||||
|
||||
// If on vehicles screen, refresh vehicles data
|
||||
if (navigationState.activeScreen === 'Vehicles') {
|
||||
console.log('[DataSync] Invalidating query', { key: ['vehicles'], reason: 'background-sync:vehicles-screen' });
|
||||
await this.queryClient.invalidateQueries({ queryKey: ['vehicles'] });
|
||||
}
|
||||
|
||||
// If viewing specific vehicle, refresh its data
|
||||
if (navigationState.selectedVehicleId) {
|
||||
await this.queryClient.invalidateQueries({
|
||||
queryKey: ['vehicles', navigationState.selectedVehicleId]
|
||||
});
|
||||
// If viewing specific vehicle details, refresh that vehicle's data
|
||||
if (
|
||||
navigationState.activeScreen === 'Vehicles' &&
|
||||
navigationState.vehicleSubScreen === 'detail' &&
|
||||
navigationState.selectedVehicleId
|
||||
) {
|
||||
const key = ['vehicles', navigationState.selectedVehicleId];
|
||||
console.log('[DataSync] Invalidating query', { key, reason: 'background-sync:selected-vehicle:vehicles-detail' });
|
||||
await this.queryClient.invalidateQueries({ queryKey: key });
|
||||
}
|
||||
|
||||
console.log('DataSync: Background sync completed');
|
||||
@@ -241,4 +252,4 @@ export class DataSyncManager {
|
||||
window.removeEventListener('online', this.handleOnline);
|
||||
window.removeEventListener('offline', this.handleOffline);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user