diff --git a/internal/storage/docsync_test.go b/internal/storage/docsync_test.go index 9396135..7445151 100644 --- a/internal/storage/docsync_test.go +++ b/internal/storage/docsync_test.go @@ -403,7 +403,7 @@ func TestDemoAccountsGetSampleDataAndShares(t *testing.T) { } var docs int _ = s.db.QueryRow(`SELECT COUNT(*) FROM documents WHERE user_id = ?`, admin.ID).Scan(&docs) - if docs != 3 { + if docs != 4 { t.Fatalf("restart seeded again: %d notes", docs) } } diff --git a/internal/storage/seed.go b/internal/storage/seed.go index aa500fc..35db99b 100644 --- a/internal/storage/seed.go +++ b/internal/storage/seed.go @@ -181,6 +181,45 @@ func (s *Store) SeedStarterContent(user *domain.User) error { {typ: "callout", text: "Packliste liegt unter Listen → Packliste Südtirol."}, }), []string{"urlaub"}, false) + // Deeply nested on purpose: clicking a bullet zooms into its branch, the breadcrumb leads back out + _, _ = s.CreateDocument(user.ID, "", "Hausrenovierung 2027", "🏡", "Privat", seedBlocks([]seedBlock{ + {typ: "callout", text: "Tipp: Klick auf einen Punkt (•) zoomt in diesen Ast, die Leiste oben führt Ebene für Ebene zurück."}, + {text: "Erdgeschoss"}, + {level: 1, text: "Küche"}, + {level: 2, text: "Planung mit dem Küchenstudio"}, + {level: 3, text: "Termin 1: Aufmaß und erste Entwürfe"}, + {level: 4, typ: "todo", text: "Grundriss mit Maßen mitbringen", checked: true}, + {level: 4, typ: "todo", text: "Fotos der Wasser- und Stromanschlüsse machen", checked: true}, + {level: 3, text: "Termin 2: Angebot besprechen"}, + {level: 4, text: "Varianten"}, + {level: 5, text: "A: Zeile mit Insel – 14.800 €"}, + {level: 6, text: "Insel braucht eigenen Stromkreis, Elektriker fragen"}, + {level: 6, text: "Kochfeld mit integriertem Abzug, kein Hängeschrank nötig"}, + {level: 5, text: "B: L-Form ohne Insel – 11.200 €"}, + {level: 6, text: "mehr Stauraum, aber der Essplatz wird kleiner"}, + {level: 4, typ: "todo", text: "Gegenangebot vom zweiten Studio einholen #renovierung"}, + {level: 2, text: "Boden"}, + {level: 3, text: "Fliesen 60×60, anthrazit"}, + {level: 4, text: "Musterplatten liegen im Keller"}, + {level: 4, typ: "todo", text: "Fußbodenheizung vorher prüfen lassen"}, + {level: 1, text: "Wohnzimmer"}, + {level: 2, typ: "todo", text: "Wand zum Flur: tragend? Statiker fragen"}, + {level: 2, text: "Beleuchtung"}, + {level: 3, text: "Deckenspots dimmbar, in zwei Gruppen"}, + {level: 4, text: "über Home Assistant steuern #smarthome"}, + {text: "Obergeschoss"}, + {level: 1, text: "Bad"}, + {level: 2, text: "Dusche bodengleich statt Wanne"}, + {level: 3, text: "Gefälle und Abdichtung"}, + {level: 4, typ: "todo", text: "Angebot Fliesenleger"}, + {level: 4, typ: "todo", text: "Rinne oder Punktablauf entscheiden"}, + {level: 1, text: "Kinderzimmer"}, + {level: 2, typ: "todo", text: "Wandfarbe aussuchen lassen 🎨 #familie", checked: true}, + {text: "Budget"}, + {level: 1, text: "Gesamtrahmen 45.000 €, davon 10 % Puffer"}, + {level: 2, text: "Küche ist der größte Posten, siehe Erdgeschoss → Küche"}, + }), []string{"renovierung"}, false) + _, _ = s.CreateDocument(user.ID, "", "Ideen-Sammlung", "💡", "", seedBlocks([]seedBlock{ {text: "Offsite-Backup verschlüsselt mit restic #backup"}, {level: 1, text: "Vorteil: Snapshots, Deduplizierung, läuft auf jedem Ziel"},