feat: Route list page

This commit is contained in:
2025-06-09 09:17:56 +03:00
parent 02a1d2ea74
commit f4544c1888
37 changed files with 1539 additions and 400 deletions

View File

@ -21,7 +21,13 @@ export type Vehicle = {
};
class VehicleStore {
vehicles: Vehicle[] = [];
vehicles: {
data: Vehicle[];
loaded: boolean;
} = {
data: [],
loaded: false,
};
vehicle: Record<string, Vehicle> = {};
constructor() {
@ -29,10 +35,13 @@ class VehicleStore {
}
getVehicles = async () => {
if (this.vehicles.loaded) return;
const response = await languageInstance("ru").get(`/vehicle`);
runInAction(() => {
this.vehicles = response.data;
this.vehicles.data = response.data;
this.vehicles.loaded = true;
});
};
@ -40,7 +49,7 @@ class VehicleStore {
await languageInstance("ru").delete(`/vehicle/${id}`);
runInAction(() => {
this.vehicles = this.vehicles.filter(
this.vehicles.data = this.vehicles.data.filter(
(vehicle) => vehicle.vehicle.id !== id
);
});
@ -68,7 +77,7 @@ class VehicleStore {
});
runInAction(() => {
this.vehicles.push({
this.vehicles.data.push({
vehicle: {
id: response.data.id,
tail_number: response.data.tail_number,
@ -128,7 +137,7 @@ class VehicleStore {
...response.data,
},
};
this.vehicles = this.vehicles.map((vehicle) =>
this.vehicles.data = this.vehicles.data.map((vehicle) =>
vehicle.vehicle.id === id
? {
...vehicle,