+
+
+
unsaved.markDirty()}
+ onblur={() => (titleTouched = true)}
+ placeholder={m.geschichte_editor_title_placeholder()}
+ aria-invalid={showTitleError}
+ aria-describedby={showTitleError ? 'journey-title-error' : undefined}
+ class="block w-full rounded border border-line bg-surface px-3 py-3 font-serif text-2xl font-bold text-ink placeholder:text-ink-3 focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
+ />
+ {#if showTitleError}
+
+ {m.geschichte_editor_title_required()}
+
+ {/if}
+
+
+
+
+
+
{m.journey_intro_save_hint()}
+
+
+
+ {#if showPublishedEmptyWarning}
+
+ {m.journey_published_empty_warning()}
+
+ {/if}
+
+ {#if mutationError}
+
+ {mutationError}
+
+ {/if}
+
+
+
dragDrop.handlePointerMove(e)}
+ onpointerup={() => dragDrop.handlePointerUp()}
+ class="flex flex-col gap-2"
+ >
+ {#each items as item, i (item.id)}
+
+
dragDrop.handleGripDown(e, item.id)}
+ class="transition-all duration-150 {dragDrop.draggedBlockId === item.id ? 'z-10 rounded-lg shadow-xl ring-2 ring-focus-ring/40' : ''}"
+ style={dragDrop.draggedBlockId === item.id
+ ? `transform: translateY(${dragDrop.dragOffsetY}px) scale(1.02); opacity: 0.9;`
+ : ''}
+ >
+ {#if dragDrop.dropTargetIdx === i}
+
+ {/if}
+
handleMoveUp(i)}
+ onMoveDown={() => handleMoveDown(i)}
+ onRemove={() => handleRemove(item.id)}
+ onNotePatch={(note) => handleNotePatch(item.id, note)}
+ />
+
+ {/each}
+
+
+
+