diff --git a/frontend/src/routes/(root)/(logged)/folders/+page.svelte b/frontend/src/routes/(root)/(logged)/folders/+page.svelte index 090223ebbd..ed41363a03 100644 --- a/frontend/src/routes/(root)/(logged)/folders/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/folders/+page.svelte @@ -7,7 +7,8 @@ import FolderEditor from '$lib/components/FolderEditor.svelte' import PageHeader from '$lib/components/PageHeader.svelte' import { userStore, workspaceStore, userWorkspaces } from '$lib/stores' - import { Button, Drawer, DrawerContent, Popup, Skeleton } from '$lib/components/common' + import { Button, Drawer, DrawerContent, Skeleton } from '$lib/components/common' + import Popover from '$lib/components/meltComponents/Popover.svelte' import FolderInfo from '$lib/components/FolderInfo.svelte' import FolderUsageInfo from '$lib/components/FolderUsageInfo.svelte' import { sendUserToast } from '$lib/utils' @@ -78,139 +79,137 @@ -{#if $userStore?.operator && $workspaceStore && !$userWorkspaces.find(_ => _.id === $workspaceStore)?.operator_settings?.folders} - +{#if $userStore?.operator && $workspaceStore && !$userWorkspaces.find((_) => _.id === $workspaceStore)?.operator_settings?.folders} + {:else} - - -
- - - - -
- handleKeyUp(e, () => close(null))} - placeholder="New folder name" - bind:value={newFolderName} - /> + + +
+ + + + + +
+ handleKeyUp(e, () => close())} + placeholder="New folder name" + bind:value={newFolderName} + /> -
- -
-
- -
-
+
+ +
+
+ + +
+
-
- - - - Name - Scripts - Flows - Apps - Schedules - Variables - Resources - Participants - - - - - {#if folders === undefined} - {#each new Array(4) as _} - - - - - - {/each} - {:else} - {#if folders.length === 0} - - No folders yet, create one! - - {/if} +
+ + + + Name + Scripts + Flows + Apps + Schedules + Variables + Resources + Participants + + + + + {#if folders === undefined} + {#each new Array(4) as _} + + + + + + {/each} + {:else} + {#if folders.length === 0} + + No folders yet, create one! + + {/if} - {#each folders as { name, extra_perms, owners, canWrite, summary } (name)} - { - editFolderName = name - folderDrawer.openDrawer() - }} - > - - {name} - {#if summary} -
- {summary} - {/if} -
- + {#each folders as { name, extra_perms, owners, canWrite, summary } (name)} + { + editFolderName = name + folderDrawer.openDrawer() + }} + > + + {name} + {#if summary} +
+ {summary} + {/if} +
+ - - - { - editFolderName = name - folderDrawer.openDrawer() - } - }, - { - displayName: `Delete${canWrite ? '' : ' (require owner permissions)'}`, - icon: Trash, - type: 'delete', - disabled: !canWrite, - action: async () => { - try { - await FolderService.deleteFolder({ - workspace: $workspaceStore ?? '', - name - }) - } catch (e) { - sendUserToast(e.body, true) - loadFolders() + + + { + editFolderName = name + folderDrawer.openDrawer() + } + }, + { + displayName: `Delete${canWrite ? '' : ' (require owner permissions)'}`, + icon: Trash, + type: 'delete', + disabled: !canWrite, + action: async () => { + try { + await FolderService.deleteFolder({ + workspace: $workspaceStore ?? '', + name + }) + } catch (e) { + sendUserToast(e.body, true) + loadFolders() + } } } - } - ]} - /> - -
- {/each} - {/if} - -
-
- + ]} + /> +
+ + {/each} + {/if} + +
+
+
{/if} diff --git a/frontend/src/routes/(root)/(logged)/groups/+page.svelte b/frontend/src/routes/(root)/(logged)/groups/+page.svelte index 93fc04d45d..fda99d9327 100644 --- a/frontend/src/routes/(root)/(logged)/groups/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/groups/+page.svelte @@ -4,7 +4,8 @@ import { GroupService } from '$lib/gen' import CenteredPage from '$lib/components/CenteredPage.svelte' - import { Button, Drawer, DrawerContent, Popup, Skeleton } from '$lib/components/common' + import { Button, Drawer, DrawerContent, Skeleton } from '$lib/components/common' + import Popover from '$lib/components/meltComponents/Popover.svelte' import Dropdown from '$lib/components/DropdownV2.svelte' import GroupEditor from '$lib/components/GroupEditor.svelte' import GroupInfo from '$lib/components/GroupInfo.svelte' @@ -40,11 +41,12 @@ } } - function handleKeyUp(event: KeyboardEvent) { + function handleKeyUp(event: KeyboardEvent, close: () => void) { const key = event.key if (key === 'Enter') { event.preventDefault() addGroup() + close() } } async function addGroup() { @@ -73,160 +75,162 @@ -{#if $userStore?.operator && $workspaceStore && !$userWorkspaces.find(_ => _.id === $workspaceStore)?.operator_settings?.groups} - -{:else} - - -
-
- - - - -
- - -
-
-
-
-
- -
- - - - Name - Members - - - - - {#if groups === undefined} - {#each new Array(4) as _} - - - - - - {/each} - {:else} - {#each groups as { name, summary, extra_perms, canWrite } (name)} - { - editGroupName = name - groupDrawer.openDrawer() - }} - > - -
-
- {name} - {#if summary} -
- {summary} - {/if} -
- -
-
- - - - - { - editGroupName = name - groupDrawer.openDrawer() - } - }, - { - displayName: 'Delete', - - icon: Trash, - type: 'delete', - disabled: !canWrite, - action: async () => { - await GroupService.deleteGroup({ workspace: $workspaceStore ?? '', name }) - loadGroups() - } - } - ]} - /> - -
- {/each} - {/if} - -
+{#if $userStore?.operator && $workspaceStore && !$userWorkspaces.find((_) => _.id === $workspaceStore)?.operator_settings?.groups} + - - {#if instanceGroups && instanceGroups.length > 0} +{:else} + -
- - - Name - Members - - - {#each instanceGroups as { name, emails }} - - - + + + +
+ + + + Name + Members + + + + + {#if groups === undefined} + {#each new Array(4) as _} + + + + + + {/each} + {:else} + {#each groups as { name, summary, extra_perms, canWrite } (name)} + { + editGroupName = name + groupDrawer.openDrawer() + }} + > + +
+
+ {name} + {#if summary} +
+ {summary} + {/if} +
+ +
+
+ + + + + { + e?.stopPropagation() + editGroupName = name + groupDrawer.openDrawer() + } + }, + { + displayName: 'Delete', + + icon: Trash, + type: 'delete', + disabled: !canWrite, + action: async () => { + await GroupService.deleteGroup({ workspace: $workspaceStore ?? '', name }) + loadGroups() + } + } + ]} + /> + +
+ {/each} + {/if} - +
- {/if} - + + {#if instanceGroups && instanceGroups.length > 0} + +
+ + + Name + Members + + + {#each instanceGroups as { name, emails }} + + + { + editGroupName = name + groupDrawer.openDrawer() + }} + >{name} + + + {emails?.length ?? 0} members + + {/each} + + +
+ {/if} + {/if}