From 25014cce2d35e9417d14d11c6aae86d7a28dad6d Mon Sep 17 00:00:00 2001 From: Marcel Date: Thu, 26 Mar 2026 12:17:55 +0100 Subject: [PATCH] refactor(admin/users): extract user form sub-components MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Shared (src/lib/components/user/): - UserProfileSection.svelte: name/birth-date/email/contact fields - UserGroupsSection.svelte: group checkboxes - UserPasswordSection.svelte: new/confirm password fields Page-local: - admin/users/new/AccountSection.svelte: username + initial password admin/users/[id] drops from 224 → ~35 lines. admin/users/new drops from 191 → ~30 lines. Date utilities imported from \$lib/utils/date. Part of #75 Co-Authored-By: Claude Sonnet 4.6 --- .../components/user/UserGroupsSection.svelte | 24 +++ .../user/UserPasswordSection.svelte | 31 ++++ .../components/user/UserProfileSection.svelte | 95 +++++++++++ .../src/routes/admin/users/[id]/+page.svelte | 155 ++---------------- .../src/routes/admin/users/new/+page.svelte | 131 +-------------- .../admin/users/new/AccountSection.svelte | 31 ++++ 6 files changed, 200 insertions(+), 267 deletions(-) create mode 100644 frontend/src/lib/components/user/UserGroupsSection.svelte create mode 100644 frontend/src/lib/components/user/UserPasswordSection.svelte create mode 100644 frontend/src/lib/components/user/UserProfileSection.svelte create mode 100644 frontend/src/routes/admin/users/new/AccountSection.svelte diff --git a/frontend/src/lib/components/user/UserGroupsSection.svelte b/frontend/src/lib/components/user/UserGroupsSection.svelte new file mode 100644 index 00000000..911cde23 --- /dev/null +++ b/frontend/src/lib/components/user/UserGroupsSection.svelte @@ -0,0 +1,24 @@ + + +
+ {#each groups as group (group.id)} + + {/each} +
diff --git a/frontend/src/lib/components/user/UserPasswordSection.svelte b/frontend/src/lib/components/user/UserPasswordSection.svelte new file mode 100644 index 00000000..cf25b239 --- /dev/null +++ b/frontend/src/lib/components/user/UserPasswordSection.svelte @@ -0,0 +1,31 @@ + + +
+ + + +
diff --git a/frontend/src/lib/components/user/UserProfileSection.svelte b/frontend/src/lib/components/user/UserProfileSection.svelte new file mode 100644 index 00000000..b3b8d214 --- /dev/null +++ b/frontend/src/lib/components/user/UserProfileSection.svelte @@ -0,0 +1,95 @@ + + +
+
+ + + +
+ + + + + + +
diff --git a/frontend/src/routes/admin/users/[id]/+page.svelte b/frontend/src/routes/admin/users/[id]/+page.svelte index 85369c6d..2159d6ed 100644 --- a/frontend/src/routes/admin/users/[id]/+page.svelte +++ b/frontend/src/routes/admin/users/[id]/+page.svelte @@ -1,41 +1,13 @@
@@ -76,77 +48,13 @@ function handleBirthDateInput(e: Event) {

{m.profile_section_personal()}

- -
-
- - - -
- - - - - - -
+
@@ -154,21 +62,7 @@ function handleBirthDateInput(e: Event) {

{m.admin_col_groups()}

- -
- {#each data.groups as group (group.id)} - - {/each} -
+ @@ -176,30 +70,7 @@ function handleBirthDateInput(e: Event) {

{m.admin_label_new_password_optional()}

- -
- - - -
+ diff --git a/frontend/src/routes/admin/users/new/+page.svelte b/frontend/src/routes/admin/users/new/+page.svelte index 01fe3e7f..ae79f96b 100644 --- a/frontend/src/routes/admin/users/new/+page.svelte +++ b/frontend/src/routes/admin/users/new/+page.svelte @@ -1,31 +1,11 @@
@@ -55,118 +35,19 @@ function handleBirthDateInput(e: Event) {
- -

- {m.admin_section_users()} -

- - - - +

{m.profile_section_personal()}

- -
- - - -
- - - - - - +

{m.admin_col_groups()}

- -
- {#each data.groups as group (group.id)} - - {/each} -
+
+import { m } from '$lib/paraglide/messages.js'; + + +

+ {m.admin_section_users()} +

+ + + +