Skip to content

dev->main#607

Closed
HA-SEUNG-JEONG wants to merge 295 commits into
mainfrom
develop
Closed

dev->main#607
HA-SEUNG-JEONG wants to merge 295 commits into
mainfrom
develop

Conversation

@HA-SEUNG-JEONG

Copy link
Copy Markdown
Contributor

🌱 연관된 이슈

☘️ 작업 내용

🍀 참고사항

🎨 디자인 비교 (UI 컴포넌트 PR에만 작성)

Figma 원본 Storybook 구현
- -
비교 결과
항목 상태 비고
색상
간격
타이포그래피
반경
트랜스폼

스크린샷 (선택)

HA-SEUNG-JEONG and others added 30 commits April 17, 2026 17:45
로딩 상태 스켈레톤 전환 및 queryKey 버그 수정
- claude.yml: @claude 멘션 시 PR/이슈에서 코드 수정·커밋 푸시·코멘트가
  가능하도록 contents/pull-requests/issues write 권한 부여.
  프론트엔드 작업에 필요한 npm/yarn/pnpm/npx 도구 허용.
- claude-code-review.yml: PR open/reopen/ready 시점에만 자동 리뷰가
  돌도록 트리거 축소(synchronize 제외, Max 쿼터 절약).
  프론트엔드 확장자(ts/tsx/js/jsx/css/scss)와 주요 설정 파일에만
  paths 필터 적용해 불필요한 리뷰 실행 방지.
- 두 워크플로우 모두 마지막에 SLACK_FRONT_CHANNEL_ID 채널로
  실행 결과 알림 step 추가.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-actions

chore: Claude Code Action 워크플로우 추가
- /design-to-dev 명령어 추가 (Figma → 컴포넌트 + 스토리 + 시각 비교)
- ci.yml에 Playwright E2E job 추가 (E2E_AUTH_JSON secret으로 인증 테스트 지원)
- chromatic.yml에 PR 트리거 추가 (머지 전 비주얼 회귀 감지)
- PR 템플릿에 디자인 비교 섹션 추가
- lint-staged에서 yml 파일을 biome 대상에서 제외 (biome은 yml 미지원)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
E2E_AUTH_JSON을 step-level env에서 job-level env로 올려
if 조건 평가 시 env 변수가 확실히 주입되도록 수정.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
OAuth 기반 프로젝트 특성상 CI에서 auth 세션 자동 갱신 불가.
@auth 태그 컨벤션 도입 후 CI는 --grep-invert @auth로 실행.
인증 필요 테스트는 로컬에서 auth.json 세팅 후 전체 실행.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
E2E_AUTH_JSON secret 유무에 따라 전체/비인증 스위트 분기.
JSON 유효성 즉시 검증 및 7일 이내 만료 쿠키 경고 추가.
주석 의도와 실제 동작 불일치 해소.
page.waitForTimeout(1500) 고정 대기를 제거하고,
clickStudyCreateButton 내 trigger.waitFor({ state: 'visible' }) 에 위임한다.
비로그인 UI 테스트도 toBeHidden({ timeout }) 자체 재시도로 충분하므로 제거.

Co-authored-by: Jeong Ha Seung <HA-SEUNG-JEONG@users.noreply.github.com>
@storybook/experimental-nextjs-vite 프레임워크가 public/ 디렉토리를
자동으로 static dir에 등록하는데, main.ts에서도 staticDirs: ['../public']로
중복 등록되어 Promise.all 내에서 두 복사 작업이 storybook-static/images/를
동시에 생성하다 EEXIST 에러가 발생함.

Co-authored-by: Jeong Ha Seung <HA-SEUNG-JEONG@users.noreply.github.com>
FE 개발 워크플로우 및 CI E2E 인증 정비
Co-authored-by: Dongjoo Yun <dongjooyun@users.noreply.github.com>
…02-0207

fix: 랜딩 카피 문구 GPT → AI 수정
- design-to-dev: Figma 컴포넌트 → src/components + Storybook
- dev-start: Figma 페이지 → src/app + API 매핑 + DTO 검증
- staging-verify: 글로벌 스킬 repo 내 복사, 영문 본문으로 재작성
- 룰/커맨드: 두 스킬 본문 참조 자료 git 추적
- 만료 시 process.exit(1) → AUTH_EXPIRED=true + exit 0으로 변경
  → 만료 시에도 비인증 스위트가 fallback 실행되도록 보장
- Run E2E 스텝 조건에 AUTH_EXPIRED 게이트 추가
- Playwright 아티팩트 업로드를 security 잡 → e2e 잡으로 이동
  → playwright-report/는 e2e 잡 러너에서만 생성됨
- Upload 조건을 if: failure() → if: !cancelled() 로 변경
  → 성공/실패 모두 trace 보존
- size별 icon-label gap variant 추가 (xs/s=4px, m/l=6px)
- color별 disabled 토큰 분리 + cursor-not-allowed
- 자동 아이콘 크기 매핑 (ICON_SIZE_MAP)
- text-disabled-strong 토큰 신설
- FigmaFullSpec 스토리 추가 (96 variant 절대좌표 매트릭스)
- design-to-dev 워크플로우에 self-approve 금지/Symbol≠Asset 가드 추가
HA-SEUNG-JEONG and others added 25 commits May 16, 2026 17:06
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- RoleBadge 대소문자 불일치 수정 (Builder → BUILDER)
- UserAvatar 컴포넌트로 교체 + role badge 분리
- 조회 수 Eye 아이콘 제거
- 날짜 형식 변경 (2025.05.30 → 5월 30일)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
클래스 UX 개선 — 프로필 모달/스켈레톤/QnA
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
로그인/로그아웃 리다이렉트, 역할 뱃지, 피드 마크다운 버그 수정
- MenuTarget union 타입 제거, 최상위 8 state + 7 mutation hook을 QuestionSection / AnswerItem으로 분산
- useEffect state 리셋 → key prop 대체로 qnaId 변경 시 자동 초기화
- DeleteConfirm 공통 컴포넌트 추출로 중복 패턴 통합
- 질문 ⋮ 메뉴 구현 공백 해소 (canEdit / canDelete / canReport 활용)
- qa/[id]/page.tsx: 리액션 아이콘 fill-current 누락 수정

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- figma-design.md: 병렬 일괄 호출 → 단계적 도구 사용 패턴으로 변경, Code Connect 섹션 추가
- figma-pre-code-gate.md: Gate E 조건 명확화 (truncation 시에만 전체 노드 테이블 작성)
- figma-verification.md: 신규 추가 — 구현 후 Path A/B 검증 규칙 (브라우저 툴 → 코드 레벨 감사)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… 컴포넌트로 교체

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SVG 아이콘 컴포넌트 중앙화
- LockIcon/LockOpenIcon은 className만 수락하므로 span[role=img aria-label]로 감싸
  getByRole('img', { name: '잠금' }) 셀렉터 통과
- study-helpers clickStudyCreateButton: isAuthReady false 상태 클릭 방지를
  위해 toBeEnabled 대기 추가, dialog waitForSelector timeout 5s→15s (dynamic
  import chunk 로드 여유 확보)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
beforeEach에서 스테이징 실행 시 accessToken expires를 현재 시각 +1시간으로
재설정해 isAuthenticated=false 오류로 인한 테스트 실패 방지.
create.spec.ts는 비로그인 UI describe를 건드리지 않도록 @auth 블록 내부에만 적용.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
span[role=img] 마크업이 아직 develop에 미배포된 상태에서 CI가
실패하는 순환 의존 문제를 .or() 폴백으로 해소.
구 코드: 레슨 링크 내 첫 번째 div로 배지 존재 확인
신 코드: span[role=img]가 있으면 우선 매칭, 없으면 폴백 사용

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
analytics 단기 쿠키(ANONCHK 등)가 min expiry를 끌어내려
유효한 세션도 expired로 판정되던 문제 수정.
refresh_token(zeroone.it.kr)만 체크해 실제 인증 유효성 판단.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
isVerificationLoading 중 클릭을 무시(silent return)하던 로직을
pendingOpen 패턴으로 대체. 로딩 완료 후 자동으로 개설 모달 오픈.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
본인인증 상태 로딩 중 첫 클릭이 무시되는 staging 타이밍 이슈 대응.
expect.toPass로 최대 20s 내 재클릭하여 dialog 등장 보장.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
class E2E 테스트 추가 및 버그 수정
@HA-SEUNG-JEONG HA-SEUNG-JEONG self-assigned this May 17, 2026
@vercel

vercel Bot commented May 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
study-platform-client-dev Building Building Preview, Comment May 17, 2026 7:18am

@coderabbitai

coderabbitai Bot commented May 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 215 files, which is 65 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8439141a-d247-438f-9074-66aefcf5deb0

📥 Commits

Reviewing files that changed from the base of the PR and between 4fde4d7 and 3153604.

⛔ Files ignored due to path filters (85)
  • public/class/banner-bracket-left.svg is excluded by !**/*.svg
  • public/class/banner-bracket-right.svg is excluded by !**/*.svg
  • public/class/banner-bubble-back.svg is excluded by !**/*.svg
  • public/class/banner-bubble-front.svg is excluded by !**/*.svg
  • public/class/banner-ellipse-1.svg is excluded by !**/*.svg
  • public/class/banner-ellipse-2.svg is excluded by !**/*.svg
  • public/class/banner-ellipse-3.svg is excluded by !**/*.svg
  • public/class/banner-orbit-ring.svg is excluded by !**/*.svg
  • public/class/banner-slash.svg is excluded by !**/*.svg
  • public/class/banner-sparkle-lg.svg is excluded by !**/*.svg
  • public/class/banner-sparkle-sm.svg is excluded by !**/*.svg
  • public/class/banner-wave-bottom.svg is excluded by !**/*.svg
  • public/class/banner-wave-top.svg is excluded by !**/*.svg
  • public/class/bracket-left.svg is excluded by !**/*.svg
  • public/class/bracket-right.svg is excluded by !**/*.svg
  • public/class/builder.png is excluded by !**/*.png
  • public/class/detail/benefit-2.png is excluded by !**/*.png
  • public/class/detail/benefit-3.png is excluded by !**/*.png
  • public/class/detail/character-cats.png is excluded by !**/*.png
  • public/class/detail/claude-pro-gift.png is excluded by !**/*.png
  • public/class/detail/result-showcase.png is excluded by !**/*.png
  • public/class/detail/shadow-inner.svg is excluded by !**/*.svg
  • public/class/detail/shadow-outer.svg is excluded by !**/*.svg
  • public/class/firstGrader.png is excluded by !**/*.png
  • public/class/fourth-grade.png is excluded by !**/*.png
  • public/class/icon-learner-open.svg is excluded by !**/*.svg
  • public/class/icon-learner-soon.svg is excluded by !**/*.svg
  • public/class/manager.png is excluded by !**/*.png
  • public/class/second-grade.png is excluded by !**/*.png
  • public/class/slash.svg is excluded by !**/*.svg
  • public/class/sphere.svg is excluded by !**/*.svg
  • public/class/star-lg.svg is excluded by !**/*.svg
  • public/class/star-sm.svg is excluded by !**/*.svg
  • public/class/subtract.svg is excluded by !**/*.svg
  • public/class/third-grade.png is excluded by !**/*.png
  • public/class/vector-basic.svg is excluded by !**/*.svg
  • public/class/vector-work.svg is excluded by !**/*.svg
  • public/class/vibe-intro/chapter-line-left.svg is excluded by !**/*.svg
  • public/class/vibe-intro/chapter-line-right.svg is excluded by !**/*.svg
  • public/class/vibe-intro/chapter-progress.svg is excluded by !**/*.svg
  • public/class/vibe-intro/checklist.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/chapter-lock.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/chevron-up.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/edit-note.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/lesson-lock-icon.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/line-active.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/line-locked.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/lock-open.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/marker-active.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/marker-default.svg is excluded by !**/*.svg
  • public/class/vibe-intro/curriculum/mode.svg is excluded by !**/*.svg
  • public/class/vibe-intro/discord-avatar.png is excluded by !**/*.png
  • public/class/vibe-intro/flag.png is excluded by !**/*.png
  • public/class/vibe-intro/icons/comment.svg is excluded by !**/*.svg
  • public/class/vibe-intro/icons/heart.svg is excluded by !**/*.svg
  • public/class/vibe-intro/icons/share.svg is excluded by !**/*.svg
  • public/class/vibe-intro/instagram-icon.png is excluded by !**/*.png
  • public/class/vibe-intro/journey-1st-load.svg is excluded by !**/*.svg
  • public/class/vibe-intro/journey-load-reverse.svg is excluded by !**/*.svg
  • public/class/vibe-intro/journey-load.svg is excluded by !**/*.svg
  • public/class/vibe-intro/lesson-lock.svg is excluded by !**/*.svg
  • public/class/vibe-intro/lesson-stamp-active.svg is excluded by !**/*.svg
  • public/class/vibe-intro/lesson-stamp.svg is excluded by !**/*.svg
  • public/class/vibe-intro/party-animation.png is excluded by !**/*.png
  • public/class/vibe-intro/star-disabled.svg is excluded by !**/*.svg
  • public/class/vibe-intro/star-enabled.svg is excluded by !**/*.svg
  • public/class/vibe-intro/top-float-arrow.png is excluded by !**/*.png
  • public/class/vibe-intro/top-float-bg.png is excluded by !**/*.png
  • public/icons/comming-soon-arrow.svg is excluded by !**/*.svg
  • public/icons/kakao-channel.png is excluded by !**/*.png
  • public/landing/benefits-number.svg is excluded by !**/*.svg
  • public/landing/check-card-illustration.png is excluded by !**/*.png
  • public/landing/check-icon.svg is excluded by !**/*.svg
  • public/landing/discord-app.png is excluded by !**/*.png
  • public/landing/instructor-circle.svg is excluded by !**/*.svg
  • public/landing/instructor-full.png is excluded by !**/*.png
  • public/landing/instructor-side-img.png is excluded by !**/*.png
  • public/landing/kakao-app.png is excluded by !**/*.png
  • public/landing/speech-bubble-1.svg is excluded by !**/*.svg
  • public/landing/speech-bubble-2.svg is excluded by !**/*.svg
  • public/landing/speech-bubble-3.svg is excluded by !**/*.svg
  • public/landing/speech-bubble-4.svg is excluded by !**/*.svg
  • public/landing/speech-bubble-5.svg is excluded by !**/*.svg
  • public/landing/speech-bubble-6.svg is excluded by !**/*.svg
  • public/landing/toast-illustration.svg is excluded by !**/*.svg
📒 Files selected for processing (215)
  • .claude/commands/design-to-dev.md
  • .claude/commands/pr.md
  • .claude/rules/api-live-schema-check.md
  • .claude/rules/api-patterns.md
  • .claude/rules/architecture.md
  • .claude/rules/backend-data-safety.md
  • .claude/rules/documentation-rules.md
  • .claude/rules/domain-entities.md
  • .claude/rules/e2e-testing.md
  • .claude/rules/error-handling.md
  • .claude/rules/figma-design.md
  • .claude/rules/figma-overlap-to-css.md
  • .claude/rules/figma-pre-code-gate.md
  • .claude/rules/figma-verification.md
  • .claude/rules/no-img-no-eslint-disable.md
  • .claude/rules/schema-validation.md
  • .claude/rules/styling.md
  • .claude/rules/svg-assets.md
  • .claude/skills/design-to-dev/SKILL.md
  • .claude/skills/dev-start/SKILL.ko.md
  • .claude/skills/dev-start/SKILL.md
  • .claude/skills/dev-start/rules/figma-fetch.ko.md
  • .claude/skills/dev-start/rules/figma-fetch.md
  • .claude/skills/dev-start/rules/visual-verify.ko.md
  • .claude/skills/dev-start/rules/visual-verify.md
  • .claude/skills/extract-common-component/SKILL.ko.md
  • .claude/skills/extract-common-component/SKILL.md
  • .claude/skills/staging-verify/SKILL.md
  • .eslintrc.cjs
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/workflows/chromatic.yml
  • .github/workflows/ci.yml
  • .github/workflows/claude-code-review.yml
  • .github/workflows/claude.yml
  • .gitignore
  • .husky/prepare-commit-msg
  • .storybook/main.ts
  • AGENTS.md
  • CLAUDE.md
  • PROJECT_INDEX.json
  • PROJECT_INDEX.md
  • README.md
  • docs/Figma/class.md
  • docs/Figma/curriculum-drawer.md
  • docs/Figma/gnb.md
  • docs/Figma/lesson-detail-curriculum.md
  • docs/git-hook-guide.md
  • e2e/AGENTS.md
  • e2e/class/builder-feed.spec.ts
  • e2e/class/course-complete.spec.ts
  • e2e/class/curriculum-drawer.spec.ts
  • e2e/class/feed-write.spec.ts
  • e2e/class/journey-map.spec.ts
  • e2e/class/lesson-review.spec.ts
  • e2e/class/payment.spec.ts
  • e2e/class/qna-write.spec.ts
  • e2e/class/qna.spec.ts
  • e2e/group-study/create.spec.ts
  • e2e/support/study-helpers.ts
  • next.config.ts
  • package.json
  • playwright.config.ts
  • public/AGENTS.md
  • public/class/vibe-intro/payments.json
  • src/AGENTS.md
  • src/api/AGENTS.md
  • src/api/client/axios.ts
  • src/app/(admin)/admin/courses/[courseId]/lessons/page.tsx
  • src/app/(admin)/admin/courses/[courseId]/page.tsx
  • src/app/(admin)/admin/courses/lessons/[lessonId]/page.tsx
  • src/app/(admin)/admin/courses/page.tsx
  • src/app/(admin)/admin/lessons/[lessonId]/builder-feed/page.tsx
  • src/app/(admin)/admin/lessons/[lessonId]/qna/page.tsx
  • src/app/(admin)/admin/lessons/[lessonId]/reflections/page.tsx
  • src/app/(admin)/admin/sales-management/payment-refund/page.tsx
  • src/app/(admin)/admin/sales-management/settlement/page.tsx
  • src/app/(admin)/layout.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/curriculum-drawer.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-builder-feed-card.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-builder-feed-detail-modal.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-link-modal.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-qna-card.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-qna-detail-modal.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-qna-submission-modal.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-rating-box.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-review-form.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-screenshot-modal.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-tabs.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-top-bar.tsx
  • src/app/(class-lesson)/class/vibe-intro/lesson/[id]/page.tsx
  • src/app/(class-lesson)/layout.tsx
  • src/app/(landing)/class/[id]/page.tsx
  • src/app/(landing)/class/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/_components/feed-tab.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/_components/qna-tab.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/feed/[id]/edit/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/feed/[id]/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/feed/_components/feed-list-card.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/feed/_components/pagination-bar.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/feed/_components/paywall-section.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/feed/_components/plan-selection-modal.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/feed/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/feed/write/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/home/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/layout.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/payment/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/payment/pending/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/payment/success/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/qa/[id]/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/qa/page.tsx
  • src/app/(landing)/class/vibe-intro/(learning)/qa/write/page.tsx
  • src/app/(landing)/class/vibe-intro/_components/builder-feed-utils.tsx
  • src/app/(landing)/class/vibe-intro/complete/page.tsx
  • src/app/(landing)/layout.tsx
  • src/app/(service)/(my)/loading.tsx
  • src/app/(service)/(my)/my-activity/page.tsx
  • src/app/(service)/(my)/my-page/page.tsx
  • src/app/(service)/(my)/my-study-review/group/[groupStudyId]/page.tsx
  • src/app/(service)/(my)/my-study-review/group/page.tsx
  • src/app/(service)/(my)/my-study-review/mentor/[groupStudyId]/page.tsx
  • src/app/(service)/(my)/my-study-review/mentor/page.tsx
  • src/app/(service)/(my)/my-study-review/one-to-one/_components/one-to-one-review-card.tsx
  • src/app/(service)/(my)/my-study-review/one-to-one/page.tsx
  • src/app/(service)/(my)/my-study/completed/page.tsx
  • src/app/(service)/(my)/my-study/not-completed/page.tsx
  • src/app/(service)/(my)/my-study/page.tsx
  • src/app/(service)/(my)/notification/page.tsx
  • src/app/(service)/(my)/payment-management/page.tsx
  • src/app/(service)/(my)/settlement-management/page.tsx
  • src/app/(service)/group-study/[id]/page.tsx
  • src/app/(service)/group-study/page.tsx
  • src/app/(service)/home/page.tsx
  • src/app/(service)/inquiry/page.tsx
  • src/app/(service)/one-on-one/page.tsx
  • src/app/(service)/payment/[id]/page.tsx
  • src/app/(service)/payment/fail/page.tsx
  • src/app/(service)/payment/success/page.tsx
  • src/app/(service)/premium-study/[id]/page.tsx
  • src/app/(service)/premium-study/page.tsx
  • src/app/AGENTS.md
  • src/app/global.css
  • src/components/AGENTS.md
  • src/components/admin/chage-status-modal.tsx
  • src/components/admin/change-role-modal.tsx
  • src/components/admin/courses/admin-course-detail-page-client.tsx
  • src/components/admin/courses/admin-course-field.tsx
  • src/components/admin/courses/admin-course-form-sections.tsx
  • src/components/admin/courses/admin-course-list-page-client.tsx
  • src/components/admin/courses/admin-course-management-page-client.tsx
  • src/components/admin/courses/admin-course-markdown-editor.tsx
  • src/components/admin/courses/admin-course-markdown-field.tsx
  • src/components/admin/courses/admin-course-overview-sections.tsx
  • src/components/admin/courses/admin-course-thumbnail-field.tsx
  • src/components/admin/courses/admin-lesson-detail-page-client.tsx
  • src/components/admin/courses/admin-lesson-management-page-client.tsx
  • src/components/admin/courses/admin-lesson-management-sections.tsx
  • src/components/admin/courses/admin-lesson-operations-page-client.tsx
  • src/components/admin/member-list-table.tsx
  • src/components/admin/modals/admin-forced-cancellation-modal.tsx
  • src/components/admin/sincerity-temp-table.tsx
  • src/components/auth/forms/sign-up-image-selector.tsx
  • src/components/auth/forms/sign-up-steps/index.ts
  • src/components/auth/forms/sign-up-steps/step-1-nickname.tsx
  • src/components/auth/forms/sign-up-steps/step-2-job.tsx
  • src/components/auth/forms/sign-up-steps/step-3-career.tsx
  • src/components/auth/forms/sign-up-steps/step-4-study-format-types.tsx
  • src/components/auth/forms/sign-up-steps/step-5-goal.tsx
  • src/components/auth/forms/sign-up-steps/step-6-success.tsx
  • src/components/auth/forms/sign-up-steps/step-header.tsx
  • src/components/auth/modals/login-modal.tsx
  • src/components/auth/modals/sign-up-modal.tsx
  • src/components/common/layout/footer.tsx
  • src/components/common/layout/header-nav.tsx
  • src/components/common/layout/header-user-dropdown.tsx
  • src/components/common/layout/home-header-client.tsx
  • src/components/common/layout/home-header.tsx
  • src/components/common/layout/mobile-menu-drawer.tsx
  • src/components/common/layout/sidebar/admin-sidebar.tsx
  • src/components/common/layout/sidebar/my-page-sidebar.tsx
  • src/components/common/modals/builder-profile-modal.tsx
  • src/components/common/modals/notification-dropdown.tsx
  • src/components/common/modals/phone-verification-modal.tsx
  • src/components/common/modals/user-profile-modal.tsx
  • src/components/common/ui/(shadcn)/ui/dialog.tsx
  • src/components/common/ui/avatar-stack.tsx
  • src/components/common/ui/button/button.stories.tsx
  • src/components/common/ui/button/index.tsx
  • src/components/common/ui/editor/extensions.ts
  • src/components/common/ui/editor/image-utils.ts
  • src/components/common/ui/editor/markdown-content-assets.ts
  • src/components/common/ui/editor/markdown-content.tsx
  • src/components/common/ui/editor/markdown-editor.tsx
  • src/components/common/ui/editor/markdown-sanitizer.ts
  • src/components/common/ui/editor/markdown-table-utils.ts
  • src/components/common/ui/editor/mermaid-renderer.ts
  • src/components/common/ui/editor/toolbar.tsx
  • src/components/common/ui/editor/use-active-code-block-control.ts
  • src/components/common/ui/editor/use-image-upload.ts
  • src/components/common/ui/editor/youtube-utils.test.ts
  • src/components/common/ui/editor/youtube-utils.ts
  • src/components/common/ui/floating-class-action-buttons.tsx
  • src/components/common/ui/floating-inquiry-button.tsx
  • src/components/common/ui/icons/course-icons.tsx
  • src/components/common/ui/loading-skeleton.tsx
  • src/components/common/ui/rich-text/markdown-content-core.tsx
  • src/components/common/ui/text-field/index.tsx
  • src/components/common/ui/text-field/text-field.stories.tsx
  • src/components/common/ui/tooltip/index.tsx
  • src/components/contents/payment-page-content.tsx
  • src/components/forms/landing.tsx
  • src/components/group-study/discussion/channel/comment-input.tsx
  • src/components/group-study/discussion/channel/comment-reaction.tsx
  • src/components/group-study/discussion/channel/comment-section.tsx
  • src/components/group-study/discussion/channel/comment.tsx
  • src/components/group-study/discussion/channel/create-post.tsx

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants