- Added new API response types (`ApiCheckbox`, `ApiDailyView`, `ApiHistoryItem`) for better type safety.
- Updated `getTodaysDailyView`, `getDailyView`, and `getHistory` methods to utilize new types and transform date strings into Date objects.
- Refactored `addCheckbox` and `updateCheckbox` methods to handle checkbox creation and updates with improved error handling.
- Optimized `DailyAddForm` for better UX by removing unnecessary loading states and implementing optimistic UI updates.
- Enhanced `useDaily` hook to support checkbox type management and rollback on errors during updates.
- Updated `DailyPageClient` to leverage new checkbox handling methods for adding tasks.
- Added `refreshDailySilent` method to `useDaily` for silent data refresh without loading state.
- Updated `useDaily` to accept an optional `initialDailyView` parameter, improving initial state management.
- Modified `DailyPageClient` to utilize `refreshDailySilent` for smoother user experience during checkbox updates.
- Implemented server-side data fetching in `DailyPage` for better initial load performance.
- Enhanced UI to indicate refreshing state in `DailySectionComponent`.
- Marked tasks as completed in TODO for Daily management service, data model, and interactive checkboxes.
- Added a new link to the Daily page in the Header component for easy navigation.
- Introduced DailyCheckbox model in Prisma schema and corresponding TypeScript interfaces for better data handling.
- Updated database schema to include daily checkboxes, enhancing task management capabilities.
- Changed `TagsResponse` and `UseTagsState` to include `usage` count in the tag data structure for better tracking.
- Simplified tag initialization in `useTags` to directly use `initialData`.
- Enhanced `TagsPageClient` to filter and sort tags based on usage, improving user experience in tag management.
- Removed unused variables and streamlined the search functionality for better performance.
- Added `cancelled` and `freeze` statuses to `TasksResponse`, `HomePageClientProps`, and `useTasks` for comprehensive task tracking.
- Updated task forms to dynamically load statuses using `getAllStatuses`, enhancing maintainability and reducing hardcoded values.
- Refactored Kanban components to utilize centralized status configuration, improving consistency across the application.
- Adjusted visibility toggle and swimlanes to reflect new status options, ensuring a seamless user experience.
- Added `initialTags` prop to `HomePageClient` for passing tag data.
- Updated `TasksProvider` to accept and utilize `initialTags`, enhancing tag management.
- Modified `useTags` hook to initialize state with provided tags and conditionally refresh tags based on initial data.
- Updated server-side data fetching in `HomePage` to include tags from the `tagsService`.
- Replaced local state management in `ObjectivesBoard` with `useObjectivesCollapse` hook for better state handling.
- Updated collapse button logic to use the new hook's toggle function, improving code clarity.
- Refactored `useColumnVisibility` to load user preferences on mount and persist visibility changes, enhancing user experience.
- Integrated user preferences for Kanban filters in `TasksContext`, allowing for persistent filter settings across sessions.
- Integrated `useColumnVisibility` hook for managing column visibility states.
- Added `ColumnVisibilityToggle` component to both `KanbanBoard` and `SwimlanesBoard` for user control over visible columns.
- Updated rendering logic to filter and display only visible columns, enhancing user experience and task organization.
- Added `loadPopularTags` function to fetch and display popular tags when the input is empty.
- Updated `TagInput` to show suggestions based on input focus and improved suggestion display with a grid layout.
- Adjusted styles for better visual clarity and user experience.
- Modified the getTasks call to include limit as undefined, ensuring all tasks are fetched without restriction.
- Adjusted the dev.db file, reflecting changes in the database schema or data.
- Updated TaskCard to conditionally render footer elements based on available data (due date, source, completion status).
- Enhanced TagList to visually indicate deleting tags and improved button styles for better UX.
- Modified useTasks hook to refresh tasks only if no initial data is present, optimizing loading behavior.
- Updated TagsPageClient to manage local tags and handle optimistic UI updates during tag deletion.
- Marked multiple tasks as completed in TODO.md related to tag management features.
- Replaced manual tag input with `TagInput` component in `CreateTaskForm`, `EditTaskForm`, and `QuickAddTask` for better UX.
- Updated `TaskCard` to display tags using `TagDisplay` with color support.
- Enhanced `TasksService` to manage task-tag relationships with CRUD operations.
- Integrated tag management into the global context for better accessibility across components.
- Removed initialTasks and initialStats props from KanbanBoardContainer, now using TasksContext for task management.
- Updated useTasks hook to include a simulated delay for sync indicator during task updates.
- Replaced KanbanBoardContainer with HomePageClient in the HomePage component for a cleaner structure.
- Added drag & drop capabilities to the Kanban board with @dnd-kit for task status updates.
- Integrated DndContext in `KanbanBoard` and utilized `useDroppable` in `KanbanColumn` for drop zones.
- Enhanced `TaskCard` with draggable features and visual feedback during dragging.
- Updated `TODO.md` to reflect the completion of drag & drop tasks and optimistically update task statuses.
- Introduced optimistic updates in `useTasks` for smoother user experience during drag & drop operations.
- Completed the creation and validation forms for tasks in the Kanban board, improving task management capabilities.
- Integrated new task creation and deletion functionalities in the `KanbanBoard` and `KanbanColumn` components.
- Added quick task addition feature in `Column` component for better user experience.
- Updated `TaskCard` to support task deletion with a new button.
- Marked several tasks as completed in `TODO.md` to reflect the progress on Kanban features.
- Updated TypeScript types to include 'manual' as a new task source.