revert "remove node work" commit

This commit is contained in:
Hunter Thornsberry
2024-06-15 00:14:38 -04:00
parent 0b1e206702
commit bdc060d6ad
5 changed files with 93 additions and 9 deletions
+7
View File
@@ -26,6 +26,7 @@ interface AppState {
rasterSources: RasterSource[];
commandPaletteOpen: boolean;
darkMode: boolean;
nodeNumToBeRemoved: number;
accent: AccentColor;
connectDialogOpen: boolean;
@@ -38,6 +39,7 @@ interface AppState {
removeDevice: (deviceId: number) => void;
setCommandPaletteOpen: (open: boolean) => void;
setDarkMode: (enabled: boolean) => void;
setNodeNumToBeRemoved: (nodeNum: number) => void;
setAccent: (color: AccentColor) => void;
setConnectDialogOpen: (open: boolean) => void;
}
@@ -51,6 +53,7 @@ export const useAppStore = create<AppState>()((set) => ({
darkMode: window.matchMedia("(prefers-color-scheme: dark)").matches,
accent: "orange",
connectDialogOpen: false,
nodeNumToBeRemoved: 0,
setRasterSources: (sources: RasterSource[]) => {
set(
@@ -99,6 +102,10 @@ export const useAppStore = create<AppState>()((set) => ({
}),
);
},
setNodeNumToBeRemoved: (nodeNum) =>
set((state) => ({
nodeNumToBeRemoved: nodeNum
})),
setAccent(color) {
set(
produce<AppState>((draft) => {
+16 -1
View File
@@ -24,7 +24,8 @@ export type DialogVariant =
| "QR"
| "shutdown"
| "reboot"
| "deviceName";
| "deviceName"
| "nodeRemoval";
export interface Device {
id: number;
@@ -54,6 +55,7 @@ export interface Device {
shutdown: boolean;
reboot: boolean;
deviceName: boolean;
nodeRemoval: boolean;
};
setStatus: (status: Types.DeviceStatusEnum) => void;
@@ -74,6 +76,7 @@ export interface Device {
addConnection: (connection: Types.ConnectionType) => void;
addMessage: (message: MessageWithState) => void;
addMetadata: (from: number, metadata: Protobuf.Mesh.DeviceMetadata) => void;
removeNode: (nodeNum: number) => void;
setMessageState: (
type: "direct" | "broadcast",
channelIndex: Types.ChannelNumber,
@@ -130,6 +133,7 @@ export const useDeviceStore = create<DeviceState>((set, get) => ({
shutdown: false,
reboot: false,
deviceName: false,
nodeRemoval: false,
},
pendingSettingsChanges: false,
messageDraft: "",
@@ -494,6 +498,17 @@ export const useDeviceStore = create<DeviceState>((set, get) => ({
}),
);
},
removeNode: (nodeNum) => {
set(
produce<DeviceState>((draft) => {
const device = draft.devices.get(id);
if (!device) {
return;
}
device.nodes.delete(nodeNum);
})
)
},
setMessageState: (
type: "direct" | "broadcast",
channelIndex: Types.ChannelNumber,