Date: 2025-09-16
Status: Analysis Complete - 21 unused files identified
Comprehensive search through the codebase identified 21 components, hooks, and utility modules that are not being imported or used anywhere in the application. These files are safe candidates for removal to reduce codebase bloat.
src/components/social/FriendMessagePopup.tsx- Social popup dialog component for friends and messagessrc/components/notifications/notification-demo.tsx- Demo component for notifications (development/testing)
src/app/(checkers)/_components/game/TimeControlPanel.tsx- Game time control configuration panelsrc/app/(checkers)/_components/game/WaitingRoom.tsx- Game waiting room componentsrc/app/(checkers)/_components/game/OrientedBoard.tsx- Board component with orientation handlingsrc/app/(checkers)/_components/game/SpectatorIndicator.tsx- UI indicator for spectatorssrc/app/(checkers)/_components/game/InviteStatusIndicator.tsx- Game invite status indicatorsrc/app/(checkers)/_components/game/InviteStatusPanel.tsx- Panel showing invite status details
src/app/(checkers)/_components/game/MustCaptureArrow.tsx- Arrow indicator for mandatory capturessrc/app/(checkers)/_components/game/MustCaptureToast.tsx- Toast notification for mandatory capturessrc/app/(checkers)/_components/game/MustCaptureTooltip.tsx- Tooltip for mandatory capture rules
src/hooks/useOfflineSync.ts- Hook for offline synchronizationsrc/hooks/useGameStorage.ts- Hook for game data storage managementsrc/hooks/useTabTitleBadge.ts- Hook for updating browser tab title with badgessrc/hooks/useSingleTabEnforcement.ts- Hook for enforcing single tab usage
src/lib/conflict-resolution.ts- Conflict resolution utilities for multiplayersrc/lib/game/multiplayer-sync.ts- Multiplayer synchronization utilitiessrc/lib/game/guest-session.ts- Guest session management utilitiessrc/lib/game/checkers-notation.ts- Chess/checkers notation utilitiessrc/lib/game/move-evaluation.ts- Move evaluation and scoring utilities
src/lib/s3.ts- AWS S3 integration utilities
src/components/ui/resizable-panels.tsx- Shadcn/ui resizable panels componentsrc/components/ui/collapsible.tsx- Shadcn/ui collapsible component
These components appeared potentially unused but are actually imported:
- MessageCenter - Used by FriendMessagePopup
- ChatSettingsPopup - Used by FloatingChat components
- GameAnalysis - Used in multiple places
- All tRPC routers - All registered in the main router
- All type files - All have multiple imports
- Page/Layout components - Used by Next.js App Router automatically
- Next.js Page Components: All
page.tsx,layout.tsx, andloading.tsxfiles insrc/app/are automatically used by Next.js App Router - Test Files: All
*.test.tsxand*.test.tsfiles are intentionally separate and don't need imports - Development Components: Some components like
notification-demo.tsxare development/testing utilities
- Spectator Mode: SpectatorIndicator.tsx
- Offline Functionality: useOfflineSync.ts, conflict-resolution.ts
- Advanced Game Controls: TimeControlPanel.tsx, OrientedBoard.tsx
- Guest Sessions: guest-session.ts
- AWS Integration: s3.ts
- Mandatory Capture UI: MustCapture*.tsx components
- Multi-tab Management: useSingleTabEnforcement.ts, useTabTitleBadge.ts
- notification-demo.tsx
- FriendMessagePopup.tsx (orphaned social component)
- resizable-panels.tsx
- collapsible.tsx
These have no dependencies and can be removed immediately:
- FriendMessagePopup.tsx (completely orphaned)
- notification-demo.tsx (development component)
- resizable-panels.tsx and collapsible.tsx (unused UI components)
- s3.ts (unused AWS integration)
Consider the roadmap for these features before removing:
- Spectator mode components
- Offline sync functionality
- Advanced game controls
- Guest session support
- Mandatory capture UI enhancements
21 unused files identified across components, hooks, utilities, and UI library additions.
This analysis was generated by searching for import patterns and actual usage throughout the codebase. All identified files have no active imports or references in the application code.