diff --git a/web-admin/src/features/organizations/user-management/dialogs/AddGuestsDialog.svelte b/web-admin/src/features/organizations/user-management/dialogs/AddGuestsDialog.svelte index 9838f58d81c..fe537c44aa4 100644 --- a/web-admin/src/features/organizations/user-management/dialogs/AddGuestsDialog.svelte +++ b/web-admin/src/features/organizations/user-management/dialogs/AddGuestsDialog.svelte @@ -26,6 +26,7 @@ import { eventBus } from "@rilldata/web-common/lib/event-bus/event-bus"; import { getRpcErrorMessage } from "@rilldata/web-admin/components/errors/error-utils"; import { ORG_ROLES_OPTIONS } from "@rilldata/web-admin/features/organizations/constants"; + import { OrgUserRoles } from "@rilldata/web-common/features/users/roles"; import { useQueryClient } from "@tanstack/svelte-query"; import { defaults, superForm } from "sveltekit-superforms"; import { yup } from "sveltekit-superforms/adapters"; @@ -41,15 +42,17 @@ let failedInvites: string[] = []; let selectedProjects: string[] = []; let projectDropdownOpen = false; - let selectedRole: "admin" | "editor" | "viewer" = "viewer"; + let selectedRole: OrgUserRoles = OrgUserRoles.Viewer; let roleDropdownOpen = false; let hasAutoSelectedProject = false; function resetDialogState() { failedInvites = []; selectedProjects = []; - selectedRole = "viewer"; + selectedRole = OrgUserRoles.Viewer; hasAutoSelectedProject = false; + projectDropdownOpen = false; + roleDropdownOpen = false; } // Projects list @@ -94,6 +97,7 @@ } else { selectedProjects = [...selectedProjects, projectName]; } + projectDropdownOpen = true; } async function handleCreate(email: string) { @@ -253,9 +257,9 @@ closeOnItemClick={false} > {selectedProjectsLabel} @@ -286,9 +290,9 @@
Access level
{selectedRoleLabel} {#if roleDropdownOpen} @@ -298,15 +302,16 @@ {/if} - (selectedRole = "admin")} - >Admin - (selectedRole = "editor")} - >Editor - (selectedRole = "viewer")} - >Viewer + {#each ORG_ROLES_OPTIONS as option} + { + if (checked) selectedRole = option.value; + }} + > + {option.label} + + {/each}