18 lines
929 B
Svelte
18 lines
929 B
Svelte
<script lang="ts">
|
|
import ImageUploadInput from '$lib/components/ImageUploadInput.svelte';
|
|
import { MISSING_ITEM_ICON_URL } from '$lib/item-icons';
|
|
|
|
let {
|
|
currentUrl = '',
|
|
label = 'ICON',
|
|
resetToken = 0
|
|
}: { currentUrl?: string | null; label?: string; resetToken?: string | number } = $props();
|
|
</script>
|
|
|
|
<fieldset class="icon-upload-field">
|
|
<legend>{label}</legend>
|
|
<ImageUploadInput name="icon" accept="image/svg+xml,image/png,image/webp,image/avif,image/jpeg" {currentUrl} placeholderUrl={MISSING_ITEM_ICON_URL} {resetToken} emptyLabel="ICON AWAITING CONTRIBUTION" browseLabel={currentUrl ? 'REPLACE ICON' : 'ADD ICON'}/>
|
|
{#if currentUrl}<label class="icon-remove"><input name="removeIcon" type="checkbox" value="1"/><span>REMOVE CURRENT ICON</span></label>{/if}
|
|
<small>OPTIONAL · SAVE NOW, ADD AN ICON LATER · SVG, PNG, WEBP, AVIF, OR JPEG · BACKGROUNDS REMOVED WHEN NEEDED · 2 MiB MAX</small>
|
|
</fieldset>
|