Skip to content

[OT-347] [FIX, REFACTOR]: 1차 리팩토링 마무리 + AI card 수정 + pip playback 호출 수정#147

Merged
joooii merged 39 commits intodevelopfrom
OT-347-refactor/first-refactoring
Mar 19, 2026
Merged

[OT-347] [FIX, REFACTOR]: 1차 리팩토링 마무리 + AI card 수정 + pip playback 호출 수정#147
joooii merged 39 commits intodevelopfrom
OT-347-refactor/first-refactoring

Conversation

@joooii
Copy link
Copy Markdown
Member

@joooii joooii commented Mar 18, 2026

📝 작업 내용

  • api 상수화 및 파일명 컨벤션 통일

  • 불필요한 파일, 폴더 제거

  • store -> shared 하위폴더로 이동

  • @base-component 제거 후 @shared/components로 통일

  • ai card 숨김 처리 시, 다음 캐러셀이 첫 화면에 보이게 수정

  • ai card subtitle 최대 2줄로 들어옴에 따라 ! , . ? 과 같은 기호 기준으로 split 되도록 수정

  • pip playback 호출 오류 수정 (pip 의 우측상단 X 버튼 눌러도 호출되도록 수정)

  • 숏폼 자동시작, seek bar 기능 추가

📷 스크린샷

  • ai card
ai.card.mov

🖥️ 주요 코드 설명

☑️ 체크 리스트

체크 리스트를 확인해주세요

  • 테스트는 잘 통과했나요?
  • 충돌을 해결했나요?
  • 이슈는 등록했나요?
  • 라벨은 등록했나요?

#️⃣ 연관된 이슈

ex) # 이슈번호

💬 리뷰 요구사항

고봉밥 pr 양해해주세요.. ai card 쪽 커밋만 봐주셔도 무방할 것 같습니다. 나머지는 전부 리팩토링이라 file change가 많아서요

joooii added 30 commits March 18, 2026 21:45
@joooii joooii requested review from RyuJaeHwi and hyunw-kang March 18, 2026 18:55
@joooii joooii self-assigned this Mar 18, 2026
@joooii joooii added fix 버그 수정 refactor 코드 구조 개선 (기능 변화 없음) labels Mar 18, 2026
@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 18, 2026

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

Project Deployment Actions Updated (UTC)
frontend Ready Ready Preview, Comment Mar 19, 2026 1:55am

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 18, 2026

Important

Review skipped

Too many files!

This PR contains 188 files, which is 38 over the limit of 150.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 1e487085-49e7-41bc-9dbd-2eb694cdf0f6

📥 Commits

Reviewing files that changed from the base of the PR and between 1d411a8 and 973d186.

📒 Files selected for processing (188)
  • .prettierrc
  • src/app/auth/page.tsx
  • src/app/auth/userinfo/page.tsx
  • src/app/contents/[mediaId]/episode/[episodeId]/page.tsx
  • src/app/contents/[mediaId]/page.tsx
  • src/app/custom/page.tsx
  • src/app/help/page.tsx
  • src/app/layout.tsx
  • src/app/mypage/dashboard/page.tsx
  • src/app/mypage/myreviews/page.tsx
  • src/app/mypage/page.tsx
  • src/app/mypage/profile/page.tsx
  • src/app/mypage/withdraw/page.tsx
  • src/app/policy/privacy/page.tsx
  • src/app/policy/terms/page.tsx
  • src/app/search/page.tsx
  • src/app/shorts/[id]/page.tsx
  • src/app/shorts/page.tsx
  • src/entities/auth/api/deleteWithdrawApi.ts
  • src/entities/auth/api/getCategoryApi.ts
  • src/entities/auth/api/postLogoutApi.ts
  • src/entities/auth/api/postPreferredTagsApi.ts
  • src/entities/auth/api/postSkipTagApi.ts
  • src/entities/bookmark/api/getBookmarkApi.ts
  • src/entities/bookmark/api/postBookmarkApi.ts
  • src/entities/custom/apis/getRadar.ts
  • src/entities/custom/apis/getRadarApi.ts
  • src/entities/custom/apis/getRadarRecommend.ts
  • src/entities/custom/apis/getRadarRecommendApi.ts
  • src/entities/custom/apis/index.ts
  • src/entities/custom/apis/putRadar.ts
  • src/entities/custom/apis/putRadarApi.ts
  • src/entities/custom/constants/presets.ts
  • src/entities/custom/hooks/usePutRadar.ts
  • src/entities/custom/hooks/useRadar.ts
  • src/entities/custom/hooks/useRadarRecommend.ts
  • src/entities/dashboard/api/getTagMonthlyStatsApi.ts
  • src/entities/dashboard/api/getTagRankingsApi.ts
  • src/entities/dashboard/api/getTagRecommendPlaylistApi.ts
  • src/entities/dashboard/api/index.ts
  • src/entities/dashboard/hooks/useTagMonthlyStats.ts
  • src/entities/dashboard/hooks/useTagRanking.ts
  • src/entities/dashboard/hooks/useTagRecommendPlaylist.ts
  • src/entities/home/apis/getHistoryListApi.ts
  • src/entities/home/apis/getMoodCard.ts
  • src/entities/home/apis/getMoodCardApi.ts
  • src/entities/home/apis/getTagsTopApi.ts
  • src/entities/home/apis/getTrendingListApi.ts
  • src/entities/home/apis/index.ts
  • src/entities/home/apis/patchMoodHide.ts
  • src/entities/home/apis/patchMoodHideApi.ts
  • src/entities/home/components/AiCardSlide.tsx
  • src/entities/home/components/CustomRecommendCarousel.tsx
  • src/entities/home/components/HistoryCarousel.tsx
  • src/entities/home/components/MainCarousel.tsx
  • src/entities/home/components/RecommendCarousel.tsx
  • src/entities/home/components/RecommendTagsCarousel.tsx
  • src/entities/home/hooks/useHideMood.ts
  • src/entities/home/hooks/useHistoryList.ts
  • src/entities/home/hooks/useMoodCard.ts
  • src/entities/home/hooks/useTrendingList.ts
  • src/entities/likes/api/index.ts
  • src/entities/likes/api/likes.ts
  • src/entities/likes/api/postLikesApi.ts
  • src/entities/likes/hooks/useLikes.ts
  • src/entities/myreview/api/deleteMyReviewApi.ts
  • src/entities/myreview/api/getMyReviewsApi.ts
  • src/entities/myreview/api/index.ts
  • src/entities/myreview/api/myreviewDeleteApi.ts
  • src/entities/myreview/hooks/useDeleteMyreview.ts
  • src/entities/myreview/hooks/useMyreviews.ts
  • src/entities/player/api/index.ts
  • src/entities/player/api/playbackApi.ts
  • src/entities/player/api/putPlaybackApi.ts
  • src/entities/player/api/putWatchHistoryApi.ts
  • src/entities/player/api/watchHistoryApi.ts
  • src/entities/player/hooks/usePlayback.ts
  • src/entities/profile/api/editprofile.ts
  • src/entities/profile/api/getMemberProfileApi.ts
  • src/entities/profile/api/index.ts
  • src/entities/profile/api/patchMemberProfileApi.ts
  • src/entities/profile/api/userinfo.ts
  • src/entities/profile/hooks/useEditProfile.ts
  • src/entities/profile/hooks/useMemberProfile.ts
  • src/entities/recenthistory/api/getRecentHistoryApi.ts
  • src/entities/recenthistory/api/index.ts
  • src/entities/recenthistory/hooks/useRecentHistory.ts
  • src/entities/review/api/getReviewListApi.ts
  • src/entities/review/api/index.ts
  • src/entities/review/api/patchEditReviewApi.ts
  • src/entities/review/api/postReviewApi.ts
  • src/entities/review/api/review.ts
  • src/entities/review/hooks/useEditReview.ts
  • src/entities/review/hooks/useReviewList.ts
  • src/entities/review/hooks/useWriteReview.ts
  • src/entities/search/api/getSearchApi.ts
  • src/entities/search/api/getSearchPlaylistApi.ts
  • src/entities/search/api/index.ts
  • src/entities/search/components/SearchInput.tsx
  • src/entities/search/hooks/useSearch.ts
  • src/entities/shorts/api/getShortListsApi.ts
  • src/entities/shorts/api/index.ts
  • src/entities/shorts/api/postShortsCta.ts
  • src/entities/shorts/api/postShortsCtaApi.ts
  • src/entities/shorts/api/postShortsEvents.ts
  • src/entities/shorts/api/postShortsEventsApi.ts
  • src/entities/shorts/components/ShortsActionButtons.tsx
  • src/entities/video-contents/api/getContentsDetailApi.ts
  • src/entities/video-contents/api/getSeriesDetailApi.ts
  • src/entities/video-contents/api/getSeriesEpisodesListApi.ts
  • src/entities/video-contents/api/index.ts
  • src/entities/video-contents/components/ContentsMainSection.tsx
  • src/entities/video-contents/components/EpisodeSideSection.tsx
  • src/entities/video-contents/components/ReviewSection.tsx
  • src/entities/video-contents/components/SingleSideSection.tsx
  • src/entities/video-contents/hooks/useContentsDetail.ts
  • src/entities/video-contents/hooks/usePlaylist.ts
  • src/entities/video-contents/hooks/useSeriesDetail.ts
  • src/entities/video-contents/hooks/useSeriesEpisodeList.ts
  • src/entities/withdraw-recommends/api/getWithdrawRecommendsContentsApi.ts
  • src/entities/withdraw-recommends/api/index.ts
  • src/entities/withdraw-recommends/hooks/useWithdrawContents.ts
  • src/features/auth/components/Header/HeaderButton.tsx
  • src/features/auth/components/Header/HeaderNoButton.tsx
  • src/features/auth/components/Interest/ButtonInterest.tsx
  • src/features/auth/components/Interest/ButtonSkip.tsx
  • src/features/auth/components/Main/MainSection.tsx
  • src/features/auth/components/login/LoginContent.tsx
  • src/features/bookmark/components/BookmarkContentList.tsx
  • src/features/bookmark/components/BookmarkShortsList.tsx
  • src/features/custom/components/PreviewModal.tsx
  • src/features/custom/components/RadarChart.tsx
  • src/features/dashboard/components/DashboardContentBox.tsx
  • src/features/dashboard/components/DashboardContentList.tsx
  • src/features/dashboard/components/TagStatsModalList.tsx
  • src/features/mypage/components/UserMenuButtons.tsx
  • src/features/mypage/components/useInfiniteScrollInModal.ts
  • src/features/myreviews/components/MyReviewList.tsx
  • src/features/player/components/FloatingPlayer.tsx
  • src/features/player/components/VideoPlayer.tsx
  • src/features/profile/components/AccountActionButtons.tsx
  • src/features/profile/components/FinishEditButton.tsx
  • src/features/profile/components/ProfileEditor.tsx
  • src/features/recent-history/components/RecentContentList.tsx
  • src/features/shorts/components/ShortsContainer.tsx
  • src/features/shorts/components/ShortsPlayer.tsx
  • src/features/withdraw/components/WithdrawButton.tsx
  • src/features/withdraw/components/WithdrawContentList.tsx
  • src/libs/.gitkeep
  • src/proxy.ts
  • src/shared/components/ConfirmModal.tsx
  • src/shared/components/UserInitializer.tsx
  • src/shared/components/index.ts
  • src/shared/constants/api.ts
  • src/shared/constants/index.ts
  • src/shared/lib/formatTime.ts
  • src/shared/lib/index.ts
  • src/shared/mocks/mockAiCardList.ts
  • src/shared/mocks/mockDashboardcontent.ts
  • src/shared/mocks/mockRecent.ts
  • src/shared/mocks/mockReview.ts
  • src/shared/mocks/mockReviews.ts
  • src/shared/mocks/mockUser.ts
  • src/shared/mocks/mockbookmarkcontent.ts
  • src/shared/mocks/mockbookmarkshorts.ts
  • src/shared/mocks/mockwithdrawcontent.ts
  • src/shared/store/autoPlayStore.ts
  • src/shared/store/index.ts
  • src/shared/store/pipStore.ts
  • src/shared/store/userStore.ts
  • src/shared/types/admin/adminContents.ts
  • src/shared/types/admin/adminPublic.ts
  • src/shared/types/admin/index.ts
  • src/shared/types/category.ts
  • src/shared/types/contents.ts
  • src/shared/types/dashboard.ts
  • src/shared/types/index.ts
  • src/shared/types/mypage/bookmark.ts
  • src/shared/types/mypage/index.ts
  • src/shared/types/mypage/recenthistory.ts
  • src/shared/types/mypage/withdrawcontent.ts
  • src/shared/types/player/index.ts
  • src/shared/types/shorts.ts
  • src/shared/types/tags.ts
  • src/shared/types/video-contents/contents.ts
  • src/shared/types/video-contents/review.ts
  • src/shared/types/videoFileMeta.ts
  • tsconfig.json

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 OT-347-refactor/first-refactoring
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Copy link
Copy Markdown
Contributor

@RyuJaeHwi RyuJaeHwi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

@joooii joooii changed the title [OT-347] [FIX, REFACTOR]: 1차 리팩토링 마무리 + AI card 수정 [OT-347] [FIX, REFACTOR]: 1차 리팩토링 마무리 + AI card 수정 + pip playback 호출 수정 Mar 19, 2026
@joooii joooii merged commit 022de45 into develop Mar 19, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix 버그 수정 refactor 코드 구조 개선 (기능 변화 없음)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants