frontend refactor

This commit is contained in:
Egor Pozharov
2026-04-14 17:10:13 +06:00
parent 0540218332
commit 9b90a8aa7f
14 changed files with 328 additions and 127 deletions

View File

@@ -1,5 +1,6 @@
import { create } from 'zustand';
import { deliveriesApi } from '../api';
import { useToastStore } from './toastStore';
import type { Delivery, DeliveryStatus } from '../types';
interface DeliveryState {
@@ -40,10 +41,12 @@ export const useDeliveryStore = create<DeliveryState>()((set, get) => ({
const deliveries = await deliveriesApi.getByDate(date);
set({ deliveries, isLoading: false });
} catch (err) {
const message = err instanceof Error ? err.message : 'Failed to fetch deliveries';
set({
error: err instanceof Error ? err.message : 'Failed to fetch deliveries',
error: message,
isLoading: false,
});
useToastStore.getState().addToast(message, 'error');
}
},
@@ -54,10 +57,12 @@ export const useDeliveryStore = create<DeliveryState>()((set, get) => ({
const counts = await deliveriesApi.getCounts();
set({ deliveryCounts: counts, isLoadingCounts: false });
} catch (err) {
const message = err instanceof Error ? err.message : 'Failed to fetch counts';
set({
error: err instanceof Error ? err.message : 'Failed to fetch counts',
error: message,
isLoadingCounts: false,
});
useToastStore.getState().addToast(message, 'error');
}
},
@@ -72,10 +77,12 @@ export const useDeliveryStore = create<DeliveryState>()((set, get) => ({
await get().fetchDeliveryCounts();
set({ isLoading: false });
} catch (err) {
const message = err instanceof Error ? err.message : 'Failed to create delivery';
set({
error: err instanceof Error ? err.message : 'Failed to create delivery',
error: message,
isLoading: false,
});
useToastStore.getState().addToast(message, 'error');
throw err;
}
},
@@ -91,10 +98,12 @@ export const useDeliveryStore = create<DeliveryState>()((set, get) => ({
await get().fetchDeliveryCounts();
set({ isLoading: false });
} catch (err) {
const message = err instanceof Error ? err.message : 'Failed to update delivery';
set({
error: err instanceof Error ? err.message : 'Failed to update delivery',
error: message,
isLoading: false,
});
useToastStore.getState().addToast(message, 'error');
throw err;
}
},
@@ -112,10 +121,12 @@ export const useDeliveryStore = create<DeliveryState>()((set, get) => ({
// Refresh counts
await get().fetchDeliveryCounts();
} catch (err) {
const message = err instanceof Error ? err.message : 'Failed to delete delivery';
set({
error: err instanceof Error ? err.message : 'Failed to delete delivery',
error: message,
isLoading: false,
});
useToastStore.getState().addToast(message, 'error');
throw err;
}
},
@@ -136,10 +147,12 @@ export const useDeliveryStore = create<DeliveryState>()((set, get) => ({
isLoading: false,
}));
} catch (err) {
const message = err instanceof Error ? err.message : 'Failed to update status';
set({
error: err instanceof Error ? err.message : 'Failed to update status',
error: message,
isLoading: false,
});
useToastStore.getState().addToast(message, 'error');
throw err;
}
},