Dev #2
@@ -1391,13 +1391,26 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* If zoomed, show zoomed block as prominent header */}
|
{/* If zoomed, show zoomed block as editable prominent header */}
|
||||||
{zoomedBlock && (
|
{zoomedBlock && (
|
||||||
<div className="pb-2 border-b border-border">
|
<div className="pb-2 border-b border-border flex items-center gap-2.5">
|
||||||
<h2 className="text-xl font-bold text-main flex items-center gap-2">
|
<span className="w-2.5 h-2.5 rounded-pill bg-accent flex-shrink-0" />
|
||||||
<span className="w-2.5 h-2.5 rounded-pill bg-accent" />
|
<input
|
||||||
<span>{zoomedBlock.content || 'Unbenannter Ast'}</span>
|
type="text"
|
||||||
</h2>
|
value={zoomedBlock.content}
|
||||||
|
onChange={(e) => updateBlock(zoomedBlock.id, { content: e.target.value })}
|
||||||
|
onKeyDown={(e) => {
|
||||||
|
if (e.key === 'Enter') {
|
||||||
|
e.preventDefault();
|
||||||
|
const zoomIdx = selectedDoc.blocks.findIndex((b) => b.id === zoomedBlock.id);
|
||||||
|
if (zoomIdx !== -1) {
|
||||||
|
insertNewBulletAfter(zoomIdx, (zoomedBlock.level || 0) + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
placeholder="Bullet-Titel bearbeiten… (Enter für Unterpunkt)"
|
||||||
|
className="w-full bg-transparent text-xl font-bold text-main focus:outline-none placeholder:text-faint"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
@@ -1683,11 +1696,26 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
|
|||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
if (zoomedBlock) {
|
||||||
|
const lastDescendant = visibleBlocks[visibleBlocks.length - 1];
|
||||||
|
if (lastDescendant) {
|
||||||
|
insertNewBulletAfter(
|
||||||
|
lastDescendant.originalIndex,
|
||||||
|
lastDescendant.block.level || (zoomedBlock.level || 0) + 1
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
const zoomIdx = selectedDoc.blocks.findIndex((b) => b.id === zoomedBlock.id);
|
||||||
|
if (zoomIdx !== -1) {
|
||||||
|
insertNewBulletAfter(zoomIdx, (zoomedBlock.level || 0) + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
const lastBlock = selectedDoc.blocks[selectedDoc.blocks.length - 1];
|
const lastBlock = selectedDoc.blocks[selectedDoc.blocks.length - 1];
|
||||||
insertNewBulletAfter(
|
insertNewBulletAfter(
|
||||||
selectedDoc.blocks.length - 1,
|
selectedDoc.blocks.length - 1,
|
||||||
lastBlock?.level || 0
|
lastBlock?.level || 0
|
||||||
);
|
);
|
||||||
|
}
|
||||||
}}
|
}}
|
||||||
className="btn-action text-xs flex items-center gap-1.5"
|
className="btn-action text-xs flex items-center gap-1.5"
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in new issue
Block a user