diff --git a/src/actions/admin.ts b/src/actions/admin.ts
index 511a010..5e32bf9 100644
--- a/src/actions/admin.ts
+++ b/src/actions/admin.ts
@@ -24,7 +24,7 @@ export const admin = {
input: z.object({
id: z.number(),
username: z.string(),
- password: z.string(),
+ password: z.string().nullable(),
permissions: z.number()
}),
handler: async (input, context) => {
diff --git a/src/app/admin/admins/Admins.svelte b/src/app/admin/admins/Admins.svelte
index bfc6fc0..9db95ec 100644
--- a/src/app/admin/admins/Admins.svelte
+++ b/src/app/admin/admins/Admins.svelte
@@ -32,7 +32,7 @@
- {#each $admins as admin, i (admin.id)}
+ {#each $admins as admin, i (admin)}
{i + 1} |
{admin.username} |
diff --git a/src/app/admin/admins/Badges.svelte b/src/app/admin/admins/Badges.svelte
index 26e1b6d..e6c268a 100644
--- a/src/app/admin/admins/Badges.svelte
+++ b/src/app/admin/admins/Badges.svelte
@@ -23,6 +23,7 @@
const index = reactiveSet.indexOf(badge);
if (index !== -1) {
reactiveSet.splice(index, 1);
+ onUpdate?.(reactiveSet);
}
}
diff --git a/src/app/admin/admins/CreateOrEditPopup.svelte b/src/app/admin/admins/CreateOrEditPopup.svelte
index 768a508..93ae2fa 100644
--- a/src/app/admin/admins/CreateOrEditPopup.svelte
+++ b/src/app/admin/admins/CreateOrEditPopup.svelte
@@ -44,7 +44,7 @@
let password = $state(null);
let permissions = $state(admin?.permissions ?? 0);
- let submitEnabled = $derived(!!(username && password));
+ let submitEnabled = $derived(!!username && (admin || password));
// lifecycle
$effect(() => {
@@ -85,7 +85,7 @@