{#if loading}
Загрузка…
{:else if error}
{error}
{:else}
{ if (!canUpload) return; if (!e.dataTransfer?.types.includes('Files')) return; e.preventDefault(); dragging = true; }} ondragleave={(e) => { if (!e.currentTarget.contains(e.relatedTarget as Node)) dragging = false; }} ondrop={onDrop} >
{album?.title ?? ''}
panels.toggle()} >
{#if canUpload}
uploader?.pick()} >
{/if}
{#if canUpload && photos.length === 0}
uploader?.pick()} >
Перетащите фото сюда или выберите файлы
{:else}
(cursorIndex = i)} onSelect={selectPhoto} onDragStart={dragPhoto} onContextMenu={openMenuForPhoto} onOpen={(i) => { const p = photos[i]; if (p) goto(`/albums/${albumId}/photos/${p.id}`); }} /> {/if} {#if nextCursor}
Показать ещё
{/if}
{#if dragging}
Отпустите, чтобы загрузить
{/if}
{ for (const p of created) { if (!photos.some((x) => x.id === p.id)) photos = [p, ...photos]; } loadAlbum().catch(() => {}); }} />
{/if} {#if pendingDelete}
(pendingDelete = false)} /> {/if}