{ if (e.target === dialog) close(); }} >

{item ? 'Edit Item' : 'Create New Item'}

{ return async ({ result, update }) => { if (result.type === 'success') { await update(); close(); } }; }} class="space-y-4" > {#if item} {/if}
{#if !currentFolderId}
(showFolderSuggestions = true)} on:input={() => (showFolderSuggestions = true)} on:keydown={(e) => { if (e.key === 'ArrowDown' && filteredFolders.length > 0) { e.preventDefault(); const firstBtn = document.getElementById('folder-suggestion-0'); firstBtn?.focus(); } }} on:blur={(e) => { // Check if the related target is one of our suggestion buttons const relatedTarget = e.relatedTarget as HTMLElement; if (!relatedTarget?.closest('.folder-suggestions')) { setTimeout(() => (showFolderSuggestions = false), 200); } }} autocomplete="off" required class="w-full rounded-md border border-zinc-700 bg-zinc-900 px-3 py-2 text-white placeholder-zinc-600 transition-all outline-none focus:border-red-500 focus:ring-1 focus:ring-red-500" placeholder="Search for a location..." /> f.name === folderSearch)?.id || ''} /> {#if showFolderSuggestions && filteredFolders.length > 0}
{#each filteredFolders as folder, i} {/each}
{/if}
{:else} {/if}
{#if selectedCategory}

Category Properties

{#each selectedCategory.defaultProperties as prop}
{#if propertyConfig[prop]}
{propertyConfig[prop].unit}
{/if}
{/each}
{/if}

Additional Properties

{#each arbitraryProperties as prop, i}
{#if propertyConfig[prop.key]}
{propertyConfig[prop.key].unit}
{/if}
{/each}
{#if item}

Reservations

{#if loadingDetails}
Loading...
{:else}
{#each reservations as reservation}
{reservation.user?.username?.[0]?.toUpperCase() || '?'}
{reservation.user?.username || 'Unknown User'}
{new Date(reservation.createdAt).toLocaleDateString()}
{#if user && reservation.userId === user.id}
{ return async ({ result }) => { if (result.type === 'success') fetchDetails(false); }; }} >
{#if editingReservationId === reservation.id}
{ return async ({ result }) => { if (result.type === 'success') { editingReservationId = null; fetchDetails(false); } }; }} > e.currentTarget.form?.requestSubmit()} />
{:else} {/if}
{ return async ({ result }) => { if (result.type === 'success') fetchDetails(false); }; }} >
{:else} {reservation.count} reserved {/if}
{/each} {#if reservations.length === 0}
No reservations yet.
{/if}
{#if user && !userReservation}
{ return async ({ result }) => { if (result.type === 'success') fetchDetails(false); }; }} >
{/if} {/if}

Comments

{#if loadingDetails}
Loading...
{:else} {#each comments as comment}
{comment.user?.username || 'Unknown'} {new Date(comment.createdAt).toLocaleDateString()}

{comment.text}

{#if user && comment.userId === user.id}
{ return async ({ result }) => { if (result.type === 'success') fetchDetails(false); }; }} >
{/if}
{/each} {#if comments.length === 0}
No comments yet.
{/if} {/if}
{#if user}
{ return async ({ result }) => { if (result.type === 'success') { formElement.reset(); fetchDetails(false); } }; }} >
{/if}
{/if}