feat(workspace): hashtag page shows the live outliner of each note's tagged branches, edited in place
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m45s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
sandrodachandClaude Opus 5.5 committed 2026-11-01 17:54:14 +01:00
1 parent ca56220e68
commit 8238c8a73f
9 files changed
+262 -176

No files matched your search

@@ -42,6 +42,8 @@ export interface OutlinerTreeProps {
/** Deleting a selection over several bullets in one step: the first bullet with its new text, the
* bullets to delete, and children of the last bullet that move under the first */
onReplaceRange?: (first: DocumentBlock, deleteIds: string[], movedChildren: DocumentBlock[]) => void;
/** The empty area below the last bullet (click adds one); off where several trees stack (hashtag page) */
trailingArea?: boolean;
}
export const OutlinerTree = forwardRef<OutlinerTreeHandle, OutlinerTreeProps>(({
@@ -71,6 +73,7 @@ export const OutlinerTree = forwardRef<OutlinerTreeHandle, OutlinerTreeProps>(({
onUndo,
onRedo,
onReplaceRange,
trailingArea = true,
}, ref) => {
const [focusedBlockId, setFocusedBlockId] = useState<string | null>(null);
@@ -955,7 +958,7 @@ export const OutlinerTree = forwardRef<OutlinerTreeHandle, OutlinerTreeProps>(({
);
})}
{canEdit && (
{canEdit && trailingArea && (
<div
className={`${compact ? 'min-h-[2.5rem]' : 'min-h-[14rem]'} pt-2 pl-2 transition-colors cursor-text ${
dragOverIndex === blocks.length ? 'border-t-2 border-accent bg-accent/10 rounded' : ''