Skip to content
Closed
Show file tree
Hide file tree
Changes from 86 commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
8d619ba
[SETTING] Next.js 프로젝트 초기세팅
waldls Apr 28, 2026
43c895b
#1 [DEPLOY] Vercel 프리뷰 및 master 자동 배포 파이프라인 설정
waldls Apr 28, 2026
dd0c4f5
#1 [CHORE] PR 템플릿 불릿 일부 제거
waldls Apr 28, 2026
d056f0d
Merge pull request #2 from Hi-Five-Official/feature/#1-deploy
waldls Apr 28, 2026
f28f45b
#3 [SETTING] Gemini PR 리뷰 가이드라인 문서 작성
waldls Apr 28, 2026
892da14
#5 [FEAT] 아이콘 svg 파일 추가 및 컴포넌트로 export
waldls Apr 28, 2026
30c0700
#5 [REFACTOR] 아이콘 폴더 src/ 아래로 이동 및 누락된 아이콘 추가
waldls Apr 28, 2026
4df2061
#5 [FEAT] clsx, tailwind-mege 설치 및 cn 유틸 추가
waldls Apr 28, 2026
ba590af
#5 [FEAT] 사이트 OpenGraph 설정
waldls Apr 28, 2026
d97b866
#5 [FEAT] eslint-plugin-simple-import-sort 설치 및 정렬 포맷팅
waldls Apr 28, 2026
27a0991
#5 [FEAT] 하단 내브바, 홈 인디케이터 컴포넌트 구현 및 연결
waldls Apr 28, 2026
fabdd94
#6 [FEAT] 디자인 시스템 구축
KOJ50 Apr 28, 2026
b2b4846
#6 [REFACTOR] 타이포그래피 스케일 리팩토링
KOJ50 Apr 28, 2026
8be527e
#6 [FIX] 폰트 미적용 오류 해결
KOJ50 Apr 28, 2026
172feb7
Merge pull request #4 from Hi-Five-Official/feature/#3-gemini_code_as…
KOJ50 Apr 28, 2026
120324c
Merge pull request #7 from Hi-Five-Official/feature/#6-design_system
KOJ50 Apr 28, 2026
32afebd
Merge branch 'master' of https://github.com/Hi-Five-Official/next-net…
waldls Apr 28, 2026
635db76
#5 [REFACTOR] 하단 내브바 구현 및 랜딩페이지에서는 null 처리
waldls Apr 28, 2026
9327de6
#5 [FEAT] 헤더 구현 및 홈페이지에 연결
waldls Apr 28, 2026
a9204c1
#5 [CHORE] 로고에 cursor-pointer 추가
waldls Apr 28, 2026
b61e7b5
#5 [FEAT] 헤더 및 하단 내브바 hover 트랜지션 추가
waldls Apr 28, 2026
323121a
#5 [FIX] filled -> fill로 아이콘 접미사 변경
waldls Apr 28, 2026
3943e36
Merge pull request #8 from Hi-Five-Official/feature/#5-common-layout
waldls Apr 28, 2026
30e59fd
[DEL] Gemini 스타일가이드 문서 제거
waldls Apr 29, 2026
97370df
#9 [FEAT] fetch 인스턴스용 tmdbClient 구현
waldls Apr 29, 2026
8073d8a
#9 [MOVE] apis, utils 폴더 lib/ 아래로 이동
waldls Apr 29, 2026
c804dc3
#9 [FEAT] 홈페이지 상단 top10 정보 API 함수 구현
waldls Apr 29, 2026
1177269
#9 [FEAT] 홈페이지 상단 API 연동
waldls Apr 29, 2026
4f30fbd
#9 [CHORE] 버튼 컴포넌트 hover 스타일 추가
waldls Apr 29, 2026
df19927
#9 [REFACTOR] 컨테이너 구조 수정
waldls Apr 29, 2026
60c2e1d
#10 [Chore] lottie-react 라이브러리 설치
KOJ50 Apr 29, 2026
e9fcc54
#10 [ADD] lottie 애니메이션 파일 추가
KOJ50 Apr 29, 2026
54971a0
#9 [FEAT] getPopularMovies 함수 구현 및 타입 정의
waldls Apr 29, 2026
2fdbad0
#9 [FEAT] PreviewSection API 연동
waldls Apr 29, 2026
f163950
#9 [FEAT] 마우스 드래그 스크롤 훅으로 분리 및 전역 loading.tsx 스피너 추가
waldls Apr 29, 2026
a1beaf2
#9 [FEAT] 드래그 스크롤 관성 효과 추가
waldls Apr 29, 2026
ea3a0b3
#9 [FEAT] tmdbClient에 try-catch 에러 로깅 추가
waldls Apr 29, 2026
6c8bbe3
#9 [CHORE] 배포 트리거용 빈커밋
waldls Apr 29, 2026
0a11afa
#9 [FIX] next.config 이미지 hostname 빌드 에러 수정
waldls Apr 29, 2026
0a989d6
#9 [FIX] preview.yml 문서 수정
waldls Apr 29, 2026
0822b71
#10 [FEAT] lottie 애니메이션 재생
KOJ50 Apr 29, 2026
b4fe58a
#10 [FEAT] 접속 시 애니메이션 재생 및 home 페이지로 이동
KOJ50 Apr 29, 2026
2391417
#10 [MOVE] 애니메이션 파일 public 폴더로 이동
KOJ50 Apr 29, 2026
e6c461a
#10 [ADD] audio 파일 추가
KOJ50 Apr 29, 2026
ebead76
#10 [FEAT] 버튼 클릭 시 home 페이지로 이동
KOJ50 Apr 29, 2026
4dcc918
#9 [CHORE] 커서 모양 변경 및 아이콘 호버 컬러 변경
waldls Apr 29, 2026
57c955a
#10 [CHORE] 버튼 이미지 경로 수정
KOJ50 Apr 29, 2026
261b93d
#10 [MOD] Coding Convention에 맞게 수정
KOJ50 Apr 29, 2026
6f70f60
#10 [REFACTOR] 로티 파일 및 사운드 폴더화 및 로고 호버액션 추가
waldls Apr 29, 2026
0ef2de8
Merge pull request #12 from Hi-Five-Official/feature/#10-landing_page
waldls Apr 29, 2026
bbf96d4
Merge pull request #11 from Hi-Five-Official/feature/#9-homepage-top10
waldls Apr 29, 2026
fb89536
#13 [ADD] 공통 UI 컴포넌트 생성
KOJ50 Apr 30, 2026
f736623
#13 [FEAT] 카테고리별 api 함수 생성
KOJ50 Apr 30, 2026
77ab896
#13 [FEAT] 응답타입 추가 및 카테고리별 api 함수 응답 타입 수정
KOJ50 Apr 30, 2026
181658e
#14 [FEAT] NotFound 페이지 UI 구현
waldls Apr 30, 2026
4b8cc8c
#13 [FEAT] 공통 카드 목록 구현
KOJ50 Apr 30, 2026
a98b6d5
#14 [CHORE] 버튼 호버 색상 및 margin top 값 축소
waldls Apr 30, 2026
3932d7f
#13 [FEAT] Carousel 연결 및 제목 보여주기
KOJ50 Apr 30, 2026
7709bde
#13 [FEAT] 홈페이지공통 섹션 연결
KOJ50 Apr 30, 2026
c487a3a
#13 [FIX] MediaCardCarousel alt 속성 오류 수정
KOJ50 Apr 30, 2026
6353e84
#13 [FIX] 홈 페이지 하단 콘텐츠 스크롤 영역 수정
KOJ50 Apr 30, 2026
dbfa660
#13 [REFACTOR] 홈 섹션별 데이터 패칭 구조 분리
KOJ50 Apr 30, 2026
ec1c980
#13 [REFACTOR] 카드 크기 조절을 위한 size props 분리 및 UI 수정
KOJ50 Apr 30, 2026
4852c3b
#13 [MOD] 불필요한 async 삭제
KOJ50 Apr 30, 2026
4f17a85
Merge pull request #15 from Hi-Five-Official/feature/#13-home_page_se…
KOJ50 Apr 30, 2026
7c044be
Merge pull request #16 from Hi-Five-Official/feature/#14-notfound-ui
waldls Apr 30, 2026
9563635
#17 [FEAT] 전역으로 Y축 스크롤 숨기도록 구현
waldls May 1, 2026
8046b7e
#17 [REFACTOR] 각 섹션 안에서 API 함수 호출하도록 수정
waldls May 1, 2026
a232fe4
#17 [REFACTOR] 홈페이지 구조 개선
waldls May 1, 2026
12791c3
#17 [CHORE] 헤더 스티키하게 변경
waldls May 1, 2026
839f532
#17 [MOVE] 헤더 공통컴포넌트로 이동
waldls May 1, 2026
5710fc6
#17 [FEAT] 상세 페이지 API 연결 및 동적 라우팅
waldls May 1, 2026
07b702f
#17 [REFACTOR] react swiper 설치 및 home, detail 도메인으로 분리
waldls May 1, 2026
72455a1
#17 [FIX] BottomNavBar 가려지는 현상 해결
waldls May 1, 2026
30b37f5
#17 [REFACTOR] 트렌딩 커러셀 현재 아이템 기반 상세 페이지 이동 구현
waldls May 1, 2026
5ff0b27
#17 [CHORE] 상수 분리 및 불필요한 파일 제거
waldls May 1, 2026
b0ad129
#17 [FEAT] 로티 dynamic import로 ssr 오류 해결 및 tmdb api 응답 시간 1시간 revalida…
waldls May 1, 2026
0243979
#17 [CHORE] import 순서 수정
waldls May 1, 2026
b21a06e
#17 [REFACTOR] TrendingCarousel을 TrendingHero로 분리 및 서버 컴포넌트 구조 개선
waldls May 1, 2026
a72006b
#17 [REFACTOR] 유틸 함수로 로직 적용
waldls May 1, 2026
cb1fc3a
Merge pull request #18 from Hi-Five-Official/feature/#17-refactor
waldls May 1, 2026
61eab01
#19 [FEAT] 상세 페이지 UI 구현
waldls May 3, 2026
5220ffa
#19 [REFACTOR] 상세 페이지 구조 분리
waldls May 3, 2026
0d1b969
#19 [CHORE] 검색 페이지 더미로 연결
waldls May 3, 2026
55e7492
#19 [REFACTOR] Preview 대신 영화 타이틀으로 변경
waldls May 3, 2026
2b8d7da
Merge pull request #20 from Hi-Five-Official/feature/#19-detail-ui
waldls May 3, 2026
ac525eb
#21 [FEAT] Tanstack query 설치
KOJ50 May 5, 2026
dea37cf
#21 [FEAT] 검색 API 함수 생성
KOJ50 May 5, 2026
5e570c8
#22 [SETTING] Webpack -> Turbopack 마이그레이션
waldls May 5, 2026
e8909b8
#22 [REFACTOR] Z-index 디자인 시스템화
waldls May 5, 2026
0fe0851
#22 [FEAT] 상세 동적 페이지 OG 메타데이터 추가
waldls May 5, 2026
6a971d8
#22 [REFACTOR] 인트로 페이지 전환 로직을 onComplete 콜백으로 변경
waldls May 5, 2026
4676a3c
#22 [CHORE] 옵셔널 체이닝 기본값 처리
waldls May 5, 2026
e42e02f
#22 [FIX] 인프로 페이지 언마운트 시 오디오 클린업 처리 추가
waldls May 5, 2026
d6657c9
#21 [FEAT] 공통 검색 섹션 UI 및 page 구현
KOJ50 May 5, 2026
508199f
#21 [FEAT] 무한 스크롤 구현
KOJ50 May 6, 2026
b5c1dd8
#21 [FEAT] 중복 데이터 제거 로직 추가 및 사용하지 않는 props 제거
KOJ50 May 6, 2026
3854aa7
#21 [MOD] 아이콘 및 링크 수정
KOJ50 May 6, 2026
5540a2b
Merge pull request #23 from Hi-Five-Official/feature/#22-refactoring
waldls May 6, 2026
82932b8
#21 [MOD] 제목 길이에 따른 말줄임표 사용 및 스크롤 영역 수정
KOJ50 May 6, 2026
2600e28
#21 [MOD] 스크롤 맨 아래 도착 시 데이터 불러오기
KOJ50 May 6, 2026
3bc5d87
#21 [MOD] Item 컴포넌트 하나로 통합
KOJ50 May 6, 2026
7562a6b
#21 [FIX] 충돌 해결
waldls May 6, 2026
a1ef922
Merge pull request #24 from Hi-Five-Official/feature/#21-search-ui
waldls May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .gemini/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
have_fun: false
memory_config:
disabled: false
code_review:
disable: false
comment_severity_threshold: MEDIUM
max_review_comments: -1
pull_request_opened:
help: false
summary: false
code_review: true
include_drafts: true
ignore_patterns: []
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/issue-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: "[FEAT] "
about: 기능 생성
title: "[FEAT] "
labels: ""
assignees: ""
---

### 📝 Description

- 구현할 내용 1
- 구현할 내용 2

---

### 📝 Todo

- [ ] 구현할 내용 1
- [ ] 구현할 내용 2
33 changes: 33 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

PR 템플릿까지 신경쓰신 점이 너무 좋은 것 같습니다 !

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## 📢 PR 유형

어떤 변경 사항이 있었나요?

- [ ] 새로운 기능 추가
- [ ] 버그 수정
- [ ] 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경)
- [ ] 코드 리팩토링
- [ ] 주석 추가 및 수정
- [ ] 문서 수정
- [ ] 빌드 부분 혹은 패키지 매니저 수정
- [ ] 파일 혹은 폴더명 수정
- [ ] 파일 혹은 폴더 삭제

---

## 📌 관련 이슈번호

- Closed #

---

## ✅ Key Changes

---

## 📸 스크린샷 or 실행영상

<!-- 이해하기 쉽도록 스크린샷을 첨부해주세요. -->

---

## 🎸 기타 사항 or 추가 코멘트
32 changes: 32 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Deploy

on:
push:
branches: ["master"]

jobs:
build:
runs-on: ubuntu-latest

container: pandoc/latex

steps:
- uses: actions/checkout@v2
- name: Install mustache (to update the date)
run: apk add ruby && gem install mustache
- name: creates output
run: sh ./build.sh
- name: Pushes to another repository
id: push_directory
uses: cpina/github-action-push-to-another-repository@main
env:
API_TOKEN_GITHUB: ${{ secrets.AUTO_ACTIONS }}
with:
source-directory: "output"
destination-github-username: waldls
destination-repository-name: next-netflix-23rd
user-email: ${{ secrets.EMAIL }}
commit-message: ${{ github.event.commits[0].message }}
target-branch: master
- name: Test get variable exported by push-to-another-repository
run: echo $DESTINATION_CLONED_DIRECTORY
47 changes: 47 additions & 0 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Preview

on:
pull_request:
branches: ["master"]

jobs:
vercel-preview:
runs-on: ubuntu-latest

env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}

steps:
- uses: actions/checkout@v4
- name: Install Vercel CLI
run: npm install --global vercel@latest && npm install --global pnpm
- name: Get Vercel Environment Variables
run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }}
- name: Build Project Artifacts
run: vercel build --token=${{ secrets.VERCEL_TOKEN }}
env:
NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}
NEXT_PUBLIC_API_KEY: ${{ secrets.NEXT_PUBLIC_API_KEY }}
NEXT_PUBLIC_IMAGE_BASE_URL: ${{ secrets.NEXT_PUBLIC_IMAGE_BASE_URL }}
- name: Deploy Project Artifacts to Vercel
id: deploy

run: |

vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} > vercel-output.txt
echo "preview_url=$(cat vercel-output.txt)" >> $GITHUB_OUTPUT

- name: Comment PR with Preview URL
uses: thollander/actions-comment-pull-request@v2
with:
message: |
✅ PREVIEW ${{ steps.deploy.outputs.preview_url }}

permissions:
contents: read
pages: write
deployments: write
id-token: write
issues: write
pull-requests: write
44 changes: 44 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
.env
.vercel
.env*.local
2 changes: 2 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/sh
pnpm exec lint-staged
11 changes: 11 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"arrowParens": "avoid",
"endOfLine": "auto",
"printWidth": 100,
"semi": true,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "all",
"useTabs": false,
"plugins": ["prettier-plugin-tailwindcss"]
}
7 changes: 7 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}
7 changes: 7 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<!-- BEGIN:nextjs-agent-rules -->

# This is NOT the Next.js you know

This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices.

<!-- END:nextjs-agent-rules -->
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@
### 👥 Research Question

- 전반적인 협업 과정에 대해 알려주세요. 👏🏻 <br/>
(프로젝트에서 해당 패키지 매니저를 선택한 이유, 파일 구조 컨벤션을 어떻게 지켰는지, <br/>업무 분담과 소통 방식은 어떻게 진행했는지를 함께 정리해 주세요. 21기, 22기 PR을 참고하시면 좋습니다!)

(프로젝트에서 해당 패키지 매니저를 선택한 이유, 파일 구조 컨벤션을 어떻게 지켰는지, <br/>업무 분담과 소통 방식은 어떻게 진행했는지를 함께 정리해 주세요. 21기, 22기 PR을 참고하시면 좋습니다!)

### 🔑 Review Questions

Expand All @@ -53,26 +52,32 @@
---

### **🔗 링크 및 참고자료**

(React)

- [useCallback과 React.Memo를 이용한 렌더링 최적화](https://velog.io/@yejinh/useCallback%EA%B3%BC-React.Memo%EC%9D%84-%ED%86%B5%ED%95%9C-%EB%A0%8C%EB%8D%94%EB%A7%81-%EC%B5%9C%EC%A0%81%ED%99%94)
- [성능 최적화](https://ui.toast.com/fe-guide/ko_PERFORMANCE)
- [React 18의 새로운 기능](https://www.youtube.com/watch?v=7mkQi0TlJQo)
- [react 서버 컴포넌트가 해결하는 문제들 in kakao 기술 블로그](https://tech.kakaopay.com/post/react-server-components/)

(Vercel)

- [vercel의 배포 방식](https://www.youtube.com/watch?v=8q-jCvLWwKc&t=11s)
- [조직 레포를 우회해 무료 배포하는 법](https://bori-note.tistory.com/73)

(랜딩페이지 Netflix 로고)

- [랜딩페이지 영상](https://lottiefiles.com/free-animation/netflix-logo-swoop-6nEmnysrGE)

(Next.js)

- [Next.js Docs](https://nextjs.org/docs)
- [Next.js 13에서 변한 것들](https://velog.io/@hang_kem_0531/Next.js-13%EC%9D%B4-%EB%82%98%EC%99%80%EB%B2%84%EB%A0%B8%EB%8B%A4)
- [Next.js 14에서 변한 것들](https://velog.io/@lee_1124/Next.js-14-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8)
- [Next.js 15, 16](https://beam307.github.io/2026/03/18/nextjs16-vs15/)
- [React & Next.js에서 발견된 취약점-(CVE-2025-55182(React2Shell)](https://news.hada.io/topic?id=24874)

(협업)

- [Git 협업 가이드](https://velog.io/@jinuku/Git-%ED%98%91%EC%97%85-%EA%B0%80%EC%9D%B4%EB%93%9C)
- [디자이너와 개발자가 협업하기 위한 피그마 기본 기능](https://chingguhl.tistory.com/entry/%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EA%BC%AD-%EC%95%8C%EC%95%84%EC%95%BC-%ED%95%A0-%ED%94%BC%EA%B7%B8%EB%A7%88-10%EA%B0%80%EC%A7%80-%EA%B8%B0%EB%8A%A5-%EB%94%94%EC%9E%90%EC%9D%B4%EB%84%88%EC%99%80-%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%ED%98%91%EC%97%85%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-%ED%94%BC%EA%B7%B8%EB%A7%88-%EA%B8%B0%EB%B3%B8-%EA%B8%B0%EB%8A%A5)
5 changes: 5 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh
cd ../
mkdir output
cp -R ./next-netflix-23rd/* ./output
cp -R ./output ./next-netflix-23rd/
26 changes: 26 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";
import prettierConfig from "eslint-config-prettier";
import prettierPlugin from "eslint-plugin-prettier";
import simpleImportSort from "eslint-plugin-simple-import-sort";

const eslintConfig = defineConfig([
...nextVitals,
nextTs,
{
plugins: {
prettier: prettierPlugin,
"simple-import-sort": simpleImportSort,
},
rules: {
"prettier/prettier": "error",
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error",
},
},
prettierConfig,
globalIgnores([".next/**", "out/**", "build/**", "next-env.d.ts"]),
]);

export default eslintConfig;
21 changes: 21 additions & 0 deletions next.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import type { NextConfig } from "next";

const nextConfig: NextConfig = {
images: {
remotePatterns: [
{
protocol: "https",
hostname: "image.tmdb.org",
},
],
},
webpack(config) {
config.module.rules.push({
test: /\.svg$/,
use: [{ loader: "@svgr/webpack", options: { dimensions: false } }],
});
return config;
},
};

export default nextConfig;
46 changes: 46 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"name": "next-netflix-23rd",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev --webpack",
"build": "next build --webpack",
"start": "next start",
"lint": "eslint . --ext .js,.ts,.tsx --fix",
"prepare": "husky install",
"prettier": "prettier --write ."
},
"lint-staged": {
"*.{ts,tsx,js,json,css,md}": [
"eslint --fix",
"prettier --write"
]
},
"dependencies": {
"clsx": "^2.1.1",
"lottie-react": "^2.4.1",
"next": "16.2.4",
"react": "19.2.4",
"react-dom": "19.2.4",
"swiper": "^12.1.4",
"tailwind-merge": "^3.5.0"
},
"devDependencies": {
"@svgr/webpack": "^8.1.0",
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "16.2.4",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-simple-import-sort": "^13.0.0",
"husky": "^8.0.0",
"lint-staged": "^16.4.0",
"prettier": "^3.8.3",
"prettier-plugin-tailwindcss": "^0.8.0",
"tailwindcss": "^4",
"typescript": "^5"
}
}
Loading