Skip to content

feat: move sdk projects#1421

Open
rohanchkrabrty wants to merge 1 commit intomove-sdk-teamsfrom
move-sdk-projects
Open

feat: move sdk projects#1421
rohanchkrabrty wants to merge 1 commit intomove-sdk-teamsfrom
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 Building Building Preview, Comment Feb 25, 2026 9:41pm

@coderabbitai
Copy link

coderabbitai bot commented Feb 25, 2026

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Introduced dialog-based UI for managing projects, teams, and members with cleaner, more consistent interaction patterns.
    • Enhanced organization settings with improved layout and controls.
    • Added searchable, filterable tables for teams and members with better permission-based actions.
  • Improvements

    • Refined permission-based UI controls with clearer visual feedback via tooltips.
    • Improved error handling and user notifications across operations.
    • Streamlined modal workflows for creating and deleting resources.

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
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.

1 participant