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 <noreply@anthropic.com>
32 lines
844 B
Svelte
32 lines
844 B
Svelte
<script lang="ts">
|
|
import { m } from '$lib/paraglide/messages.js';
|
|
</script>
|
|
|
|
<h2 class="text-xs font-bold tracking-widest text-ink-3 uppercase">
|
|
{m.admin_section_users()}
|
|
</h2>
|
|
|
|
<label class="block">
|
|
<span class="mb-1 block font-sans text-xs font-bold tracking-widest text-ink-3 uppercase">
|
|
{m.admin_col_login()}
|
|
</span>
|
|
<input
|
|
type="text"
|
|
name="username"
|
|
required
|
|
class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
|
|
/>
|
|
</label>
|
|
|
|
<label class="block">
|
|
<span class="mb-1 block font-sans text-xs font-bold tracking-widest text-ink-3 uppercase">
|
|
{m.admin_label_initial_password()}
|
|
</span>
|
|
<input
|
|
type="password"
|
|
name="password"
|
|
required
|
|
class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
|
|
/>
|
|
</label>
|