From 1be1c3d4bb41939a47858f680961703cf72160da Mon Sep 17 00:00:00 2001 From: Hunter Thornsberry Date: Wed, 12 Jun 2024 18:44:40 -0400 Subject: [PATCH] remove node work --- src/components/Dialog/DialogManager.tsx | 7 --- src/components/Dialog/RemoveNodeDialog.tsx | 52 ---------------------- src/core/stores/appStore.ts | 7 --- src/core/stores/deviceStore.ts | 17 +------ src/pages/Nodes.tsx | 16 +------ 5 files changed, 2 insertions(+), 97 deletions(-) delete mode 100644 src/components/Dialog/RemoveNodeDialog.tsx diff --git a/src/components/Dialog/DialogManager.tsx b/src/components/Dialog/DialogManager.tsx index 877eec4e..4fa84dc3 100644 --- a/src/components/Dialog/DialogManager.tsx +++ b/src/components/Dialog/DialogManager.tsx @@ -3,7 +3,6 @@ import { ImportDialog } from "@components/Dialog/ImportDialog.js"; import { QRDialog } from "@components/Dialog/QRDialog.js"; import { RebootDialog } from "@components/Dialog/RebootDialog.js"; import { ShutdownDialog } from "@components/Dialog/ShutdownDialog.js"; -import { RemoveNodeDialog } from "@app/components/Dialog/RemoveNodeDialog.js" import { useDevice } from "@core/stores/deviceStore.js"; export const DialogManager = (): JSX.Element => { @@ -43,12 +42,6 @@ export const DialogManager = (): JSX.Element => { setDialogOpen("deviceName", open); }} /> - { - setDialogOpen("nodeRemoval", open); - }} - /> ); }; diff --git a/src/components/Dialog/RemoveNodeDialog.tsx b/src/components/Dialog/RemoveNodeDialog.tsx deleted file mode 100644 index 789388db..00000000 --- a/src/components/Dialog/RemoveNodeDialog.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { useAppStore } from "@app/core/stores/appStore"; -import { useDevice } from "@app/core/stores/deviceStore.js"; -import { Button } from "@components/UI/Button.js"; -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from "@components/UI/Dialog.js"; -import { Label } from "@components/UI/Label.js"; - -export interface RemoveNodeDialogProps { - open: boolean; - onOpenChange: (open: boolean) => void; -} - -export const RemoveNodeDialog = ({ - open, - onOpenChange, -}: RemoveNodeDialogProps): JSX.Element => { - const { connection, nodes, removeNode } = useDevice(); - const { nodeNumToBeRemoved } = useAppStore(); - - const onSubmit = () => { - connection?.removeNodeByNum(nodeNumToBeRemoved); - removeNode(nodeNumToBeRemoved); - onOpenChange(false); - }; - - return ( - - - - Remove Node? - - Are you sure you want to remove this Node? - - -
-
- -
-
- - - -
-
- ); -}; diff --git a/src/core/stores/appStore.ts b/src/core/stores/appStore.ts index 2098c17b..fa46cb57 100644 --- a/src/core/stores/appStore.ts +++ b/src/core/stores/appStore.ts @@ -26,7 +26,6 @@ interface AppState { rasterSources: RasterSource[]; commandPaletteOpen: boolean; darkMode: boolean; - nodeNumToBeRemoved: number; accent: AccentColor; connectDialogOpen: boolean; @@ -39,7 +38,6 @@ 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; } @@ -53,7 +51,6 @@ export const useAppStore = create()((set) => ({ darkMode: window.matchMedia("(prefers-color-scheme: dark)").matches, accent: "orange", connectDialogOpen: false, - nodeNumToBeRemoved: 0, setRasterSources: (sources: RasterSource[]) => { set( @@ -102,10 +99,6 @@ export const useAppStore = create()((set) => ({ }), ); }, - setNodeNumToBeRemoved: (nodeNum) => - set((state) => ({ - nodeNumToBeRemoved: nodeNum - })), setAccent(color) { set( produce((draft) => { diff --git a/src/core/stores/deviceStore.ts b/src/core/stores/deviceStore.ts index bfd927fc..fee9fb8f 100644 --- a/src/core/stores/deviceStore.ts +++ b/src/core/stores/deviceStore.ts @@ -24,8 +24,7 @@ export type DialogVariant = | "QR" | "shutdown" | "reboot" - | "deviceName" - | "nodeRemoval"; + | "deviceName"; export interface Device { id: number; @@ -55,7 +54,6 @@ export interface Device { shutdown: boolean; reboot: boolean; deviceName: boolean; - nodeRemoval: boolean; }; setStatus: (status: Types.DeviceStatusEnum) => void; @@ -76,7 +74,6 @@ 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, @@ -133,7 +130,6 @@ export const useDeviceStore = create((set, get) => ({ shutdown: false, reboot: false, deviceName: false, - nodeRemoval: false, }, pendingSettingsChanges: false, messageDraft: "", @@ -498,17 +494,6 @@ export const useDeviceStore = create((set, get) => ({ }), ); }, - removeNode: (nodeNum) => { - set( - produce((draft) => { - const device = draft.devices.get(id); - if (!device) { - return; - } - device.nodes.delete(nodeNum); - }) - ) - }, setMessageState: ( type: "direct" | "broadcast", channelIndex: Types.ChannelNumber, diff --git a/src/pages/Nodes.tsx b/src/pages/Nodes.tsx index c272dc6d..8b1c03a6 100644 --- a/src/pages/Nodes.tsx +++ b/src/pages/Nodes.tsx @@ -6,18 +6,9 @@ import { useDevice } from "@core/stores/deviceStore.js"; import { Hashicon } from "@emeraldpay/hashicon-react"; import { Protobuf } from "@meshtastic/js"; import { base16 } from "rfc4648"; -import { Button } from "@components/UI/Button.js"; -import { TrashIcon } from "lucide-react"; -import { useAppStore } from "@app/core/stores/appStore"; - -export interface DeleteNoteDialogProps { - open: boolean; - onOpenChange: (open: boolean) => void; -} export const NodesPage = (): JSX.Element => { - const { nodes, hardware, setDialogOpen } = useDevice(); - const { setNodeNumToBeRemoved } = useAppStore(); + const { nodes, hardware } = useDevice(); const filteredNodes = Array.from(nodes.values()).filter( (n) => n.num !== hardware.myNodeNum, @@ -35,7 +26,6 @@ export const NodesPage = (): JSX.Element => { { title: "MAC Address", type: "normal", sortable: true }, { title: "Last Heard", type: "normal", sortable: true }, { title: "SNR", type: "normal", sortable: true }, - { title: "Remove", type: "normal", sortable: false }, ]} rows={filteredNodes.map((node) => [ , @@ -65,10 +55,6 @@ export const NodesPage = (): JSX.Element => { {Math.min(Math.max((node.snr + 10) * 5, 0), 100)}%/ {(node.snr + 10) * 5}raw , - ])} />