Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthrough토스트 알림 시스템을 도입하여 Zustand 기반의 toast 스토어, GlobalToast UI 컴포넌트, 성공/오류 variant를 지원하는 Toast 컴포넌트를 추가하고, 앱 전반의 alert() 호출을 showToast()로 교체하며 CLAUDE.md에 API 레이어 문서를 추가했습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Component as Component\n(모달/페이지)
participant Store as useToastStore\n(Zustand)
participant GlobalToast as GlobalToast\n(레이아웃)
participant Toast as Toast\n(UI)
Component->>Store: showToast(message, variant)
Note over Store: 상태 업데이트\nisVisible=true, message, variant
Store-->>GlobalToast: 상태 변경 감지
GlobalToast->>Toast: 전달(isVisible, message, variant)
Toast->>Toast: 아이콘/스타일 렌더링 (success/error)
Toast-->>User: 토스트 표시
Note over Toast: 일정 시간 뒤 자동 숨김
Toast->>Store: hideToast()
Store-->>GlobalToast: isVisible=false
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25분 Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/components/ui/toast.tsx (1)
38-46:⚠️ Potential issue | 🟡 MinorTailwind 클래스 정렬 규칙(그룹 내 알파벳 순) 정리가 필요합니다.
현재 클래스 문자열이 그룹 내 알파벳 순으로 정렬되어 있지 않습니다. 아래처럼 정렬하거나 prettier-plugin-tailwindcss를 적용해 주세요.🔧 정렬 제안
- 'fixed top-24 left-1/2 z-99999 -translate-x-1/2', - 'rounded-200 px-500 py-400', + '-translate-x-1/2 fixed left-1/2 top-24 z-99999', + 'px-500 py-400 rounded-200', 'bg-background-default shadow-2xl', isSuccess ? 'border-2 border-green-500' : 'border-2 border-red-500', 'font-designer-15b text-gray-900', - 'animate-in fade-in-0 slide-in-from-top-4 duration-300', + 'animate-in duration-300 fade-in-0 slide-in-from-top-4', 'transition-all', - 'flex min-w-[280px] items-center gap-300', + 'flex gap-300 items-center min-w-[280px]',As per coding guidelines,
**/*.{tsx,ts,jsx,js}: Organize Tailwind CSS classes using prettier-plugin-tailwindcss for automatic class ordering and sort them alphabetically within groups.
🤖 Fix all issues with AI agents
In `@src/components/contents/homework-detail-content.tsx`:
- Around line 195-196: The Tailwind class order in the <p> element rendering
evaluation.comment is inconsistent; reorder the classes so `font-designer-14r`
comes before `text-text-default` to match the project's convention (and what
prettier-plugin-tailwindcss expects) — update the className on the <p> element
that contains {evaluation.comment} accordingly.
In `@src/components/summary/study-info-summary.tsx`:
- Around line 127-130: The handleCopyURL function calls
navigator.clipboard.writeText without error handling; wrap the await call in a
try-catch inside handleCopyURL, on success call showToast('스터디 링크가 복사되었습니다!') as
before, and on failure log the error (e.g., console.error) and show a failure
toast/message (e.g., showToast('링크 복사에 실패했습니다. 권한을 확인해주세요.')) so users are
informed when clipboard access is denied or fails.
In `@src/features/my-page/ui/profile-card.tsx`:
- Line 50: In the ProfileCard component update the div with class "relative
h-600 w-600 shrink-0 cursor-pointer overflow-hidden rounded-full" to follow the
project's Tailwind ordering: run/prefer prettier-plugin-tailwindcss (or manually
reorder) so classes are grouped and alphabetized within groups (e.g.,
layout/position first like "relative", then box sizing/layout ("w-600 h-600
shrink-0"), then overflow, then interactivity/cursor, then border/radius
"overflow-hidden cursor-pointer rounded-full"), ensuring the class string
matches the plugin's output.
🧹 Nitpick comments (1)
src/components/modals/submit-homework-modal.tsx (1)
103-107: 불필요한async키워드가 있습니다.
onSuccess콜백에서showToast,onClose,onSuccess는 모두 동기 함수이므로async키워드가 필요하지 않습니다. 기능에는 영향이 없지만 제거하면 코드가 더 명확해집니다.제안된 수정
- onSuccess: async () => { + onSuccess: () => { showToast('과제가 성공적으로 제출되었습니다!'); onClose(); onSuccess?.(); },
🌱 연관된 이슈
☘️ 작업 내용
isSuccess여부에 따른 UI 구분🍀 참고사항
스크린샷 (선택)
Summary by CodeRabbit
릴리스 노트
새로운 기능
스타일
문서
레이아웃