From 1622c12dfaae5a779a945b51aeb9524b0dc7d60b Mon Sep 17 00:00:00 2001 From: jeffvli Date: Wed, 26 Oct 2022 16:12:57 -0700 Subject: [PATCH] Update server management --- .../servers/components/server-list-item.tsx | 52 ++++++++++++++++-- .../servers/components/server-section.tsx | 9 ++- .../mutations/use-disable-server-folder.ts | 55 +++++++++++++++++++ .../mutations/use-enable-server-folder.ts | 55 +++++++++++++++++++ .../features/servers/utils/validate-server.ts | 6 +- 5 files changed, 166 insertions(+), 11 deletions(-) create mode 100644 src/renderer/features/servers/mutations/use-disable-server-folder.ts create mode 100644 src/renderer/features/servers/mutations/use-enable-server-folder.ts diff --git a/src/renderer/features/servers/components/server-list-item.tsx b/src/renderer/features/servers/components/server-list-item.tsx index 499b7954e..489dc323d 100644 --- a/src/renderer/features/servers/components/server-list-item.tsx +++ b/src/renderer/features/servers/components/server-list-item.tsx @@ -8,7 +8,9 @@ import { AddServerUrlForm } from '@/renderer/features/servers/components/add-ser import { EditServerForm } from '@/renderer/features/servers/components/edit-server-form'; import { ServerSection } from '@/renderer/features/servers/components/server-section'; import { useDeleteServerUrl } from '@/renderer/features/servers/mutations/use-delete-server-url'; +import { useDisableServerFolder } from '@/renderer/features/servers/mutations/use-disable-server-folder'; import { useDisableServerUrl } from '@/renderer/features/servers/mutations/use-disable-server-url'; +import { useEnableServerFolder } from '@/renderer/features/servers/mutations/use-enable-server-folder'; import { useEnableServerUrl } from '@/renderer/features/servers/mutations/use-enable-server-url'; import { usePermissions } from '@/renderer/features/shared'; import { useAuthStore } from '@/renderer/store'; @@ -26,6 +28,8 @@ export const ServerListItem = ({ server }: ServerListItemProps) => { const enableServerUrl = useEnableServerUrl(); const disableServerUrl = useDisableServerUrl(); const deleteServerUrl = useDeleteServerUrl(); + const enableServerFolder = useEnableServerFolder(); + const disableServerFolder = useDisableServerFolder(); const serverCredentials = useAuthStore((state) => state.serverCredentials); const enableServerCredential = useAuthStore( @@ -69,6 +73,18 @@ export const ServerListItem = ({ server }: ServerListItemProps) => { }); }; + const handleToggleFolder = (folderId: string, enabled: boolean) => { + if (enabled) { + return disableServerFolder.mutate({ + query: { folderId, serverId: server.id }, + }); + } + + return enableServerFolder.mutate({ + query: { folderId, serverId: server.id }, + }); + }; + return ( <> @@ -104,7 +120,35 @@ export const ServerListItem = ({ server }: ServerListItemProps) => { )} - + + + {server.serverFolders?.map((folder) => ( + + + {folder.name} + + + + {permissions.deleteServerFolder && ( + + )} + + + ))} + + + {addUrl ? ( { {permissions.deleteServerUrl && (