From 8bb46aa5efd55adc386cfbd3720cc7b63c79a28c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EA=B7=9C=ED=9A=8C?= <48755156+KimKyuHoi@users.noreply.github.com> Date: Mon, 30 Dec 2024 09:40:01 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B8=B0=EC=88=98=20=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?(#189)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 메인 화면 리드미 페이지 독스 기능 업데이트 (#164) * feat: GDSC => GDGoC 업데이트 * Docs: 메인 리드미 Docs 업데이트 * 로고 컨테스트 별 날짜 별로 로고 게시 (#169) * feat: code refactoring * Refac: MainNavigation refac * design: 로고 컨테스트 이미지 추가 * feat: navigation Logo 설정 * Design: Admin 로고 수정 * 뷰포인트 기반 lazy loading 로직 수정, GA 커스텀 이벤트 등록 및 채용공고 업데이트 (#171) * feat: 뷰포인트 기반 레이지로딩 구현 * Design: 세부 CSS 수정 * fix: 뷰포인트별 레이지로딩 구현 * Design: 날짜 원 수정 * Fix: 지원일자 조정 및 데이터 값 수정 * Design: CSS 수정 * Docs: 일정 등록 * Design: Apply Page CSS 수정 * Feat: GA Event 등록 * Fix: 페이지별 권한 설정 및 알람 설정 * feat: 커스텀 이벤트 추가 * Chore: 코드 주석처리 * Fix: 모듈화 수정 * Fix: build 수정 및 메타데이터 수정 * fix: 지원날짜 null로 올 경우 오늘 날짜로 들어가도록 처리 (#172) * observer-lazy-loading-package적용하기 (#175) * Chore: react-lazy-observer 패키지 설치 * feat: react-lazy-observer 패키지 대체 * 프론트엔드, 안드로이드 직렬 추가 (#181) * feat: 프엔, 안드 직렬 게시글 추가 * docs: 안드, 프엔 게시글 추가 * Feat/apply frontend (#183) * feat: 프엔, 안드 직렬 게시글 추가 * docs: 안드, 프엔 게시글 추가 * 어드민페이지 모달창 닫을 때 마크 정보 넘기기 구현 (#178) * fix: 모달창 닫을 때 리스트 업데이트되도록 수정 * style: 모달창 스타일 수정 * fix: 메모 줄바꿈 안됨 오류 수정 * fix: 메모 동시 수정 시 마지막만 반영되는 오류 수정 * style: 기수별 지원서 조회 퍼블리싱 * feat: 지원서 기수별 필터링 기능 추가 * fix: skeleton에 memo version 추가 * feat: 드롭다운리스트 기수 선택 시 사라지기 추가 * fix: 기수정보 초기화 데이터 수정 및 기수별 조회 버튼 이름 수정 * feat: 기수 목록 조회 기능 추가 (#188) * Chore: Rebase Conflict --------- Co-authored-by: CHAE_WON_SHIN <96687276+chae-won-shin@users.noreply.github.com> --- src/apis/hooks/yearId/useGetClassYearList.ts | 32 +++++++++++++++++++ .../components/docs/ClassYearIdDropDown.tsx | 15 +++++---- 2 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 src/apis/hooks/yearId/useGetClassYearList.ts diff --git a/src/apis/hooks/yearId/useGetClassYearList.ts b/src/apis/hooks/yearId/useGetClassYearList.ts new file mode 100644 index 0000000..c74c481 --- /dev/null +++ b/src/apis/hooks/yearId/useGetClassYearList.ts @@ -0,0 +1,32 @@ +import { useQuery, UseQueryResult } from '@tanstack/react-query'; + +import { fetchInstance } from '@gdg/apis/instance/Api_JWT'; + +export type classYearList = { + id: number; + name: string; + applyStartDateTime: string; + applyEndDateTime: string; +}; + +const getClassYearListPath = () => '/api/admin/class-year'; + +const teamListQueryKey = [getClassYearListPath()]; + +const getClassYearList = async () => { + const response = await fetchInstance.get(getClassYearListPath()); + return response.data; +}; + +export const useGetClassYearList = (): UseQueryResult< + classYearList[], + Error +> => { + const accessToken = sessionStorage.getItem('accessToken'); + + return useQuery({ + queryKey: teamListQueryKey, + queryFn: getClassYearList, + enabled: !!accessToken, + }); +}; diff --git a/src/pages/admin/components/docs/ClassYearIdDropDown.tsx b/src/pages/admin/components/docs/ClassYearIdDropDown.tsx index c7bb610..72281b0 100644 --- a/src/pages/admin/components/docs/ClassYearIdDropDown.tsx +++ b/src/pages/admin/components/docs/ClassYearIdDropDown.tsx @@ -1,6 +1,7 @@ import styled from '@emotion/styled'; import { displayCenter } from '@gdg/styles/LayoutStyle'; +import { useGetClassYearList } from '@gdg/apis/hooks/yearId/useGetClassYearList'; import { DividingLine } from './ApplyDetailModal.style'; @@ -41,16 +42,16 @@ const ClassYearIdDropDown = ({ }: { onYearIdClick: (id: number) => void; }) => { - const yearIdList = [1, 2, 3, 4]; + const { data: yearIdList } = useGetClassYearList(); return ( - {yearIdList.map((id) => ( -
- onYearIdClick(id)} - >{`${id}기`} - {id < yearIdList.length && } + {yearIdList?.map((id) => ( +
+ onYearIdClick(id.id)}> + {id.name} + + {id.id < yearIdList.length && }
))}