feat(workspace): journal panel toggle, view kept across tabs, sections nest under headings
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m9s
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m9s
- the journal opens as a framed panel and closes on a second click, returning to the previous note; journal state and the last regular note survive tab switches, the fallback note is never a journal day - pasted and imported markdown nests content under its heading (H2 below H1), Enter on a heading creates a child, '- ' / '* ' / '+ ' start a bullet Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bc7bdc481e
commit
375dda982b
9 files changed
+145
-36
No files matched your search
@@ -20,13 +20,27 @@ describe('parsePastedLines', () => {
|
||||
]);
|
||||
});
|
||||
|
||||
it('reads headings, todos, bullets and dividers', () => {
|
||||
expect(parse('# Titel\nText danach\n- [x] erledigt\n- Punkt\n---')).toEqual([
|
||||
it('reads headings, todos, bullets and dividers and nests sections under headings', () => {
|
||||
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: 0 },
|
||||
{ type: 'todo', checked: true, content: 'erledigt', indent: 0 },
|
||||
{ type: 'text', content: 'Punkt', 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: 'divider', content: '---', indent: 0 },
|
||||
{ type: 'text', content: 'Ohne Abschnitt', indent: 0 },
|
||||
]);
|
||||
});
|
||||
|
||||
it('nests H2 below H1 and closes sections at the same rank', () => {
|
||||
expect(parse('# A\n## A1\n1. eins\n## A2\nText\n# B\n- b')).toEqual([
|
||||
{ type: 'h1', content: 'A', indent: 0 },
|
||||
{ type: 'h2', content: 'A1', indent: 1 },
|
||||
{ type: 'numbered', content: 'eins', indent: 2 },
|
||||
{ type: 'h2', content: 'A2', indent: 1 },
|
||||
{ type: 'text', content: 'Text', indent: 2 },
|
||||
{ type: 'h1', content: 'B', indent: 0 },
|
||||
{ type: 'text', content: 'b', indent: 1 },
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user