diff --git a/frontend/src/lib/components/SuperadminSettings.svelte b/frontend/src/lib/components/SuperadminSettings.svelte
index 291b2157d9..61638e5fa3 100644
--- a/frontend/src/lib/components/SuperadminSettings.svelte
+++ b/frontend/src/lib/components/SuperadminSettings.svelte
@@ -6,7 +6,8 @@
import TableCustom from '$lib/components/TableCustom.svelte'
import PageHeader from '$lib/components/PageHeader.svelte'
import InviteGlobalUser from '$lib/components/InviteGlobalUser.svelte'
- import { Drawer, DrawerContent } from '$lib/components/common'
+ import { Alert, Badge, Drawer, DrawerContent } from '$lib/components/common'
+ import ConfirmationModal from '$lib/components/common/confirmationModal/ConfirmationModal.svelte'
let drawer: Drawer
export function toggleDrawer() {
@@ -17,6 +18,9 @@
let filteredUsers: GlobalUserInfo[] | undefined
let userFilter = ''
+ let deleteConfirmedCallback: (() => void) | undefined = undefined
+ $: openConfirmation = Boolean(deleteConfirmedCallback)
+
const fuseOptions = {
includeScore: false,
keys: ['email', 'name', 'company']
@@ -30,7 +34,7 @@
}
async function listUsers(): Promise
{
- users = await UserService.listUsersAsSuperAdmin({})
+ users = await UserService.listUsersAsSuperAdmin({ perPage: 100000 })
fuse?.setCollection(users)
}
@@ -38,57 +42,100 @@
listUsers()
-
-
-
- Running windmill version (backend) {version}
-
+
+
+ {
+ deleteConfirmedCallback = undefined
+ }}
+ on:confirmed={() => {
+ if (deleteConfirmedCallback) {
+ deleteConfirmedCallback()
+ }
+ deleteConfirmedCallback = undefined
+ }}
+ >
+
+
Are you sure you want to remove this user?
+
+
+ You can press
+ SHIFT
+ while removing a variable to bypass confirmation.
+
+
+
+
-
+
+
+
+ Running windmill version (backend) {version}
+
-
-
-
+
-
-
-
-
- | email |
- superadmin |
- auth |
- name |
- company |
- |
-
-
- {#if filteredUsers && users}
- {#each userFilter === '' ? users : filteredUsers as { email, super_admin, login_type, name, company }}
-
- | {email} |
- {super_admin} |
- {login_type} |
- {name} |
- {company} |
-
- |
-
- {/each}
- {/if}
-
-
+
+
+
+
+
+
+
+
+
+ | email |
+ superadmin |
+ auth |
+ name |
+ company |
+ |
+
+
+ {#if filteredUsers && users}
+ {#each userFilter === '' ? users : filteredUsers as { email, super_admin, login_type, name, company }}
+
+ | {email} |
+ {super_admin ? 'yes' : ''} |
+ {login_type} |
+ {name ?? ''} |
+ {company ?? ''} |
+
+
+
+ |
+
+
+ |
+
+ {/each}
+ {/if}
+
+
+
diff --git a/frontend/src/lib/components/TableCustom.svelte b/frontend/src/lib/components/TableCustom.svelte
index fd665d7fe8..33773c34b6 100644
--- a/frontend/src/lib/components/TableCustom.svelte
+++ b/frontend/src/lib/components/TableCustom.svelte
@@ -14,7 +14,7 @@
-->
-
+
diff --git a/frontend/src/lib/components/UserSettings.svelte b/frontend/src/lib/components/UserSettings.svelte
index 943f0521e0..4d0a885e25 100644
--- a/frontend/src/lib/components/UserSettings.svelte
+++ b/frontend/src/lib/components/UserSettings.svelte
@@ -77,27 +77,34 @@
-
- Running windmill version (backend) {version}
-
- User info
-
- {#if passwordError}
-
{passwordError}
- {/if}
-
-
-
- {#if login_type == 'password'}
-
+
+ Authentify to the Windmill API with access tokens.
+
+
+
+
+
+ Added token:
+
+
+ Make sure to copy your personal access token now. You won’t be able to see it again!
+
+
+
+
+
+
Add new token
+
+
+ Label (optional)
+
+
+
+ Expires on (optional)
+
+
+
+
+
+
+
+
+
+
+
+
+ | prefix |
+ label |
+ expiration |
+ |
+
+
+ {#if tokens && tokens.length > 0}
+ {#each tokens as { token_prefix, expiration, label }}
+
+ | {token_prefix}**** |
+ {label ?? ''} |
+ {displayDate(expiration ?? '')} |
+ |
+
+ {/each}
+ {:else if tokens && tokens.length === 0}
+ | There are no tokens yet |
+ {:else}
+ Loading...
+ {/if}
+
+
+
+
diff --git a/frontend/src/lib/components/common/drawer/Drawer.svelte b/frontend/src/lib/components/common/drawer/Drawer.svelte
index aa56695673..523d209084 100644
--- a/frontend/src/lib/components/common/drawer/Drawer.svelte
+++ b/frontend/src/lib/components/common/drawer/Drawer.svelte
@@ -116,7 +116,6 @@
background: white;
z-index: 3;
transition: transform var(--duration) ease;
- overflow: auto;
}
.panel.left {
diff --git a/frontend/src/lib/components/common/drawer/DrawerContent.svelte b/frontend/src/lib/components/common/drawer/DrawerContent.svelte
index 8e8958b44e..bcef6747ab 100644
--- a/frontend/src/lib/components/common/drawer/DrawerContent.svelte
+++ b/frontend/src/lib/components/common/drawer/DrawerContent.svelte
@@ -4,10 +4,11 @@
import Icon from 'svelte-awesome'
export let title: string | undefined = undefined
+ export let overflow_y = true
const dispatch = createEventDispatcher()
-
+
{title}
-
+
-
-
-
+ {#if $$slots.submission}
+
-
+ {/if}
diff --git a/frontend/src/lib/components/sidebar/UserMenu.svelte b/frontend/src/lib/components/sidebar/UserMenu.svelte
index 9f0ad406ea..03ef6c6e46 100644
--- a/frontend/src/lib/components/sidebar/UserMenu.svelte
+++ b/frontend/src/lib/components/sidebar/UserMenu.svelte
@@ -58,7 +58,7 @@