feat(workspace): sliding sidebar in focus mode, calmer workspace bar, smoother journal
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m47s

- focus mode: folders slide in from the left (button, title click, or the
  left edge on wide screens); picking a note keeps focus mode
- workspace bar: borderless live/shared/save pills in one style, divider
  before the note actions; footer without top line
- journal panel and calendar open with an animation, the view fades in
- paste and markdown import nest a list under the paragraph introducing it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
sandrodachandClaude Opus 5.5 committed 2026-10-30 22:04:30 +01:00
1 parent 226c863a2a
commit b136e5dfad
9 files changed
+183 -60

No files matched your search

@@ -24,9 +24,9 @@ describe('parsePastedLines', () => {
expect(parse('# Titel\nText danach\n- [x] erledigt\n* Punkt\n + tiefer\n---\nOhne Abschnitt')).toEqual([
{ type: 'h1', content: 'Titel', indent: 0 },
{ type: 'text', content: 'Text danach', indent: 1 },
{ type: 'todo', checked: true, content: 'erledigt', indent: 1 },
{ type: 'text', content: 'Punkt', indent: 1 },
{ type: 'text', content: 'tiefer', indent: 2 },
{ type: 'todo', checked: true, content: 'erledigt', indent: 2 },
{ type: 'text', content: 'Punkt', indent: 2 },
{ type: 'text', content: 'tiefer', indent: 3 },
{ type: 'divider', content: '---', indent: 0 },
{ type: 'text', content: 'Ohne Abschnitt', indent: 0 },
]);
@@ -49,4 +49,17 @@ describe('parsePastedLines', () => {
expect(items[0].content).toBe('```go\nfunc main() {}\n\n```');
expect(items[1]).toEqual({ type: 'text', content: 'Danach', indent: 0 });
});
it('nests a list under the paragraph that introduces it', () => {
expect(parse('# Plan\nFolgende Punkte:\n\n- eins\n - tiefer\n- zwei\n\nDanach Text\n1. a\n2. b')).toEqual([
{ type: 'h1', content: 'Plan', indent: 0 },
{ type: 'text', content: 'Folgende Punkte:', indent: 1 },
{ type: 'text', content: 'eins', indent: 2 },
{ type: 'text', content: 'tiefer', indent: 3 },
{ type: 'text', content: 'zwei', indent: 2 },
{ type: 'text', content: 'Danach Text', indent: 1 },
{ type: 'numbered', content: 'a', indent: 2 },
{ type: 'numbered', content: 'b', indent: 2 },
]);
});
});