Сборка фронт части
This commit is contained in:
parent
43f0bc1cdc
commit
dfbd387fae
176 changed files with 7839 additions and 1032 deletions
39
FRONT/BUILD/resources/app/src/store/devicesStore.ts
Normal file
39
FRONT/BUILD/resources/app/src/store/devicesStore.ts
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
import { create } from 'zustand'
|
||||
import { persist, createJSONStorage } from 'zustand/middleware'
|
||||
|
||||
export interface Device {
|
||||
number: number
|
||||
address: string
|
||||
}
|
||||
|
||||
interface DevicesState {
|
||||
devices: Device[]
|
||||
addDevice: (address: string) => void
|
||||
deleteDevice: (number: number) => void
|
||||
}
|
||||
|
||||
export const useDevicesStore = create<DevicesState>()(
|
||||
persist(
|
||||
(set) => ({
|
||||
devices: [],
|
||||
addDevice: (address) =>
|
||||
set((state) => {
|
||||
const newDevice = {
|
||||
number: state.devices.length + 1,
|
||||
address
|
||||
}
|
||||
return { devices: [...state.devices, newDevice] }
|
||||
}),
|
||||
deleteDevice: (number) =>
|
||||
set((state) => ({
|
||||
devices: state.devices
|
||||
.filter(device => device.number !== number)
|
||||
.map((device, index) => ({ ...device, number: index + 1 }))
|
||||
}))
|
||||
}),
|
||||
{
|
||||
name: 'connectedDevices-storage',
|
||||
storage: createJSONStorage(() => localStorage)
|
||||
}
|
||||
)
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue