- Added user management routes and logic in `+page.server.ts` for creating, updating, resetting passwords, and deleting users. - Created a user management interface in `+page.svelte` with dialogs for user actions. - Integrated password validation and hashing using `@node-rs/argon2`. - Updated database schema to include a `user` table with necessary fields. - Seeded a default admin user during database migration if no users exist. - Added necessary dependencies in `package.json`.
21 lines
600 B
Svelte
21 lines
600 B
Svelte
<script lang="ts">
|
|
import ChevronUpIcon from "@lucide/svelte/icons/chevron-up";
|
|
import { Select as SelectPrimitive } from "bits-ui";
|
|
import { cn, type WithoutChildrenOrChild } from "$lib/utils.js";
|
|
|
|
let {
|
|
ref = $bindable(null),
|
|
class: className,
|
|
...restProps
|
|
}: WithoutChildrenOrChild<SelectPrimitive.ScrollUpButtonProps> = $props();
|
|
</script>
|
|
|
|
<SelectPrimitive.ScrollUpButton
|
|
bind:ref
|
|
data-slot="select-scroll-up-button"
|
|
class={cn("flex cursor-default items-center justify-center py-1", className)}
|
|
{...restProps}
|
|
>
|
|
<ChevronUpIcon class="size-4" />
|
|
</SelectPrimitive.ScrollUpButton>
|