export Backend: - Add email verification code generation and verification endpoints - Add profile picture upload with S3 storage and image processing - Add deposit_required field to users with 48h advance booking requirement - Add loyalty stamps that accumulate on completed bookings - Auto-transition bookings: confirmed → in_progress → completed - Add booking cancellation handler with no-show detection - Add ICS calendar file download endpoint for bookings - Sync bookings to CalDAV on confirmation Frontend: - Add schedule page route - Add avatar and image-cropper UI components - Update shadcn-svelte components (button, dialog) - Add "Add to Calendar" button in booking modal Database: - Add verification_codes table - Add profile_pic_url, loyalty_stamps, deposits_required to users - Various schema updates
21 lines
456 B
Svelte
21 lines
456 B
Svelte
<script lang="ts">
|
|
import type { HTMLAttributes } from 'svelte/elements';
|
|
import { cn, type WithElementRef } from '$lib/utils.js';
|
|
|
|
let {
|
|
ref = $bindable(null),
|
|
class: className,
|
|
children,
|
|
...restProps
|
|
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
</script>
|
|
|
|
<div
|
|
bind:this={ref}
|
|
data-slot="dialog-header"
|
|
class={cn('flex flex-col gap-2 text-center sm:text-left', className)}
|
|
{...restProps}
|
|
>
|
|
{@render children?.()}
|
|
</div>
|