This document records likely unused or legacy code discovered during the architectural cleanup of CMS Nova.
For the research context, these files matter because they represent architectural drift: code that remains in the repository after the active system has already moved on. In AI-assisted workflows, this kind of drift is especially common because new implementations are often added without fully removing superseded ones.
These files appear to have no active imports or meaningful runtime role.
src/components/admin/tourism/TourismPlansManager.tsx- deleted after confirming it was empty and unreferenced.src/hooks/use-transportation.ts- deleted after confirming no usage.src/hooks/use-form-persistence.ts- deleted after confirming no usage.src/hooks/useUsersTable.ts- deleted after confirming no usage.src/components/admin/shared/HeroSection.tsx- deleted after confirming no usage.src/components/admin/shared/FormContainer.tsx- deleted after confirming no usage.src/components/admin/shared/ContentHeader.tsx- deleted after confirming no usage.src/app/admin/dashboard/content-types/ContentTypesClient.tsx- deleted as abandoned route helper.src/app/admin/dashboard/content-types/ContentTypesServer.tsx- deleted as an unreferenced duplicate of current route behavior.
These files are currently low-value in the active app, but may still be useful as compatibility bridges or as a temporary migration layer.
At this point, the main bridge files in this category have already been removed after import migration completed.
The following bridge files were removed after import migration completed:
src/lib/auth-client.tssrc/lib/auth-utils.tssrc/lib/security/html.tssrc/lib/slug-config.tssrc/lib/plugins/public-typepaths.tssrc/components/templates/index.tsx
Additional cleanup completed in the latest pass:
src/app/api/admin/system/debug-fields/route.tssrc/app/api/admin/system/inspect-fields/route.tssrc/app/api/admin/system/fix-selects/route.tssrc/app/api/admin/system/fix-seo/route.tssrc/app/api/admin/system/repopulate-options/route.tssrc/app/api/templates/tourism/[id]/route.tssrc/verticals/tourism/server/api/template-by-id.tssrc/components/admin/media/MediaPickerModal.tsxsrc/components/public/HomeTopNav.tsxsrc/components/admin/content-types/fields/SimpleRichEditor.tsxsrc/components/templates/TemplatesManager/usePlans.tssrc/hooks/index.tssrc/app/api/users/is-first-admin/route.tssrc/components/admin/dashboard/ContentTypesPage/ContentEntriesPage.tsxsrc/components/admin/dashboard/ContentTypesPage/CreateContentEntry.tsxsrc/components/admin/dashboard/ContentTypesPage/EditContentEntry.tsxsrc/components/admin/dashboard/ContentTypesPage/hooks/useContentEntries.tssrc/components/admin/dashboard/ContentTypesPage/hooks/useCreateContentEntry.tssrc/components/admin/dashboard/ContentTypesPage/hooks/useEditContentEntry.tssrc/app/api/admin/create-user/route.tssrc/components/admin/dashboard/TemplatesPage/TemplateDetailModal.tsxsrc/lib/plugins/config.tssrc/lib/plugins/utils.tssrc/lib/plugins/index.tssrc/lib/plugins/service.tssrc/lib/auth.tssrc/lib/server-session.tssrc/utils/logger.tstest-editor.htmlanalyze_out.jsonstrict_analyze_out.jsonlint_report.jsonscript_output.txtts_errors.txttsconfig.tsbuildinfosrc/components/admin/media/MediaCard.tsxsrc/components/ui/PageLayout.tsxsrc/components/ui/index.tssrc/components/admin/dashboard/ViewContentPage/index.tsxsrc/components/admin/dashboard/PluginsPage/TemplatesSelector.tsxsrc/app/api/templates/tourism/route.tssrc/verticals/tourism/server/api/templates.tssrc/app/actions/content-type-actions.tssrc/app/actions/experience-actions.tssrc/app/actions/plan-actions.tssrc/app/actions/slug-data.tssrc/hooks/useDebounce.tssrc/lib/projects.tssrc/types/blog.tssrc/components/admin/content-types/ContentTypesManager/index.tsxsrc/components/admin/content-types/ContentTypesManager/ContentTypesManager.tsxsrc/components/admin/content-types/ContentTypesManager/hooks/useContentTypes.tssrc/components/admin/content-types/ContentTypesManager/components/ContentTypeEditor.tsxsrc/components/admin/dashboard/index.tsx
These files likely represent older implementations, alternate paths, or duplicated UI layers.
src/app/admin/dashboard/plans/page.tsx- deleted as a legacy duplicate ofsrc/app/admin/dashboard/templates/tourism/page.tsx.src/app/admin/dashboard/plans/create/page.tsx- deleted as a legacy duplicate ofsrc/app/admin/dashboard/templates/tourism/create/page.tsx.src/app/admin/dashboard/plans/templates/page.tsx- deleted as an old template stub route.src/components/admin/plans/TemplatesPageContent.tsx- deleted with the legacy plans template route.src/components/admin/dashboard/TemplatesManager/TouristPlansView.tsx- deleted as an older duplicate ofsrc/components/templates/TemplatesManager/TouristPlansView.tsx.src/components/admin/dashboard/TemplatesPage/EditTourismTemplate.tsx- deleted as an older edit flow superseded bysrc/components/templates/TouristPlan/EditPlanForm.tsx.src/components/admin/dashboard/ContentTypesPage/CreateContentEntry.tsx- deleted as an old content-entry flow after the newersrc/components/admin/content-types/path became canonical.src/components/admin/dashboard/ContentTypesPage/EditContentEntry.tsx- deleted as an old content-entry flow after the newersrc/components/admin/content-types/path became canonical.src/components/admin/dashboard/ContentTypesPage/ContentEntriesPage.tsx- deleted as an old content-entry listing flow after the newersrc/components/admin/content-types/path became canonical.src/components/admin/media/MediaGrid.tsxandsrc/components/admin/media/MediaGrid/index.tsx- duplicate implementations; the root file was deleted and the localized directory version is now canonical.src/components/admin/media/MediaList.tsxandsrc/components/admin/media/MediaList/index.tsx- duplicate implementations; the root file was deleted and the localized directory version is now canonical.src/components/admin/media/MediaToolbar.tsxandsrc/components/admin/media/MediaToolbar/index.tsx- duplicate implementations; the root file was deleted and the localized directory version is now canonical.src/hooks/use-users.tsandsrc/components/admin/dashboard/UsersPage/useUsers.ts- overlapping user-management hooks.
This audit supports the broader thesis of the project:
- AI-assisted iteration can increase speed,
- but it also tends to leave behind legacy branches, duplicate flows, and compatibility residue,
- which weakens architectural clarity even when the app still works.
Dead-code analysis is therefore not only maintenance work. It is evidence of structural drift under iterative generation.
- Delete clearly empty or unreferenced files.
- Review duplicated admin/template/media flows and choose a single canonical path.
- Keep compatibility re-exports until module migration is substantially complete.
- Only then remove legacy bridge files from
src/lib/.