From 6209b6fd5b314378a61d9843dee22c7e7109e8f4 Mon Sep 17 00:00:00 2001 From: Ahnaf An Nafee Date: Sun, 26 Apr 2026 17:17:17 -0400 Subject: [PATCH] chore(components): rename legacy-ui/ to site/ and drop @/UI alias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The folder previously called legacy-ui/ wasn't legacy — it holds active bespoke composition components (Header, Footer, Nav, AppLayoutPage, Hero, Searchbar, BackToTop, EmptyResult, MobileNav, ThemeMenu, link wrappers, image wrappers) that compose shadcn primitives plus project-specific state. The legacy- prefix was a transitional concession during the shadcn migration to dodge the Windows case-collision with ui/. Rename to site/ now that the migration is settled. Mechanical changes: - git mv src/components/legacy-ui → src/components/site - sed sweep: @/UI/ → @/components/site/, @/components/legacy-ui/ → @/components/site/ (~38 files) - tsconfig.json: drop @/UI and @/UI/* path aliases (no longer needed) - .prettierrc.js: drop the @/UI group from importOrder - CLAUDE.md: update Path Aliases + Component Layout sections to describe ui/ + site/ instead of legacy-ui/ Verified locally: yarn type-check, yarn lint, yarn test (48/48), yarn build (50 routes) — all clean. --- .prettierrc.js | 2 -- CLAUDE.md | 7 +++---- src/app/blog/[slug]/page.tsx | 3 +-- src/app/blog/page.tsx | 2 +- src/app/blog/topics/[topic]/page.tsx | 4 ++-- src/app/blog/topics/page.tsx | 7 +++---- src/app/layout.tsx | 2 +- src/app/not-found.tsx | 6 +++--- src/app/page.tsx | 2 +- src/app/portfolio/[slug]/page.tsx | 7 +++---- src/app/portfolio/page.tsx | 2 +- src/app/research/[slug]/page.tsx | 5 ++--- src/app/research/page.tsx | 2 +- src/components/blog/BlogPageClient.tsx | 7 +++---- src/components/content/PRButton.tsx | 2 +- src/components/content/blog/AdjacentPosts.tsx | 2 +- src/components/content/blog/AuthorSection.tsx | 4 ++-- src/components/content/blog/BlogItem.tsx | 2 +- src/components/content/blog/HeadingContent.tsx | 4 ++-- src/components/content/blog/RelatedPosts.tsx | 2 +- src/components/content/mdx/ContentImage.tsx | 2 +- src/components/content/mdx/Headings.tsx | 2 +- src/components/content/mdx/MDXLink.tsx | 2 +- src/components/content/portfolio/HeadingPortfolio.tsx | 2 +- src/components/content/portfolio/PortfolioItem.tsx | 5 ++--- src/components/content/portfolio/PortfolioList.tsx | 2 +- src/components/content/research/HeadingResearch.tsx | 2 +- src/components/content/research/ResearchItem.tsx | 2 +- src/components/content/research/ResearchNews.tsx | 2 +- src/components/content/research/ResearchTeaser.tsx | 2 +- src/components/content/snippet/SnippetItem.tsx | 2 +- src/components/portfolio/PortfolioPageClient.tsx | 7 +++---- src/components/resume/ResumePageClient.tsx | 3 +-- src/components/{legacy-ui => site}/buttons/BackToTop.tsx | 0 src/components/{legacy-ui => site}/buttons/index.ts | 0 src/components/{legacy-ui => site}/common/EmptyResult.tsx | 3 +-- src/components/{legacy-ui => site}/common/Footer.tsx | 4 ++-- .../{legacy-ui => site}/common/FooterSocialHome.tsx | 2 +- .../{legacy-ui => site}/common/Header/Header.tsx | 0 .../{legacy-ui => site}/common/Header/MobileNav.tsx | 0 .../{legacy-ui => site}/common/Header/ThemeMenu.tsx | 0 src/components/{legacy-ui => site}/common/Header/index.ts | 0 src/components/{legacy-ui => site}/common/Nav.tsx | 2 +- src/components/{legacy-ui => site}/common/SocialHome.tsx | 2 +- src/components/{legacy-ui => site}/common/index.ts | 0 src/components/{legacy-ui => site}/images/CustomImage.tsx | 0 src/components/{legacy-ui => site}/images/WrappedImage.tsx | 0 src/components/{legacy-ui => site}/images/index.ts | 0 src/components/{legacy-ui => site}/inputs/Searchbar.tsx | 0 src/components/{legacy-ui => site}/inputs/index.ts | 0 src/components/{legacy-ui => site}/links/UnderlineLink.tsx | 0 src/components/{legacy-ui => site}/links/UnstyledLink.tsx | 0 src/components/{legacy-ui => site}/links/index.tsx | 0 .../{legacy-ui => site}/templates/AppLayoutPage.tsx | 2 +- src/components/{legacy-ui => site}/templates/Hero.tsx | 0 src/components/{legacy-ui => site}/templates/index.ts | 0 src/components/snippet/SnippetPageClient.tsx | 7 +++---- tsconfig.json | 4 +--- 58 files changed, 60 insertions(+), 75 deletions(-) rename src/components/{legacy-ui => site}/buttons/BackToTop.tsx (100%) rename src/components/{legacy-ui => site}/buttons/index.ts (100%) rename src/components/{legacy-ui => site}/common/EmptyResult.tsx (93%) rename src/components/{legacy-ui => site}/common/Footer.tsx (91%) rename src/components/{legacy-ui => site}/common/FooterSocialHome.tsx (95%) rename src/components/{legacy-ui => site}/common/Header/Header.tsx (100%) rename src/components/{legacy-ui => site}/common/Header/MobileNav.tsx (100%) rename src/components/{legacy-ui => site}/common/Header/ThemeMenu.tsx (100%) rename src/components/{legacy-ui => site}/common/Header/index.ts (100%) rename src/components/{legacy-ui => site}/common/Nav.tsx (95%) rename src/components/{legacy-ui => site}/common/SocialHome.tsx (96%) rename src/components/{legacy-ui => site}/common/index.ts (100%) rename src/components/{legacy-ui => site}/images/CustomImage.tsx (100%) rename src/components/{legacy-ui => site}/images/WrappedImage.tsx (100%) rename src/components/{legacy-ui => site}/images/index.ts (100%) rename src/components/{legacy-ui => site}/inputs/Searchbar.tsx (100%) rename src/components/{legacy-ui => site}/inputs/index.ts (100%) rename src/components/{legacy-ui => site}/links/UnderlineLink.tsx (100%) rename src/components/{legacy-ui => site}/links/UnstyledLink.tsx (100%) rename src/components/{legacy-ui => site}/links/index.tsx (100%) rename src/components/{legacy-ui => site}/templates/AppLayoutPage.tsx (87%) rename src/components/{legacy-ui => site}/templates/Hero.tsx (100%) rename src/components/{legacy-ui => site}/templates/index.ts (100%) diff --git a/.prettierrc.js b/.prettierrc.js index a1ea7eb..a0ff2aa 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -12,8 +12,6 @@ const config = { importOrder: [ '^@/components(.*)$', '', - '^@/UI(.*)$', - '', '^@/services(.*)$', '', '^@/libs(.*)$', diff --git a/CLAUDE.md b/CLAUDE.md index c74b2c3..bbcaf7d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -62,18 +62,17 @@ All blog, portfolio, and research entries are MDX files on disk — there's no C `tsconfig.json` baseUrl is `./src`. Use: - `@/*` → `src/*` -- `@/UI` and `@/UI/*` → `src/components/legacy-ui` and `src/components/legacy-ui/*` (transitional alias for the bespoke site components — see "Component Layout" below) -Imports are auto-sorted by `@ianvs/prettier-plugin-sort-imports` (order defined in `.prettierrc.js`): `@/components` → `@/UI` → `@/services` → `@/libs` → `@/...` → relative → third-party → `@/styles/*`. Empty strings in `importOrder` produce blank-line separators between groups. Don't reshuffle by hand; let Prettier do it. +Imports are auto-sorted by `@ianvs/prettier-plugin-sort-imports` (order defined in `.prettierrc.js`): `@/components` → `@/services` → `@/libs` → `@/...` → relative → third-party → `@/styles/*`. Empty strings in `importOrder` produce blank-line separators between groups. Don't reshuffle by hand; let Prettier do it. ## Component Layout Two roots under `src/components/`: - **`ui/`** — shadcn/ui primitives. Every file here is generated by `npx shadcn@latest add ` and follows shadcn's data-slot, variant, and class conventions. Don't edit by hand unless intentionally extending; instead use `npx shadcn@latest add --diff` to merge upstream changes. Built on `radix-ui` (configured in `components.json` as `style: radix-nova`); `radix-ui` is **not** a competing UI system — it's shadcn's primitive layer. -- **`legacy-ui/`** — bespoke composition components specific to this site (Header, Footer, Nav, AppLayoutPage, Hero, Searchbar, BackToTop, EmptyResult, MobileNav, ThemeMenu, links, image wrappers). They compose `ui/` primitives + project state. The folder is named "legacy-ui" because it predates shadcn; the contents now use shadcn primitives internally and the rename is a future-PR concern. +- **`site/`** — bespoke composition components specific to this site (Header, Footer, Nav, AppLayoutPage, Hero, Searchbar, BackToTop, EmptyResult, MobileNav, ThemeMenu, links, image wrappers). They compose `ui/` primitives + project state. -When you need a new primitive, **search shadcn first** (`npx shadcn@latest search`). Only fall back to a bespoke component in `legacy-ui/` (or a feature folder) if no primitive fits. +When you need a new primitive, **search shadcn first** (`npx shadcn@latest search`). Only fall back to a bespoke component in `site/` (or a feature folder) if no primitive fits. ## Theme System diff --git a/src/app/blog/[slug]/page.tsx b/src/app/blog/[slug]/page.tsx index acb963c..383dab7 100644 --- a/src/app/blog/[slug]/page.tsx +++ b/src/app/blog/[slug]/page.tsx @@ -2,8 +2,7 @@ import { BlogPostClient } from '@/components/blog/BlogPostClient' import { AdjacentPosts } from '@/components/content/blog/AdjacentPosts' import { RelatedPosts } from '@/components/content/blog/RelatedPosts' import { MDXComponents } from '@/components/content/mdx' - -import { Footer } from '@/UI/common' +import { Footer } from '@/components/site/common' import { getContentBySlug, getContentHeaders } from '@/services/content' diff --git a/src/app/blog/page.tsx b/src/app/blog/page.tsx index 99bd856..075069a 100644 --- a/src/app/blog/page.tsx +++ b/src/app/blog/page.tsx @@ -1,5 +1,5 @@ import { BlogPageClient } from '@/components/blog/BlogPageClient' -import { AppLayoutPage } from '@/components/legacy-ui/templates/AppLayoutPage' +import { AppLayoutPage } from '@/components/site/templates/AppLayoutPage' import { getContents } from '@/services' diff --git a/src/app/blog/topics/[topic]/page.tsx b/src/app/blog/topics/[topic]/page.tsx index b49ac2f..c6c602d 100644 --- a/src/app/blog/topics/[topic]/page.tsx +++ b/src/app/blog/topics/[topic]/page.tsx @@ -1,7 +1,7 @@ import { BlogList } from '@/components/content/blog/BlogList' -import { AppLayoutPage } from '@/components/legacy-ui/templates/AppLayoutPage' -import { Hero } from '@/components/legacy-ui/templates/Hero' import { Breadcrumbs } from '@/components/SEO/Breadcrumbs' +import { AppLayoutPage } from '@/components/site/templates/AppLayoutPage' +import { Hero } from '@/components/site/templates/Hero' import { getContents } from '@/services' diff --git a/src/app/blog/topics/page.tsx b/src/app/blog/topics/page.tsx index 0a56e9d..6183949 100644 --- a/src/app/blog/topics/page.tsx +++ b/src/app/blog/topics/page.tsx @@ -1,8 +1,7 @@ -import { AppLayoutPage } from '@/components/legacy-ui/templates/AppLayoutPage' -import { Hero } from '@/components/legacy-ui/templates/Hero' import { Breadcrumbs } from '@/components/SEO/Breadcrumbs' - -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' +import { AppLayoutPage } from '@/components/site/templates/AppLayoutPage' +import { Hero } from '@/components/site/templates/Hero' import { getContents } from '@/services' diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 06e4be3..b613e15 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,4 +1,4 @@ -import { Header } from '@/components/legacy-ui/common' +import { Header } from '@/components/site/common' import { Toaster } from '@/components/ui/sonner' import { PERSON_ID, SITE_DESCRIPTION, SITE_NAME, SITE_URL } from '@/libs/constants/site' diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx index 5f12336..cf833bb 100644 --- a/src/app/not-found.tsx +++ b/src/app/not-found.tsx @@ -1,6 +1,6 @@ -import { Footer } from '@/UI/common' -import { WrappedImage } from '@/UI/images' -import { UnderlineLink } from '@/UI/links' +import { Footer } from '@/components/site/common' +import { WrappedImage } from '@/components/site/images' +import { UnderlineLink } from '@/components/site/links' import type { Metadata } from 'next' diff --git a/src/app/page.tsx b/src/app/page.tsx index 6b275a9..819b4e5 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -2,7 +2,7 @@ import { ContentImage } from '@/components/content' import { BlogItem } from '@/components/content/blog/BlogItem' import { PortfolioList } from '@/components/content/portfolio/PortfolioList' import { ResearchItem } from '@/components/content/research/ResearchItem' -import { Footer, SocialHome } from '@/components/legacy-ui/common' +import { Footer, SocialHome } from '@/components/site/common' import { getContents } from '@/services' import { getContentHeaders } from '@/services/content' diff --git a/src/app/portfolio/[slug]/page.tsx b/src/app/portfolio/[slug]/page.tsx index 7c97676..f333b96 100644 --- a/src/app/portfolio/[slug]/page.tsx +++ b/src/app/portfolio/[slug]/page.tsx @@ -1,8 +1,7 @@ import { HeadingPortfolio, IconStack, MDXComponents, PRButton } from '@/components/content' -import { WrappedImage } from '@/components/legacy-ui/images' -import { AppLayoutPage } from '@/components/legacy-ui/templates/AppLayoutPage' - -import { BackToTop } from '@/UI/buttons' +import { BackToTop } from '@/components/site/buttons' +import { WrappedImage } from '@/components/site/images' +import { AppLayoutPage } from '@/components/site/templates/AppLayoutPage' import { getContentBySlug, getContents } from '@/services' diff --git a/src/app/portfolio/page.tsx b/src/app/portfolio/page.tsx index 7382d40..7d5c65e 100644 --- a/src/app/portfolio/page.tsx +++ b/src/app/portfolio/page.tsx @@ -1,5 +1,5 @@ -import { AppLayoutPage } from '@/components/legacy-ui/templates/AppLayoutPage' import { PortfolioPageClient } from '@/components/portfolio/PortfolioPageClient' +import { AppLayoutPage } from '@/components/site/templates/AppLayoutPage' import { getContents } from '@/services' diff --git a/src/app/research/[slug]/page.tsx b/src/app/research/[slug]/page.tsx index 328c6fc..f8e7f22 100644 --- a/src/app/research/[slug]/page.tsx +++ b/src/app/research/[slug]/page.tsx @@ -1,9 +1,8 @@ import { MDXComponents } from '@/components/content/mdx' import { PRButton } from '@/components/content/PRButton' import { HeadingResearch, ResearchAbstract, ResearchBibTeX, ResearchTeaser } from '@/components/content/research' -import { AppLayoutPage } from '@/components/legacy-ui/templates/AppLayoutPage' - -import { BackToTop } from '@/UI/buttons' +import { BackToTop } from '@/components/site/buttons' +import { AppLayoutPage } from '@/components/site/templates/AppLayoutPage' import { getContentBySlug, getContentHeaders } from '@/services/content' diff --git a/src/app/research/page.tsx b/src/app/research/page.tsx index c5956fa..33d2a57 100644 --- a/src/app/research/page.tsx +++ b/src/app/research/page.tsx @@ -1,5 +1,5 @@ import { ResearchAreas, ResearchNews, ResearchOverview, ResearchSections } from '@/components/content/research' -import { AppLayoutPage } from '@/components/legacy-ui/templates/AppLayoutPage' +import { AppLayoutPage } from '@/components/site/templates/AppLayoutPage' import { getContentHeaders } from '@/services/content' diff --git a/src/components/blog/BlogPageClient.tsx b/src/components/blog/BlogPageClient.tsx index af1e799..1661131 100644 --- a/src/components/blog/BlogPageClient.tsx +++ b/src/components/blog/BlogPageClient.tsx @@ -1,10 +1,9 @@ 'use client' import { BlogList } from '@/components/content' - -import { EmptyResult } from '@/UI/common' -import { Searchbar } from '@/UI/inputs' -import { Hero } from '@/UI/templates' +import { EmptyResult } from '@/components/site/common' +import { Searchbar } from '@/components/site/inputs' +import { Hero } from '@/components/site/templates' import { useSearchBlog } from '@/hooks' diff --git a/src/components/content/PRButton.tsx b/src/components/content/PRButton.tsx index f148725..8cc58ad 100644 --- a/src/components/content/PRButton.tsx +++ b/src/components/content/PRButton.tsx @@ -1,5 +1,5 @@ // PULL Request Button in case there is a typo on some post, other people can help you -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import { HiExternalLink } from 'react-icons/hi' diff --git a/src/components/content/blog/AdjacentPosts.tsx b/src/components/content/blog/AdjacentPosts.tsx index 09f7dc4..7d64ecb 100644 --- a/src/components/content/blog/AdjacentPosts.tsx +++ b/src/components/content/blog/AdjacentPosts.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import type { AdjacentPosts as AdjacentPostsData } from '@/libs/sorters/getAdjacentPosts' diff --git a/src/components/content/blog/AuthorSection.tsx b/src/components/content/blog/AuthorSection.tsx index cd07733..01ecb63 100644 --- a/src/components/content/blog/AuthorSection.tsx +++ b/src/components/content/blog/AuthorSection.tsx @@ -1,5 +1,5 @@ -import { WrappedImage } from '@/UI/images' -import { UnderlineLink } from '@/UI/links' +import { WrappedImage } from '@/components/site/images' +import { UnderlineLink } from '@/components/site/links' import { useMemo } from 'react' diff --git a/src/components/content/blog/BlogItem.tsx b/src/components/content/blog/BlogItem.tsx index 7b75952..33fac96 100644 --- a/src/components/content/blog/BlogItem.tsx +++ b/src/components/content/blog/BlogItem.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import { generateOgImage } from '@/libs/metapage' diff --git a/src/components/content/blog/HeadingContent.tsx b/src/components/content/blog/HeadingContent.tsx index 3f9a7d8..95eb3bc 100644 --- a/src/components/content/blog/HeadingContent.tsx +++ b/src/components/content/blog/HeadingContent.tsx @@ -1,7 +1,7 @@ 'use client' -import { WrappedImage } from '@/UI/images' -import { UnderlineLink } from '@/UI/links' +import { WrappedImage } from '@/components/site/images' +import { UnderlineLink } from '@/components/site/links' import { twclsx } from '@/libs' import { dateFormat, dateStringToISO } from '@/libs/intl' diff --git a/src/components/content/blog/RelatedPosts.tsx b/src/components/content/blog/RelatedPosts.tsx index cf7aaab..de60939 100644 --- a/src/components/content/blog/RelatedPosts.tsx +++ b/src/components/content/blog/RelatedPosts.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import { getContentBySlug } from '@/services' diff --git a/src/components/content/mdx/ContentImage.tsx b/src/components/content/mdx/ContentImage.tsx index da63062..1444fb6 100644 --- a/src/components/content/mdx/ContentImage.tsx +++ b/src/components/content/mdx/ContentImage.tsx @@ -1,6 +1,6 @@ 'use client' -import { WrappedImage } from '@/UI/images' +import { WrappedImage } from '@/components/site/images' import { twclsx } from '@/libs/twclsx' diff --git a/src/components/content/mdx/Headings.tsx b/src/components/content/mdx/Headings.tsx index df0f919..edeeb50 100644 --- a/src/components/content/mdx/Headings.tsx +++ b/src/components/content/mdx/Headings.tsx @@ -1,6 +1,6 @@ 'use client' -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import { twclsx } from '@/libs' diff --git a/src/components/content/mdx/MDXLink.tsx b/src/components/content/mdx/MDXLink.tsx index 5aa82f0..68322ed 100644 --- a/src/components/content/mdx/MDXLink.tsx +++ b/src/components/content/mdx/MDXLink.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink, UnstyledLinkProps } from '@/UI/links' +import { UnstyledLink, UnstyledLinkProps } from '@/components/site/links' import { twclsx } from '@/libs/twclsx' diff --git a/src/components/content/portfolio/HeadingPortfolio.tsx b/src/components/content/portfolio/HeadingPortfolio.tsx index f96250a..9c4206d 100644 --- a/src/components/content/portfolio/HeadingPortfolio.tsx +++ b/src/components/content/portfolio/HeadingPortfolio.tsx @@ -1,5 +1,5 @@ import { CategoryLabel } from '@/components/content/portfolio/CategoryLabel' -import { UnstyledLink } from '@/components/legacy-ui/links' +import { UnstyledLink } from '@/components/site/links' import { twclsx } from '@/libs' diff --git a/src/components/content/portfolio/PortfolioItem.tsx b/src/components/content/portfolio/PortfolioItem.tsx index b8ec19a..f9e41eb 100644 --- a/src/components/content/portfolio/PortfolioItem.tsx +++ b/src/components/content/portfolio/PortfolioItem.tsx @@ -1,6 +1,5 @@ -import { WrappedImage } from '@/components/legacy-ui/images' - -import { UnstyledLink } from '@/UI/links' +import { WrappedImage } from '@/components/site/images' +import { UnstyledLink } from '@/components/site/links' import { createUrl, twclsx } from '@/libs' diff --git a/src/components/content/portfolio/PortfolioList.tsx b/src/components/content/portfolio/PortfolioList.tsx index ad912b2..ad4435c 100644 --- a/src/components/content/portfolio/PortfolioList.tsx +++ b/src/components/content/portfolio/PortfolioList.tsx @@ -1,4 +1,4 @@ -import { UnderlineLink } from '@/UI/links' +import { UnderlineLink } from '@/components/site/links' import htmr from '@/libs/htmr-replacement' diff --git a/src/components/content/research/HeadingResearch.tsx b/src/components/content/research/HeadingResearch.tsx index 6cad020..88754af 100644 --- a/src/components/content/research/HeadingResearch.tsx +++ b/src/components/content/research/HeadingResearch.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/components/legacy-ui/links' +import { UnstyledLink } from '@/components/site/links' import { SITE_AUTHOR } from '@/libs/constants/site' import { twclsx } from '@/libs/twclsx' diff --git a/src/components/content/research/ResearchItem.tsx b/src/components/content/research/ResearchItem.tsx index 437d439..6f24eab 100644 --- a/src/components/content/research/ResearchItem.tsx +++ b/src/components/content/research/ResearchItem.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import { SITE_AUTHOR } from '@/libs/constants/site' import { generateOgImage } from '@/libs/metapage' diff --git a/src/components/content/research/ResearchNews.tsx b/src/components/content/research/ResearchNews.tsx index fd24a53..2396927 100644 --- a/src/components/content/research/ResearchNews.tsx +++ b/src/components/content/research/ResearchNews.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' type NewsItem = { date: string diff --git a/src/components/content/research/ResearchTeaser.tsx b/src/components/content/research/ResearchTeaser.tsx index 49f1d9d..71c2e94 100644 --- a/src/components/content/research/ResearchTeaser.tsx +++ b/src/components/content/research/ResearchTeaser.tsx @@ -1,4 +1,4 @@ -import { WrappedImage } from '@/components/legacy-ui/images' +import { WrappedImage } from '@/components/site/images' import { twclsx } from '@/libs/twclsx' diff --git a/src/components/content/snippet/SnippetItem.tsx b/src/components/content/snippet/SnippetItem.tsx index 145b102..a244c69 100644 --- a/src/components/content/snippet/SnippetItem.tsx +++ b/src/components/content/snippet/SnippetItem.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/components/legacy-ui/links' +import { UnstyledLink } from '@/components/site/links' import { IconStack } from '../portfolio' diff --git a/src/components/portfolio/PortfolioPageClient.tsx b/src/components/portfolio/PortfolioPageClient.tsx index de11998..589d73b 100644 --- a/src/components/portfolio/PortfolioPageClient.tsx +++ b/src/components/portfolio/PortfolioPageClient.tsx @@ -1,10 +1,9 @@ 'use client' import { PortfolioList } from '@/components/content/portfolio/PortfolioList' - -import { EmptyResult } from '@/UI/common' -import { Searchbar } from '@/UI/inputs' -import { Hero } from '@/UI/templates' +import { EmptyResult } from '@/components/site/common' +import { Searchbar } from '@/components/site/inputs' +import { Hero } from '@/components/site/templates' import { twclsx } from '@/libs/twclsx' diff --git a/src/components/resume/ResumePageClient.tsx b/src/components/resume/ResumePageClient.tsx index 83e2088..a521bc1 100644 --- a/src/components/resume/ResumePageClient.tsx +++ b/src/components/resume/ResumePageClient.tsx @@ -1,10 +1,9 @@ 'use client' import { HowToPrintDialog } from '@/components/dialog' +import { UnderlineLink } from '@/components/site/links' import { Button } from '@/components/ui/button' -import { UnderlineLink } from '@/UI/links' - import { CERTIFICATIONS, EDUCATION, diff --git a/src/components/legacy-ui/buttons/BackToTop.tsx b/src/components/site/buttons/BackToTop.tsx similarity index 100% rename from src/components/legacy-ui/buttons/BackToTop.tsx rename to src/components/site/buttons/BackToTop.tsx diff --git a/src/components/legacy-ui/buttons/index.ts b/src/components/site/buttons/index.ts similarity index 100% rename from src/components/legacy-ui/buttons/index.ts rename to src/components/site/buttons/index.ts diff --git a/src/components/legacy-ui/common/EmptyResult.tsx b/src/components/site/common/EmptyResult.tsx similarity index 93% rename from src/components/legacy-ui/common/EmptyResult.tsx rename to src/components/site/common/EmptyResult.tsx index 9b847c9..2a39f61 100644 --- a/src/components/legacy-ui/common/EmptyResult.tsx +++ b/src/components/site/common/EmptyResult.tsx @@ -1,7 +1,6 @@ +import { WrappedImage } from '@/components/site/images' import { Empty, EmptyDescription, EmptyHeader, EmptyMedia } from '@/components/ui/empty' -import { WrappedImage } from '@/UI/images' - export const EmptyResult: React.FunctionComponent = () => { return ( diff --git a/src/components/legacy-ui/common/Footer.tsx b/src/components/site/common/Footer.tsx similarity index 91% rename from src/components/legacy-ui/common/Footer.tsx rename to src/components/site/common/Footer.tsx index 33f1096..f33ee04 100644 --- a/src/components/legacy-ui/common/Footer.tsx +++ b/src/components/site/common/Footer.tsx @@ -1,7 +1,7 @@ 'use client' -import { FooterSocialHome } from '@/UI/common/FooterSocialHome' -import { UnstyledLink } from '@/UI/links' +import { FooterSocialHome } from '@/components/site/common/FooterSocialHome' +import { UnstyledLink } from '@/components/site/links' import APP_ROUTE from '@/libs/constants/route' import { twclsx } from '@/libs/twclsx' diff --git a/src/components/legacy-ui/common/FooterSocialHome.tsx b/src/components/site/common/FooterSocialHome.tsx similarity index 95% rename from src/components/legacy-ui/common/FooterSocialHome.tsx rename to src/components/site/common/FooterSocialHome.tsx index 75fbe7f..68ca3c0 100644 --- a/src/components/legacy-ui/common/FooterSocialHome.tsx +++ b/src/components/site/common/FooterSocialHome.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import { twclsx } from '@/libs' import SOCIAL from '@/libs/constants/social' diff --git a/src/components/legacy-ui/common/Header/Header.tsx b/src/components/site/common/Header/Header.tsx similarity index 100% rename from src/components/legacy-ui/common/Header/Header.tsx rename to src/components/site/common/Header/Header.tsx diff --git a/src/components/legacy-ui/common/Header/MobileNav.tsx b/src/components/site/common/Header/MobileNav.tsx similarity index 100% rename from src/components/legacy-ui/common/Header/MobileNav.tsx rename to src/components/site/common/Header/MobileNav.tsx diff --git a/src/components/legacy-ui/common/Header/ThemeMenu.tsx b/src/components/site/common/Header/ThemeMenu.tsx similarity index 100% rename from src/components/legacy-ui/common/Header/ThemeMenu.tsx rename to src/components/site/common/Header/ThemeMenu.tsx diff --git a/src/components/legacy-ui/common/Header/index.ts b/src/components/site/common/Header/index.ts similarity index 100% rename from src/components/legacy-ui/common/Header/index.ts rename to src/components/site/common/Header/index.ts diff --git a/src/components/legacy-ui/common/Nav.tsx b/src/components/site/common/Nav.tsx similarity index 95% rename from src/components/legacy-ui/common/Nav.tsx rename to src/components/site/common/Nav.tsx index c9d9e01..7a0ce08 100644 --- a/src/components/legacy-ui/common/Nav.tsx +++ b/src/components/site/common/Nav.tsx @@ -1,6 +1,6 @@ 'use client' -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import APP_ROUTE from '@/libs/constants/route' import { twclsx } from '@/libs/twclsx' diff --git a/src/components/legacy-ui/common/SocialHome.tsx b/src/components/site/common/SocialHome.tsx similarity index 96% rename from src/components/legacy-ui/common/SocialHome.tsx rename to src/components/site/common/SocialHome.tsx index 75101e5..9718467 100644 --- a/src/components/legacy-ui/common/SocialHome.tsx +++ b/src/components/site/common/SocialHome.tsx @@ -1,4 +1,4 @@ -import { UnstyledLink } from '@/UI/links' +import { UnstyledLink } from '@/components/site/links' import { twclsx } from '@/libs' import SOCIAL from '@/libs/constants/social' diff --git a/src/components/legacy-ui/common/index.ts b/src/components/site/common/index.ts similarity index 100% rename from src/components/legacy-ui/common/index.ts rename to src/components/site/common/index.ts diff --git a/src/components/legacy-ui/images/CustomImage.tsx b/src/components/site/images/CustomImage.tsx similarity index 100% rename from src/components/legacy-ui/images/CustomImage.tsx rename to src/components/site/images/CustomImage.tsx diff --git a/src/components/legacy-ui/images/WrappedImage.tsx b/src/components/site/images/WrappedImage.tsx similarity index 100% rename from src/components/legacy-ui/images/WrappedImage.tsx rename to src/components/site/images/WrappedImage.tsx diff --git a/src/components/legacy-ui/images/index.ts b/src/components/site/images/index.ts similarity index 100% rename from src/components/legacy-ui/images/index.ts rename to src/components/site/images/index.ts diff --git a/src/components/legacy-ui/inputs/Searchbar.tsx b/src/components/site/inputs/Searchbar.tsx similarity index 100% rename from src/components/legacy-ui/inputs/Searchbar.tsx rename to src/components/site/inputs/Searchbar.tsx diff --git a/src/components/legacy-ui/inputs/index.ts b/src/components/site/inputs/index.ts similarity index 100% rename from src/components/legacy-ui/inputs/index.ts rename to src/components/site/inputs/index.ts diff --git a/src/components/legacy-ui/links/UnderlineLink.tsx b/src/components/site/links/UnderlineLink.tsx similarity index 100% rename from src/components/legacy-ui/links/UnderlineLink.tsx rename to src/components/site/links/UnderlineLink.tsx diff --git a/src/components/legacy-ui/links/UnstyledLink.tsx b/src/components/site/links/UnstyledLink.tsx similarity index 100% rename from src/components/legacy-ui/links/UnstyledLink.tsx rename to src/components/site/links/UnstyledLink.tsx diff --git a/src/components/legacy-ui/links/index.tsx b/src/components/site/links/index.tsx similarity index 100% rename from src/components/legacy-ui/links/index.tsx rename to src/components/site/links/index.tsx diff --git a/src/components/legacy-ui/templates/AppLayoutPage.tsx b/src/components/site/templates/AppLayoutPage.tsx similarity index 87% rename from src/components/legacy-ui/templates/AppLayoutPage.tsx rename to src/components/site/templates/AppLayoutPage.tsx index 481189d..a9cd915 100644 --- a/src/components/legacy-ui/templates/AppLayoutPage.tsx +++ b/src/components/site/templates/AppLayoutPage.tsx @@ -1,4 +1,4 @@ -import { Footer } from '@/UI/common' +import { Footer } from '@/components/site/common' import { twclsx } from '@/libs/twclsx' diff --git a/src/components/legacy-ui/templates/Hero.tsx b/src/components/site/templates/Hero.tsx similarity index 100% rename from src/components/legacy-ui/templates/Hero.tsx rename to src/components/site/templates/Hero.tsx diff --git a/src/components/legacy-ui/templates/index.ts b/src/components/site/templates/index.ts similarity index 100% rename from src/components/legacy-ui/templates/index.ts rename to src/components/site/templates/index.ts diff --git a/src/components/snippet/SnippetPageClient.tsx b/src/components/snippet/SnippetPageClient.tsx index 2c5a276..00258da 100644 --- a/src/components/snippet/SnippetPageClient.tsx +++ b/src/components/snippet/SnippetPageClient.tsx @@ -1,10 +1,9 @@ 'use client' import { SnippetList } from '@/components/content/snippet' - -import { EmptyResult } from '@/UI/common' -import { Searchbar } from '@/UI/inputs' -import { Hero } from '@/UI/templates' +import { EmptyResult } from '@/components/site/common' +import { Searchbar } from '@/components/site/inputs' +import { Hero } from '@/components/site/templates' import { useSearchSnippet } from '@/hooks' diff --git a/tsconfig.json b/tsconfig.json index f69176e..505fa7a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,9 +17,7 @@ "incremental": true, "baseUrl": "./src", "paths": { - "@/*": ["*"], - "@/UI": ["components/legacy-ui/"], - "@/UI/*": ["components/legacy-ui/*"] + "@/*": ["*"] }, "plugins": [ {