ginnoir
|
eabcebdb00
|
test: add reproducer for garden integrations (task 74)
|
2026-06-01 20:30:18 -05:00 |
|
ginnoir
|
fe282ba470
|
test: add reproducer for garden care tracking (task 73)
|
2026-06-01 20:23:30 -05:00 |
|
ginnoir
|
a86f5471ce
|
test: add reproducer for garden plants crud (task 72)
|
2026-06-01 20:04:22 -05:00 |
|
ginnoir
|
5f6b756342
|
feat: garden containers crud (task 71)
- add listContainers/getContainer/searchContainers queries
- add createContainer/updateContainer/deleteContainer server actions with logActivity
- add ContainerList, ContainerDetail, ContainerForm client components
- add /garden, /garden/containers/[id], /garden/containers/new pages
- register garden.container entity with share + search in manifest
- add sprout icon to NavIcon registry
- add garden e2e test spec
|
2026-06-01 19:28:34 -05:00 |
|
ginnoir
|
2fd0677c5f
|
feat: add garden module infrastructure (task 70)
- Add MinIO service to compose.yaml with named volume
- Add generic /api/uploads POST+GET route with auth, 5 MB, image/* guards
- Add src/lib/minio.ts singleton client with ensureBucket helper
- Add garden Drizzle schema: containers, plants, care_logs, care_schedules, species_cache
- Register garden module in src/modules/index.ts and src/lib/db.ts
- Apply migration 0015_garden_schema.sql
- Add MINIO_* and PERENUAL_API_KEY to .env.example
- Add task briefs 70-75 for the full garden feature arc
- Add uploads.spec.ts E2E test (RED → GREEN on route auth guard)
|
2026-06-01 19:23:19 -05:00 |
|
 ginnoirandClaude Sonnet 4.6
|
b4dde92757
|
Implement dashboard composition (task 20)
- Add default_dashboard_layout jsonb to users + migration 0007
- Create _core/manifest.tsx with core.activity placeholder widget
- Register core manifest alongside calendar/lists/notes
- Update all three module manifests with real async server-component
widget renders (upcoming events, month view, list items, notes)
- Add src/lib/dashboard.ts: computeDefaultLayout greedy packer +
parseDashboardLayout Zod validator
- Build src/app/page.tsx: 12-col CSS Grid, static smColSpan lookup,
per-widget Suspense for parallel loading, generic widget.render()
dispatch — no widgetId branches
- Add tests/e2e/dashboard.spec.ts; all 4 E2E specs pass
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-06 13:24:56 -05:00 |
|
ginnoir
|
5b434702ba
|
Add notes module
|
2026-05-06 04:10:50 -05:00 |
|
ginnoir
|
7e3ae6eb04
|
Implement lists module and dev login setup
|
2026-05-06 03:49:03 -05:00 |
|
ginnoir
|
744c1119a9
|
Implement calendar module
|
2026-05-06 03:10:28 -05:00 |
|