diff --git a/package.json b/package.json index c40d2e3..f779ea3 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "format": "prettier --write .", "test": "jest", "commit": "cz", - "generate:types": "openapi-typescript http://43.202.50.174:8080/v3/api-docs --output src/types/apiSchema.types.d.ts", + "generate:types": "openapi-typescript http://43.202.50.174:8080/v3/api-docs --output src/types/api/apiSchema.types.d.ts", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "chromatic": "npx chromatic" diff --git a/src/app/(pages)/sign-in/page.tsx b/src/app/(pages)/sign-in/page.tsx index 3f26f08..f242f55 100644 --- a/src/app/(pages)/sign-in/page.tsx +++ b/src/app/(pages)/sign-in/page.tsx @@ -2,12 +2,10 @@ import { SubmitHandler, useForm } from 'react-hook-form' -import { SignInRequest } from '@/types/auth.types' +import { SignInRequest } from '@/types/api/auth.types' import { useSignInMutation } from 'queries/useSignIn' - export default function LoginPage(): JSX.Element { - const { register, handleSubmit, diff --git a/src/app/(pages)/sign-up/page.tsx b/src/app/(pages)/sign-up/page.tsx index 593ce36..9f9af12 100644 --- a/src/app/(pages)/sign-up/page.tsx +++ b/src/app/(pages)/sign-up/page.tsx @@ -4,7 +4,7 @@ import { useRouter } from 'next/navigation' import { SubmitHandler, useForm } from 'react-hook-form' -import { SignUpRequest } from '@/types/auth.types' +import { SignUpRequest } from '@/types/api/auth.types' import { useSignUpMutation } from 'queries/useSignUp' export default function SignUpPage(): JSX.Element { diff --git a/src/app/api/auth/sign-in/route.ts b/src/app/api/auth/sign-in/route.ts index 0fa2b46..8e2436f 100644 --- a/src/app/api/auth/sign-in/route.ts +++ b/src/app/api/auth/sign-in/route.ts @@ -1,6 +1,6 @@ import { NextResponse } from 'next/server' -import { SignInRequest, SignInResponseResult } from '@/types/auth.types' +import { SignInRequest, SignInResponseResult } from '@/types/api/auth.types' import { backendApi } from '@/services/api' diff --git a/src/hooks/usePagination.ts b/src/hooks/usePagination.ts index 4c9b2ca..e6d73dd 100644 --- a/src/hooks/usePagination.ts +++ b/src/hooks/usePagination.ts @@ -2,7 +2,7 @@ import { useState } from 'react' import type { PaginationState } from '@/types/hooks' -interface UsePaginationProps { +export interface UsePaginationProps { totalItems: number // 전체 아이템 수 itemsPerPage: number // 페이지당 아이템 수 buttonsPerPage?: number // 한 번에 보여줄 페이지네이션 버튼 수 (기본값: 10) diff --git a/src/services/auth/auth.ts b/src/services/auth/auth.ts index 92ccea6..5b90719 100644 --- a/src/services/auth/auth.ts +++ b/src/services/auth/auth.ts @@ -1,4 +1,4 @@ -import { SignInRequest, SignUpRequest } from '@/types/auth.types' +import { SignInRequest, SignUpRequest } from '@/types/api/auth.types' import { backendApi, proxyApi } from '@/services/api' diff --git a/src/stories/shared/pagination/Pagination.stories.tsx b/src/stories/shared/pagination/Pagination.stories.tsx index 0e5abeb..8db7605 100644 --- a/src/stories/shared/pagination/Pagination.stories.tsx +++ b/src/stories/shared/pagination/Pagination.stories.tsx @@ -2,28 +2,50 @@ import { Meta, StoryObj } from '@storybook/react' import { Pagination } from '@/components/shared/pagination' -import { usePagination } from '@/hooks/usePagination' +import { UsePaginationProps, usePagination } from '@/hooks/usePagination' export default { - title: 'Shared/Pagination/Pagination', + title: 'Shared/Pagination', component: Pagination, argTypes: { - currentPage: { control: { type: 'number', min: 1 }, defaultValue: 1 }, - totalPages: { control: { type: 'number', min: 1 }, defaultValue: 5 }, - hasNextPage: { control: 'boolean', defaultValue: true }, - hasPreviousPage: { control: 'boolean', defaultValue: false }, + totalItems: { control: 'number', defaultValue: 100 }, + itemsPerPage: { control: 'number', defaultValue: 6 }, + buttonsPerPage: { control: 'number', defaultValue: 10 }, }, } as Meta -export const Default: StoryObj = { +const PaginationWrapper = ({ + totalItems, + itemsPerPage, + buttonsPerPage = 10, +}: UsePaginationProps) => { + const paginationState = usePagination({ + totalItems, + itemsPerPage, + buttonsPerPage, + }) + + return ( +
+ 현재 페이지: {paginationState.currentPage} +
++ 현재 그룹:{' '} + {Math.ceil(paginationState.currentPage / buttonsPerPage)} +
+