-
Notifications
You must be signed in to change notification settings - Fork 26
update UI, features, adding workspaces #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… dark mode opacity
… light mode styles while maintaining dark mode, update overdue pattern, improve contrast and interactions
…er - Add better padding and styling to toast notifications - Add click-outside handler to workspace switcher dropdown - Update new workspace dialog styling to match design system
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Caution Review failedThe pull request is closed. WalkthroughThis update introduces comprehensive workspace support to the todo application, spanning database schema, backend API, and frontend UI. New database tables for workspaces and workspace members are added, and todos are now associated with workspaces. The backend implements robust API routes for workspace CRUD operations, with authentication and validation. The frontend is refactored to use a server-side page component that loads initial data, and a new client component manages todos and workspaces with persistent state and optimistic updates. New UI components include workspace switcher, new workspace dialog, reschedule dialog, view toggle, and a command palette. Styling and accessibility are enhanced throughout, and toast notifications are integrated. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant HomeClient
participant API
participant DB
User->>HomeClient: Open app / interact with UI
HomeClient->>API: Fetch todos & workspaces (GET)
API->>DB: Query todos, workspaces, comments
DB-->>API: Return data
API-->>HomeClient: Return todos & workspaces
User->>HomeClient: Create workspace
HomeClient->>API: POST /workspaces
API->>DB: Insert workspace, add member (transaction)
DB-->>API: Workspace created
API-->>HomeClient: Return new workspace
User->>HomeClient: Add todo (with workspace)
HomeClient->>API: POST /todos
API->>DB: Insert todo with workspaceId
DB-->>API: Todo created
API-->>HomeClient: Return new todo
User->>HomeClient: Switch workspace
HomeClient->>API: GET /todos?workspaceId=...
API->>DB: Query todos for workspace
DB-->>API: Return workspace todos
API-->>HomeClient: Return filtered todos
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (32)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Database and Schema Updates:
workspaces
andworkspace_members
tables, and updated thetodos
table to include aworkspace_id
column. This enables todos to be associated with specific workspaces. (WORKSPACE-IMPLEMENTATION.md
, WORKSPACE-IMPLEMENTATION.mdR1-R355)lib/db/schema.ts
to reflect the new database structure. (WORKSPACE-IMPLEMENTATION.md
, WORKSPACE-IMPLEMENTATION.mdR1-R355)API Enhancements:
app/api/workspaces/route.ts
) for creating and retrieving workspaces. (WORKSPACE-IMPLEMENTATION.md
, WORKSPACE-IMPLEMENTATION.mdR1-R355)app/api/todos/route.ts
) to support workspace filtering, validation usingzod
, and default personal workspace creation when none is specified. ([[1]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-12b29dcd0801327af6fde149f8d27fdec055e02d2c6e84fb5baaf3db2befc89bL4-R99)
,[[2]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-12b29dcd0801327af6fde149f8d27fdec055e02d2c6e84fb5baaf3db2befc89bR109-R158)
,[[3]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-12b29dcd0801327af6fde149f8d27fdec055e02d2c6e84fb5baaf3db2befc89bR195-R224)
)app/api/todos/comments/route.ts
) usingzod
schemas for better error handling and data integrity. ([[1]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-83dd3c253831cd757527e4686d8a08e3cc747b1d707ea33ff08c7889676dc005R7-R39)
,[[2]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-83dd3c253831cd757527e4686d8a08e3cc747b1d707ea33ff08c7889676dc005R63-R88)
,[[3]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-83dd3c253831cd757527e4686d8a08e3cc747b1d707ea33ff08c7889676dc005R99-R102)
)UI Components:
WorkspaceSwitcher
component (components/workspace-switcher.tsx
) to allow users to switch between workspaces or create a new one. (WORKSPACE-IMPLEMENTATION.md
, WORKSPACE-IMPLEMENTATION.mdR1-R355)NewWorkspaceDialog
component (components/new-workspace-dialog.tsx
) for creating new workspaces with a user-friendly modal interface. (WORKSPACE-IMPLEMENTATION.md
, WORKSPACE-IMPLEMENTATION.mdR1-R355)app/page.tsx
) to include workspace management features, such as switching and creating workspaces. (WORKSPACE-IMPLEMENTATION.md
, WORKSPACE-IMPLEMENTATION.mdR1-R355)Additional Improvements:
convert-date
API route to restrict access to authenticated users. (app/api/convert-date/route.ts
, [1] [2][[1]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-83dd3c253831cd757527e4686d8a08e3cc747b1d707ea33ff08c7889676dc005R63-R88)
,[[2]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-83dd3c253831cd757527e4686d8a08e3cc747b1d707ea33ff08c7889676dc005R99-R102)
,[[3]](https://github.com/R44VC0RP/agenda.dev/pull/4/files#diff-12b29dcd0801327af6fde149f8d27fdec055e02d2c6e84fb5baaf3db2befc89bR233-R267)
)These changes collectively enhance the application's functionality, usability, and robustness while maintaining its minimal and aesthetic design.
Summary by CodeRabbit
New Features
Bug Fixes
Style
Chores
Documentation