Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

♻️ [WV-35] refactor : player coach detail 페이지 생성 #45

Merged
merged 10 commits into from
Jan 10, 2025

Conversation

hayoung78
Copy link
Contributor

@hayoung78 hayoung78 commented Jan 10, 2025

개요

coach detail 페이지 생성


PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • PR 제목 및 커밋 메시지 컨벤션 확인
  • 직접 만든 함수가 있다면 이에 대한 설명 추가 (ex. JS DOCS)
  • 변경 사항에 대한 테스트 완료 (버그 수정/기능에 대한 테스트)
  • Label 확인
  • Assignees 설정 확인
  • Reviewers 설정 확인

PR details

getCoachDetail api함수 생성

// player - 코치 디테일
export const getCoachDetail = async (
  pcode: string
): Promise<CoachDetailResponse["data"]> => {
  const queryparam = pcode ? `coachdetail?pcode=${pcode}` : "";
  const url = `${BASE_URL}/player/${queryparam}`;
  const response = await fetch(url, { method: "GET" });

  if (!response.ok) {
    throw new Error("Network response was not ok");
  }

  const data = await response.json();
  return data.data;
};

pcode값에 따른 동적 라우팅 페이지 (코칭스텝 디테일 페이지) 생성

  • 원래 [id] - page.tsx로 폴더구조 되어있던거를 pcode로 수정했습니다.
    app/(menu)/player/coach/[pcode]/page.tsx

  • coach-page.tsx에서 코치리스트 를 보여주고, 코치 플레이어 카드 누를경우 해당 코치의 pcode값을 params로 coach/[pcode]-page.tsx의 경로로 이동합니다.

coach > page.tsx

image

coach > [pcode] > page.tsx

image

2025-01-10.3.07.20.mov

정적 프리렌더링 비활성화 => export const dynamic = "force-dynamic";

When modifying code...

# Request Level
  - [ ] : "🔥 이대로 Merge 하면 안돼요~!"
  - [ ] : "🥹 고치면 분명 나아질 게 분명합니다.."
  - [ ] : "🤷 수정하면 좋지 않을까요?"

# Description

@hayoung78 hayoung78 added feat 새로운 기능 추가 design CSS 등 사용자 UI 변경 refactor 작업수정, 코드 유지보수 rename 파일 혹은 폴더명을 수정하거나 옮기는 작업만 하는 경우 labels Jan 10, 2025
@hayoung78 hayoung78 self-assigned this Jan 10, 2025
Copy link
Member

@Jinviz Jinviz left a comment

Choose a reason for hiding this comment

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

수고하였습니다.
궁금한 게 있는데, page 컴포넌트 자체를 async로 선언하는 것과 page안에서 async 함수로 데이터 패칭하는 것과 둘의 동작 차이가 있을까요?

export const getCoachList = async (): Promise<CoachInfo[]> => {
const url = `${BASE_URL}/player/coachlist`;
const res = await fetch(url, { method: "GET" });
console.log(url, "나 유알엘엘에레엘엘에렝ㄹ");
Copy link
Contributor

Choose a reason for hiding this comment

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

console 삭제해주세요

Copy link
Contributor Author

Choose a reason for hiding this comment

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

아 ;;;; 뭐야 저거

Copy link
Contributor Author

Choose a reason for hiding this comment

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

삭제했슴당

@hayoung78
Copy link
Contributor Author

수고하였습니다. 궁금한 게 있는데, page 컴포넌트 자체를 async로 선언하는 것과 page안에서 async 함수로 데이터 패칭하는 것과 둘의 동작 차이가 있을까요?

구두로 설명 드렸습니당

Copy link
Contributor

@hee2323 hee2323 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다

@hayoung78 hayoung78 merged commit eebf067 into dev Jan 10, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design CSS 등 사용자 UI 변경 feat 새로운 기능 추가 refactor 작업수정, 코드 유지보수 rename 파일 혹은 폴더명을 수정하거나 옮기는 작업만 하는 경우
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants