Type something to search...

10. Category, ErrorPage 완성하기

요약

Gemini CLI로 구현하기 — Category 페이지네이션 & ErrorPage

  1. npx gemini
  2. 1
    src/components/Category.jsx와 ErrorPage.jsx를 작성해줘. Category는 useParams로 type(now_playing, popular, top_rated)을 받아서 TMDB API movie/[type]?page=[page]를 호출하고, 이전/다음 버튼으로 페이지네이션을 구현해줘. 최대 페이지는 [최대 페이지 수]으로 제한해줘. ErrorPage는 404 메시지와 홈으로 돌아가기 Link를 포함해줘.
  3. 사용 가이드: [최대 페이지 수]를 원하는 숫자(기본: 20)로 바꾼다. 카테고리 한글 이름이 필요하면 프롬프트에 “카테고리 키를 한글로 변환하는 매핑 객체도 추가해줘”를 덧붙인다.

1. 이번 편에서 만들 것

컴포넌트기능
ErrorPage404 등 존재하지 않는 URL 처리
Category카테고리별 영화 목록 + 페이지네이션

2. ErrorPage — 에러 페이지

src/components/ErrorPage.jsx 파일을 열고 임시 코드를 모두 지운 뒤 아래로 교체한다. 존재하지 않는 URL로 접속했을 때 보여주는 페이지이다.

src/components/ErrorPage.jsx
1
import { Link } from "react-router";
2
3
export function ErrorPage() {
4
return (
5
<div className="bg-black min-h-screen flex flex-col items-center justify-center text-center px-6">
6
<h1 className="text-8xl font-bold text-yellow-400">404</h1>
7
<p className="text-white text-2xl mt-4">페이지를 찾을 수 없습니다</p>
8
<p className="text-gray-400 mt-2">요청하신 페이지가 존재하지 않거나 이동되었습니다.</p>
9
<Link
10
to="/"
11
className="mt-8 bg-yellow-400 text-black px-6 py-3 rounded-lg font-bold hover:bg-yellow-300 transition-colors"
12
>
13
홈으로 돌아가기
14
</Link>
15
</div>
16
);
17
}
설명
1Link로 홈 페이지 이동 버튼을 만든다.
6상태 코드 404를 고정으로 표시한다.
11-15to="/" — 버튼 클릭 시 홈으로 이동한다.

3. Category — 카테고리 + 페이지네이션

src/components/Category.jsx 파일을 열고 임시 코드를 모두 지운 뒤 작성한다. 이 컴포넌트는 “인기 영화”, “현재 상영작” 등 카테고리별 영화 목록을 보여주는 페이지이다. 한 페이지에 20편씩 표시하고, “이전”/“다음” 버튼으로 책장을 넘기듯 다른 페이지를 볼 수 있다.


4. 전체 코드