Skip to content

feat: move sdk projects#1421

Merged
rohanchkrabrty merged 7 commits intomainfrom
move-sdk-projects
Mar 2, 2026
Merged

feat: move sdk projects#1421
rohanchkrabrty merged 7 commits intomainfrom
move-sdk-projects

Conversation

@rohanchkrabrty
Copy link
Contributor

Summary

Migrate SDK project pages (list + detail) from router-coupled components to standalone view components, following the established pattern from general, members, and teams migrations.

Changes

  • Move project list and detail pages to react/views/projects/ with list/ and details/ subdirectories
  • Convert all route-based modals (add, delete, remove member) to state-based dialogs with open/onOpenChange props
  • Replace useParams and useNavigate in view components with explicit props (projectId, onProjectClick, onBack)
  • Replace column useNavigate calls with callback props (onProjectClick, onDeleteProjectClick)
  • Add DeleteProjectDialog to the projects list page so delete action works from the dropdown menu
  • Create thin wrappers in components/organization/project/ that bridge router params to view props
  • Remove modal sub-routes (/projects/modal, /projects/$projectId/delete, /projects/$projectId/$membertype/$memberId/remove) from routes.tsx
  • Clean up unused memberType threading from remove-member callback chain

Technical Details

  • Views have zero @tanstack/react-router imports — all routing is isolated in thin wrappers
  • Dialogs that need entity data use compound state objects (e.g. { open, projectId }) following the members/teams pattern
  • Shared styles are referenced via relative imports back to components/organization/styles.module.css
  • Barrel exports from views/projects/index.ts expose all page and dialog components with their prop types

@vercel
Copy link

vercel bot commented Feb 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
frontier Ready Ready Preview, Comment Mar 2, 2026 5:01am

@coderabbitai
Copy link

coderabbitai bot commented Feb 25, 2026

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

📥 Commits

Reviewing files that changed from the base of the PR and between ab35fb8 and f6548b8.

📒 Files selected for processing (27)
  • web/sdk/react/components/organization/project/add.tsx
  • web/sdk/react/components/organization/project/delete.tsx
  • web/sdk/react/components/organization/project/general/index.tsx
  • web/sdk/react/components/organization/project/index.tsx
  • web/sdk/react/components/organization/project/members/index.tsx
  • web/sdk/react/components/organization/project/members/member.columns.tsx
  • web/sdk/react/components/organization/project/members/members.module.css
  • web/sdk/react/components/organization/project/members/remove.tsx
  • web/sdk/react/components/organization/project/project.module.css
  • web/sdk/react/components/organization/project/project.tsx
  • web/sdk/react/components/organization/project/projects.columns.tsx
  • web/sdk/react/components/organization/routes.tsx
  • web/sdk/react/views/projects/details/delete-project-dialog.tsx
  • web/sdk/react/views/projects/details/index.ts
  • web/sdk/react/views/projects/details/project-detail-page.tsx
  • web/sdk/react/views/projects/details/project-detail.module.css
  • web/sdk/react/views/projects/details/project-general.tsx
  • web/sdk/react/views/projects/details/project-member-columns.tsx
  • web/sdk/react/views/projects/details/project-members.module.css
  • web/sdk/react/views/projects/details/project-members.tsx
  • web/sdk/react/views/projects/details/remove-project-member-dialog.tsx
  • web/sdk/react/views/projects/index.ts
  • web/sdk/react/views/projects/list/add-project-dialog.tsx
  • web/sdk/react/views/projects/list/index.ts
  • web/sdk/react/views/projects/list/projects-columns.tsx
  • web/sdk/react/views/projects/list/projects-list-page.tsx
  • web/sdk/react/views/projects/list/projects.module.css

✏️ Tip: You can disable in-progress messages and the fortune message in your review settings.

Tip

CodeRabbit can enforce grammar and style rules using `languagetool`.

Configure the reviews.tools.languagetool setting to enable/disable rules and categories. Refer to the LanguageTool Community to learn more.

📝 Walkthrough

Walkthrough

This PR refactors organization, members, projects, and teams management by consolidating route-based nested components into view-layer page components. It removes scattered route handlers and delegates UI logic to new page abstractions, replacing route-based navigation with callback-driven control and converting several modals to controlled components.

Changes

Cohort / File(s) Summary
Organization General
web/sdk/react/components/organization/general/index.tsx, web/sdk/react/views/general/*
Simplified component delegation to new GeneralPage; converted DeleteOrganization to controlled DeleteOrganizationDialog; exposed GeneralOrganizationProps interface and established barrel exports.
Organization Members
web/sdk/react/components/organization/members/index.tsx, web/sdk/react/views/members/*
Delegated to MembersPage; converted InviteMember and RemoveMember to controlled dialogs; added onRemoveMember callback to member columns; established index re-exports.
Organization Projects - Deletion
web/sdk/react/components/organization/project/add.tsx, web/sdk/react/components/organization/project/delete.tsx, web/sdk/react/components/organization/project/general/index.tsx, web/sdk/react/components/organization/project/members/*, web/sdk/react/components/organization/project/projects.columns.tsx
Removed 6 route-based component files including nested members management, column definitions, and form/modal logic (~1,000+ lines deleted).
Organization Projects - Simplification
web/sdk/react/components/organization/project/index.tsx, web/sdk/react/components/organization/project/project.tsx, web/sdk/react/components/organization/project/project.module.css
Simplified wrapper components to delegate to ProjectDetailPage and ProjectsListPage; removed complex data fetching, table UI, and related CSS (~200+ lines removed).
Organization Projects - New Views
web/sdk/react/views/projects/list/*, web/sdk/react/views/projects/details/*, web/sdk/react/views/projects/index.ts
Added complete new project management system with ProjectsListPage, ProjectDetailPage, AddProjectDialog, DeleteProjectDialog, project member management, and column definitions (~1,400+ lines added).
Organization Teams - Deletion
web/sdk/react/components/organization/teams/add.tsx, web/sdk/react/components/organization/teams/delete.tsx, web/sdk/react/components/organization/teams/general/index.tsx, web/sdk/react/components/organization/teams/members/*, web/sdk/react/components/organization/teams/teams.columns.tsx
Removed 6 route-based team component files including nested members, column definitions, and form logic (~750+ lines deleted).
Organization Teams - Simplification
web/sdk/react/components/organization/teams/index.tsx, web/sdk/react/components/organization/teams/team.tsx
Simplified wrapper components to delegate to TeamsListPage and TeamDetailPage; removed data fetching and UI composition (~200+ lines removed).
Organization Teams - New Views
web/sdk/react/views/teams/list/*, web/sdk/react/views/teams/details/*, web/sdk/react/views/teams/index.ts
Added complete new team management system with TeamsListPage, TeamDetailPage, AddTeamDialog, DeleteTeamDialog, invite and member management flows, and column definitions (~1,400+ lines added).
Shared Utilities
web/sdk/react/components/organization/shared/types.ts
Added BasePageProps interface and OnNavigate callback type for prop-driven navigation patterns.
Route Configuration
web/sdk/react/components/organization/routes.tsx
Removed nested route definitions for modals (DeleteOrganization, AddTeam, DeleteTeam, AddProject, etc.); added dynamic customScreens routing support; consolidated route structure.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~110 minutes

Possibly related PRs

  • Removed route-based modal/nested components in favor of controlled, callback-driven dialogs similar to PR #1410's navigation refactoring pattern.
  • Introduced external navigation callbacks (OnNavigate) and prop-driven control replacing direct useNavigate/useParams, consistent with PR #1403's callback-injection approach.
  • Converted Outlet-dependent route flows to controlled component patterns across teams and projects, aligning with PR #1407's modal restructuring approach.

Suggested reviewers

  • rsbh
  • paanSinghCoder

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rohanchkrabrty rohanchkrabrty changed the base branch from main to move-sdk-teams February 25, 2026 21:41
@rohanchkrabrty rohanchkrabrty changed the title Move sdk projects feat: move sdk projects Feb 25, 2026
@rohanchkrabrty rohanchkrabrty added the Do not merge Label to indicate that the PR is not ready to be merged even though might be (or not) approvals. label Feb 26, 2026
Base automatically changed from move-sdk-teams to main February 27, 2026 18:03
@rohanchkrabrty rohanchkrabrty enabled auto-merge (squash) March 2, 2026 04:59
@rohanchkrabrty rohanchkrabrty merged commit a2e6707 into main Mar 2, 2026
7 of 8 checks passed
@rohanchkrabrty rohanchkrabrty deleted the move-sdk-projects branch March 2, 2026 05:04
@coveralls
Copy link

Pull Request Test Coverage Report for Build 22562107314

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 39.848%

Totals Coverage Status
Change from base Build 22561735896: 0.0%
Covered Lines: 13595
Relevant Lines: 34117

💛 - Coveralls

@rohanchkrabrty rohanchkrabrty removed the Do not merge Label to indicate that the PR is not ready to be merged even though might be (or not) approvals. label Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants