feat(ui): add drop and paste image uploads

This commit is contained in:
JB
2026-07-25 12:51:13 -04:00
parent 7a12b1d740
commit 6c982f7ed5
5 changed files with 129 additions and 15 deletions
+3 -1
View File
@@ -1,5 +1,6 @@
<script lang="ts">
import PendingForm from '$lib/components/PendingForm.svelte';
import ImageUploadInput from '$lib/components/ImageUploadInput.svelte';
import { browserSupportsWebAuthn, startRegistration } from '@simplewebauthn/browser';
import { onMount } from 'svelte';
let { data, form } = $props();
@@ -106,7 +107,8 @@
{#if form?.avatarChanged}<p class="success">Avatar updated.</p>{/if}
{:else}
<PendingForm action="?/uploadAvatar" enctype="multipart/form-data" class="avatar-upload">
<label class="field">CUSTOM AVATAR<input name="avatar" type="file" accept="image/jpeg,image/png,image/webp,image/avif" required /></label>
<p class="eyebrow">CUSTOM AVATAR</p>
<ImageUploadInput name="avatar" accept="image/jpeg,image/png,image/webp,image/avif" required emptyLabel="NO AVATAR SELECTED" browseLabel="CHOOSE AVATAR"/>
<small class="identity-note">JPEG, PNG, WebP, or AVIF · 5 MiB maximum · cropped to a 256 px square.</small>
{#if form?.avatarError}<p class="error">{form.avatarError}</p>{/if}
{#if form?.avatarChanged}<p class="success">Avatar updated.</p>{/if}