Skip to content

[Frontend] Consolidate Duplicate Component Directory Structure #139

@KuchiMercy

Description

@KuchiMercy

Summary

The frontend has two parallel component directories: component/ and components/. This creates confusion about where new components should live and leads to inconsistent import paths.

Current State

  • component/ contains: dashboard (EscrowCard, EscrowList, Filters, StatusTabs), escrow creation (CreateEscrowWizard, ConditionsList, PartyAcceptanceModal), homepage (Hero, HowItWorks, KeyFeatures), layout (Navbar, Footer), wallet (ConnectWalletModal, WalletButton), and basic UI primitives (Input, Select, TextArea)
  • components/ contains: common (ActivityFeed, ActivityItem), escrow detail views and modals (ReleaseFundsModal, FileDisputeModal, FulfillConditionModal), stellar (TransactionTracker), and shadcn UI components (button, dialog, skeleton, select)
  • Some types are duplicated locally in components (e.g., EscrowCard.tsx line 2 has a temporary interface definition)

Acceptance Criteria

  • Merge all components into a single components/ directory following Next.js/shadcn conventions
  • Update all import paths across pages, hooks, and other components
  • Establish clear directory conventions: components/ui/ for shadcn primitives, components/escrow/ for escrow-related, components/dashboard/ for dashboard, components/layout/ for navbar/footer, components/wallet/ for wallet UI
  • Remove duplicate type definitions in favor of centralized types/ directory
  • Verify build passes with no broken imports

Rollout Order

Frontend Issue 1 of 10 - Foundational cleanup. Must be done first to establish a clean base for all subsequent frontend work.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions