laconic-deployer-frontend/standards/blueprints/file-migration-list.md

18 KiB

Component Migration List

This document outlines all components that need to be migrated from the original repo to the new monorepo, following our React Component Organization Conventions.

Original Repository Path

All original components are located at:

/Users/ianlylesblx/IDEA_CORE/laconic/repos/snowballtools-base/packages/frontend/src/components

Migration Guidelines

  1. Styling Approach:

    • Replace all CSS imports (e.g., 'react-dropdown/style.css') with Tailwind classes
    • Convert inline styles to Tailwind classes where possible
    • Use existing UI components from components/ui directory instead of external libraries
  2. Dependencies:

    • Do not add new libraries to the project
    • Replace external component libraries with our own UI components
    • If a component depends on an external library, check if we have an equivalent in our UI library
  3. Pattern Matching:

    • Follow existing patterns in our codebase for styling, state management, etc.
    • Use React hooks consistent with what's used in the rest of the application
  4. No Commits:

    • All changes should be reviewed before being committed

Feature-Based Organization

Components will be organized into the following feature groups:

1. Core Components

Generic Components

Component Current Path Migration Status Notes
Dropdown /components/Dropdown.tsx Completed Simple dropdown component
FormatMilliSecond /components/FormatMilliSecond.tsx Completed Utility component for time formatting
Logo /components/Logo.tsx Completed Brand element
SearchBar /components/SearchBar.tsx Completed Generic search component
Stepper /components/Stepper.tsx Completed Progress indicator
StopWatch /components/StopWatch.tsx Completed Time tracking component
VerticalStepper /components/VerticalStepper.tsx Completed Vertical orientation of stepper

2. Layout Feature

Navigation Components

Component Current Path Migration Status Notes
GitHubSessionButton /components/layout/navigation/components/GitHubSessionButton.tsx Completed GitHub session management
LaconicIcon /components/layout/navigation/components/LaconicIcon.tsx Completed Brand icon
NavigationActions /components/layout/navigation/components/NavigationActions.tsx Completed Navigation action buttons
WalletSessionId /components/layout/navigation/components/WalletSessionId.tsx Completed Implemented in both layout/navigation and foundation/wallet-session-id

Screen Header Components

Component Current Path Migration Status Notes
ActionButton /components/layout/screen-header/ActionButton.tsx Not Planned Header action button - Skipping per instructions
Header /components/layout/screen-header/Header.tsx Not Planned Page header component - Skipping per instructions

Screen Wrapper Components

Component Current Path Migration Status Notes
TabWrapper /components/layout/screen-wrapper/TabWrapper.tsx Not Planned Tab content wrapper - Skipping per instructions

Search Components

Component Current Path Migration Status Notes
ProjectSearchBar /components/layout/search/ProjectSearchBar/ProjectSearchBar.tsx Completed Implemented in /components/foundation/project-search-bar with simplified functionality
ProjectSearchBarDialog /components/layout/search/ProjectSearchBar/ProjectSearchBarDialog.tsx Not Planned Search dialog - Skipping per instructions
ProjectSearchBarEmpty /components/layout/search/ProjectSearchBar/ProjectSearchBarEmpty.tsx Not Planned Empty state - Skipping per instructions
ProjectSearchBarItem /components/layout/search/ProjectSearchBar/ProjectSearchBarItem.tsx Not Planned Search result item - Skipping per instructions

3. Project Management Feature

Project Card Components

Component Current Path Migration Status Notes
ProjectCard /components/projects/ProjectCard/ProjectCard.tsx Not Planned Project display card - Skipping per instructions
ProjectCardActions /components/projects/ProjectCard/ProjectCardActions.tsx Not Planned Card actions - Skipping per instructions
ProjectDeploymentInfo /components/projects/ProjectCard/ProjectDeploymentInfo.tsx Not Planned Deployment info display - Skipping per instructions
ProjectStatusDot /components/projects/ProjectCard/ProjectStatusDot.tsx Not Planned Status indicator - Skipping per instructions

Project Search Components

Component Current Path Migration Status Notes
ProjectSearchBar /components/projects/ProjectSearchBar/ProjectSearchBar.tsx Not Planned DUPLICATE - Skipping per instructions

Project Settings Components

Component Current Path Migration Status Notes
AddEnvironmentVariableRow /components/projects/project/settings/AddEnvironmentVariableRow.tsx Not Planned Environment variable form - Skipping per instructions
AddMemberDialog /components/projects/project/settings/AddMemberDialog.tsx Not Planned Add team member - Skipping per instructions
DeleteProjectDialog /components/projects/project/settings/DeleteProjectDialog.tsx Not Planned Project deletion confirmation - Skipping per instructions
DisplayEnvironmentVariables /components/projects/project/settings/DisplayEnvironmentVariables.tsx Not Planned Environment variable display - Skipping per instructions
DomainCard /components/projects/project/settings/DomainCard.tsx Not Planned Domain display - Skipping per instructions
EditDomainDialog /components/projects/project/settings/EditDomainDialog.tsx Not Planned Domain editing - Skipping per instructions
EditEnvironmentVariableRow /components/projects/project/settings/EditEnvironmentVariableRow.tsx Not Planned Edit environment variable - Skipping per instructions
GitSelectionSection /components/projects/project/settings/GitSelectionSection.tsx Not Planned Git repository selection - Skipping per instructions
MemberCard /components/projects/project/settings/MemberCard.tsx Not Planned Team member display - Skipping per instructions
ProjectSettingContainer /components/projects/project/settings/ProjectSettingContainer.tsx Not Planned Settings container - Skipping per instructions
ProjectSettingHeader /components/projects/project/settings/ProjectSettingHeader.tsx Not Planned Settings header - Skipping per instructions
RepoConnectedSection /components/projects/project/settings/RepoConnectedSection.tsx Not Planned Repository connection status - Skipping per instructions
SetupDomain /components/projects/project/settings/SetupDomain.tsx Not Planned Domain setup flow - Skipping per instructions
WebhookCard /components/projects/project/settings/WebhookCard.tsx Not Planned Webhook display - Skipping per instructions

Project Overview Components

Component Current Path Migration Status Notes
Activity /components/projects/project/overview/Activity/Activity.tsx Not Planned Activity feed - Skipping per instructions
ActivityCard /components/projects/project/overview/Activity/ActivityCard.tsx Not Planned Activity item - Skipping per instructions
AuctionCard /components/projects/project/overview/Activity/AuctionCard.tsx Completed Auction display - Used in Overview page
OverviewInfo /components/projects/project/overview/OverviewInfo.tsx Completed Overview information - Used in Overview page

Deployment Components

Component Current Path Migration Status Notes
DeploymentDetailsCard /components/projects/project/deployments/DeploymentDetailsCard.tsx Completed Deployment details - Used in Deployments page
DeploymentDialogBodyCard /components/projects/project/deployments/DeploymentDialogBodyCard.tsx Not Planned Deployment dialog - Skipping per instructions
DeploymentMenu /components/projects/project/deployments/DeploymentMenu.tsx Not Planned Deployment actions menu - Skipping per instructions
FilterForm /components/projects/project/deployments/FilterForm.tsx Completed Deployment filtering - Used in Deployments page

Dialog Components

Component Current Path Migration Status Notes
CancelDeploymentDialog /components/projects/Dialog/CancelDeploymentDialog.tsx Not Planned Cancel deployment - Skipping per instructions
ChangeStateToProductionDialog /components/projects/Dialog/ChangeStateToProductionDialog.tsx Not Planned Change deployment state - Skipping per instructions
DeleteDeploymentDialog /components/projects/Dialog/DeleteDeploymentDialog.tsx Not Planned Delete deployment - Skipping per instructions
DeleteDomainDialog /components/projects/Dialog/DeleteDomainDialog.tsx Not Planned Delete domain - Skipping per instructions
DeleteVariableDialog /components/projects/Dialog/DeleteVariableDialog.tsx Not Planned Delete variable - Skipping per instructions
DeleteWebhookDialog /components/projects/Dialog/DeleteWebhookDialog.tsx Not Planned Delete webhook - Skipping per instructions
DisconnectRepositoryDialog /components/projects/Dialog/DisconnectRepositoryDialog.tsx Not Planned Disconnect repository - Skipping per instructions
RemoveMemberDialog /components/projects/Dialog/RemoveMemberDialog.tsx Not Planned Remove team member - Skipping per instructions
TransferProjectDialog /components/projects/Dialog/TransferProjectDialog.tsx Not Planned Transfer project ownership - Skipping per instructions

Project Creation Components

Component Current Path Migration Status Notes
ApproveTransactionModal /components/projects/create/ApproveTransactionModal.tsx Not Planned Transaction approval - Skipping per instructions
CheckBalanceIframe /components/projects/create/CheckBalanceIframe.tsx Not Planned Balance check - Skipping per instructions
Configure /components/projects/create/Configure.tsx Not Planned Project configuration - Skipping per instructions
ConnectAccount /components/projects/create/ConnectAccount.tsx Not Planned Account connection - Skipping per instructions
ConnectAccountTabPanel /components/projects/create/ConnectAccountTabPanel.tsx Not Planned Connection tab panel - Skipping per instructions
Deploy /components/projects/create/Deploy.tsx Not Planned Project deployment - Skipping per instructions
DeployStep /components/projects/create/DeployStep.tsx Not Planned Deployment step - Skipping per instructions
MockConnectGitCard /components/projects/create/MockConnectGitCard.tsx Not Planned Git connection mockup - Skipping per instructions
ProjectRepoCard /components/projects/create/ProjectRepoCard/ProjectRepoCard.tsx Not Planned Repository card - Skipping per instructions
RepositoryList /components/projects/create/RepositoryList/RepositoryList.tsx Not Planned Repository selection - Skipping per instructions
TemplateCard /components/projects/create/TemplateCard/TemplateCard.tsx Not Planned Template selection card - Skipping per instructions

4. Loading Components

Component Current Path Migration Status Notes
LoadingOverlay /components/loading/loading-overlay.tsx Not Planned Loading state overlay - Skipping per instructions

5. IFrame Components

Component Current Path Migration Status Notes
AutoSignInIFrameModal /components/shared/auth/AutoSignInIFrameModal.tsx Completed Auto sign-in modal - Consolidated with duplicate
AutoSignInIFrameModal /components/wallet/AutoSignInIFrameModal.tsx Completed Duplicate component consolidated with version from shared/auth

6. Page Components (Used in Routes)

These components are used directly in routes and should be migrated as page components:

Organization/Project Pages

Component Current Path Migration Status Route Path
ProjectsScreen /pages/org-slug/ProjectsScreen.tsx Not Planned /:orgSlug - Skipping per instructions
Settings (Org) /pages/org-slug/Settings.tsx Not Planned /:orgSlug/settings - Skipping per instructions
Id (Project) /pages/org-slug/projects/Id.tsx Not Planned /:orgSlug/projects/:id - Skipping per instructions

Project Tab Pages

Component Current Path Migration Status Route Path
OverviewTabPanel /pages/org-slug/projects/id/Overview.tsx Completed /:orgSlug/projects/:id (index)
DeploymentsTabPanel /pages/org-slug/projects/id/Deployments.tsx Completed /:orgSlug/projects/:id/deployments
SettingsTabPanel /pages/org-slug/projects/id/Settings.tsx Not Started /:orgSlug/projects/:id/settings

Project Settings Pages

Component Current Path Route Path
GeneralTabPanel /pages/org-slug/projects/id/settings/General.tsx /:orgSlug/projects/:id/settings (index)
Domains /pages/org-slug/projects/id/settings/Domains.tsx /:orgSlug/projects/:id/settings/domains
GitTabPanel /pages/org-slug/projects/id/settings/Git.tsx /:orgSlug/projects/:id/settings/git
EnvironmentVariablesTabPanel /pages/org-slug/projects/id/settings/EnvironmentVariables.tsx /:orgSlug/projects/:id/settings/environment-variables
CollaboratorsTabPanel /pages/org-slug/projects/id/settings/Collaborators.tsx /:orgSlug/projects/:id/settings/collaborators
AddDomain /pages/org-slug/projects/id/settings/domains/add/index.tsx /:orgSlug/projects/:id/settings/domains/add
Config (Domain) /pages/org-slug/projects/id/settings/domains/add/Config.tsx /:orgSlug/projects/:id/settings/domains/add/config

Project Creation Pages

Component Current Path Route Path
CreateProjectLayout /pages/org-slug/projects/create/CreateProjectLayout.tsx /:orgSlug/projects/create
NewProject /pages/org-slug/projects/create/NewProject.tsx /:orgSlug/projects/create (index)
CreateWithTemplate /pages/org-slug/projects/create/Template.tsx /:orgSlug/projects/create/template
Configure (Projects) /components/projects/create/Configure.tsx /:orgSlug/projects/create/configure
Deploy (Projects) /components/projects/create/Deploy.tsx /:orgSlug/projects/create/deploy
Id (Success) /pages/org-slug/projects/create/success/Id.tsx /:orgSlug/projects/create/success/:id

Template Pages

Component Current Path Route Path
CreateRepo /pages/org-slug/projects/create/template/index.tsx /:orgSlug/projects/create/template (index)
Configure (Template) /pages/org-slug/projects/create/template/Configure.tsx /:orgSlug/projects/create/template/configure
Deploy (Template) /pages/org-slug/projects/create/template/Deploy.tsx /:orgSlug/projects/create/template/deploy

Auth and Onboarding Pages

Component Current Path Route Path
Index /pages/index.tsx /
AuthPage /pages/AuthPage.tsx /login
BuyPrepaidService /pages/BuyPrepaidService.tsx /buy-prepaid-service
OnboardingPage /pages/OnboardingPage.tsx /onboarding
OnboardingDemoPage /pages/OnboardingDemoPage.tsx /onboarding-demo

Layouts

Component Current Path Route Path
RootLayout /layouts/RootLayout.tsx Root layout for all routes
DashboardLayout /layouts/DashboardLayout.tsx Layout for /:orgSlug routes
ProjectSearchLayout /layouts/ProjectSearch.tsx Layout for project search functionality

Notes and Observations

  1. Duplicated Components:
    • ProjectSearchBar: Appears in both /components/layout/search/ProjectSearchBar/ and /components/projects/ProjectSearchBar/

Migration Progress Summary

Completed Migrations

  1. Core Components: 7/7 components (100% complete)
  2. Layout Feature - Navigation Components: 4/4 components (100% complete)
  3. Project Tab Pages: 2/3 components (67% complete)
    • Migrated: OverviewTabPanel, DeploymentsTabPanel
    • Pending: SettingsTabPanel
  4. Project Overview Components: 2/4 components (50% complete)
    • Migrated: AuctionCard, OverviewInfo
    • Not Planned: Activity, ActivityCard
  5. Deployment Components: 2/4 components (50% complete)
    • Migrated: DeploymentDetailsCard, FilterForm
    • Not Planned: DeploymentDialogBodyCard, DeploymentMenu
  6. IFrame Components: 2/2 components (100% complete)

Next Steps

  1. Migrate the SettingsTabPanel and related settings pages
  2. Migrate the Project Creation pages
  3. Migrate the Template pages

Migration Notes

  • The migrated components have been adapted to work with Next.js App Router
  • Many UI components and utilities were already available in the codebase
  • Type definitions have been updated to ensure type safety
  • Redundant files have been cleaned up