Commit Graph

9 Commits

Author SHA1 Message Date
Brian Fertig 088da63de2 feat: add "Ask AI" dialog for groups with voice input
Introduce GroupAiDialog component allowing users to chat with an AI assistant to generate or refine group notes.
Add useSpeechRecognition hook wrapping the Web Speech API for microphone support.
Implement converseAboutGroup server action to handle the AI conversation loop, supporting iterative questioning and final note generation.
Extract joinApiUrl helper in lib/ai-settings.ts for consistent endpoint URL construction.
2026-08-12 15:48:05 -06:00
Brian Fertig aa6a2e1cfd feat: add AI provider config and todo completion timestamps
- Add `AiSettingsCard` component and server actions for configuring an
  OpenAI-compatible AI endpoint (e.g. OpenWebUI) from the admin panel
- Introduce `AiSettings` Prisma model with masked API key display and
  connection testing UI
- Track `completedAt` on todos with a migration and backfill for existing
  completed items
- Surface `createdAt`, `updatedAt`, and `completedAt` in the todo edit
  dialog via a new `formatDateTime` utility
- Update `TodoDTO`, `getBoard`, `createTodo`, `toggleTodo`, and the board
  context to carry and optimistically update timestamp fields
- Add `Select` UI component built on `@base-ui/react`
2026-08-12 15:01:54 -06:00
Brian Fertig 4708e00a04 feat(board): introduce Projects as isolated boards
- Add Project model with owner-based access and cascade delete
- Restructure Category to belong to either Home (userId) or a Project (projectId), enforced by DB constraints and access filters
- Scope all board operations (create, update, delete, reorder) to the correct board context using `categoryAccessFilter` and `projectAccessFilter`
- Replace hardcoded `revalidatePath("/")` with dynamic `boardPath()` for proper cache invalidation
- Add `ProjectsProvider` and `ProjectsNavSection` for project sidebar navigation
- Make KanbanBoard accept `projectId` and `title` props to render Home or Project boards
- Extract `getBoard()` utility to centralize board data fetching
- Refactor group/todo/notes actions to derive board context from category membership rather than trusting caller input
2026-08-12 12:57:41 -06:00
Brian Fertig ce1d540444 Adjustment to Drag and Drop hitbox on Group Cards 2026-08-12 11:36:07 -06:00
Brian Fertig 37631df620 Completion Pie Charts 2026-08-12 11:24:43 -06:00
Brian Fertig 5a681bd444 Created different Authorization types 2026-08-12 11:02:40 -06:00
Brian Fertig 8639f9986c V1 Changes 2026-08-11 16:37:01 -06:00
Brian Fertig 0d7336858c Adjustments to Drag and Drop features, as well as theme features 2026-08-11 13:26:10 -06:00
Brian Fertig 9a1aad6ed0 first commit 2026-08-11 13:10:00 -06:00