diff --git a/src/lib/schemas/admin.ts b/src/lib/schemas/admin.ts
index 1be4bc9..c8c41d6 100644
--- a/src/lib/schemas/admin.ts
+++ b/src/lib/schemas/admin.ts
@@ -6,12 +6,18 @@ const optionalPassword = z.string().refine((value) => value.length === 0 || valu
});
const roleSchema = z.enum(['admin', 'user'], 'Select a role.');
-export const createAdminSchema = z.object({
- name: z.string().trim().min(1, 'Enter a name.'),
- email: z.email('Enter a valid email address.').transform((value) => value.toLowerCase()),
- password: optionalPassword,
- role: roleSchema.default('admin')
-});
+export const createAdminSchema = z
+ .object({
+ name: z.string().trim().min(1, 'Enter a name.'),
+ email: z.email('Enter a valid email address.').transform((value) => value.toLowerCase()),
+ password: optionalPassword,
+ confirmPassword: optionalPassword,
+ role: roleSchema.default('admin')
+ })
+ .refine((data) => data.password === data.confirmPassword, {
+ message: 'Confirm password must match password.',
+ path: ['confirmPassword']
+ });
export const editAdminSchema = z.object({
id: z.string().min(1, 'Admin id is required.'),
diff --git a/src/routes/dashboard/organization/admins/create-admin-dialog.svelte b/src/routes/dashboard/organization/admins/create-admin-dialog.svelte
index f4bebb3..420c898 100644
--- a/src/routes/dashboard/organization/admins/create-admin-dialog.svelte
+++ b/src/routes/dashboard/organization/admins/create-admin-dialog.svelte
@@ -76,6 +76,23 @@
+
+
+
+ {#snippet children({ props })}
+ Confirm password
+
+ {/snippet}
+
+
+
+