[FEAT] 로고를 정적 asset에서 SVGR 아이콘으로 교체한다#274
Conversation
- 신규 로고 아이콘 SVG 소스를 추가했습니다
- 정적 asset(next/image) 기반 로고를 디자인 시스템의 LogoTimoIcon 컴포넌트로 교체했습니다 - 로고가 링크로 감싸진 위치는 아이콘 대신 링크에 접근성 라벨을 부여했습니다
- 더 이상 참조되지 않는 로고 정적 asset을 삭제했습니다
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (3)
Walkthrough로그인, 정책 페이지, 사이드바에서 Changes로고 아이콘 컴포넌트 적용
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install timed out. The project may have too many dependencies for the sandbox. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Timo Performance ReportBundle Size — timo-web
Lighthouse — timo-web
Image Optimization — timo-web
측정 커밋: |
ISSUE 🔗
close #271
What is this PR? 🔍
로고 SVG를 디자인 시스템의 아이콘 코드젠 파이프라인에 편입시키고, 사이드바·로그인·정책 페이지에서 정적 asset 대신 SVGR로 생성된
LogoTimoIcon컴포넌트를 사용하도록 교체했습니다.배경
packages/timo-design-system/src/assets/images/logo/timo-text-logo.svg정적 파일을next/image로 불러와 사용하고 있었습니다.icons/source→pnpm icons:generate→icons/generated/*.tsx)을 통해 컴포넌트로 관리되는데, 로고만 예외적으로 별도 asset import 방식을 쓰고 있어 관리 방식이 일관되지 않았습니다.icons/source에 추가해 코드젠 대상에 포함시키고, 로고를 사용하는 모든 화면을LogoTimoIcon으로 교체한 뒤 더 이상 참조되지 않는 정적 asset을 삭제했습니다.아이콘 파이프라인
packages/timo-design-system/src/icons/source/logo_timo.svg를 추가하고pnpm icons:generate로LogoTimoIcon컴포넌트를 생성했습니다.generate-icons.mjs가source/*.svg를 읽어generated/*.tsx와index.ts를 생성합니다. 두 산출물은 gitignore 대상이라 커밋에는 소스 SVG만 포함됩니다. 원본 SVG는 순수 벡터가 아니라<pattern>으로 감싼 base64 PNG를 포함하고 있어 다른 아이콘(2~5KB)보다 훨씬 큰 약 92KB이지만, 실제 로고 이미지 특성상 의도된 형태로 판단했습니다.로고 사용처 (사이드바 · 로그인 · 정책 페이지)
NavigationSidebar,LoginContainer,PolicyPage에서next/image+ 정적 asset 방식을LogoTimoIcon컴포넌트로 교체했습니다.width/heightprop을 직접 지정하는 패턴(<LogoTimoIcon width={92} height={35} />)으로 사용했습니다.LogoTimoIcon은 SVG 자체에aria-hidden="true"가 고정되어 있어, 로고가<Link>로 감싸진 사이드바 · 정책 페이지에서는 아이콘 대신Link에aria-label="Timo"를 부여해 접근성 라벨을 유지했습니다. 로그인 페이지는 로고 바로 아래 헤드라인 텍스트가 있어 별도 라벨을 추가하지 않았습니다.timo-text-logo.svg)은 모든 참조가 제거된 것을 확인한 뒤 별도 커밋으로 삭제했습니다.To Reviewers
LogoTimoIcon의 원본 SVG가 순수 벡터가 아니라 base64 PNG를<pattern>으로 감싼 형태라 소스 파일 크기가 92KB로 다른 아이콘보다 큽니다. 로고 이미지 특성상 의도된 것으로 판단했는데, 번들 크기 관점에서 문제 없는지 확인 부탁드립니다.이번 세션에는 브라우저 자동화 도구가 없어 로컬 브라우저로 실제 렌더링을 직접 확인하지 못했습니다 — 타입체크/린트는 통과했고 다른 아이콘과 동일한 사용 패턴이라 문제 가능성은 낮다고 판단했지만, 로그인 후 사이드바 · 로그인 · 정책 페이지 로고가 기존과 동일하게 보이는지 확인 부탁드립니다.
Screenshot 📷
Test Checklist ✔
pnpm check-types통과eslint --max-warnings 0통과