Skip to content

[6주차] 조재희/[feat] 대시보드 페이지 UI 구현#51

Open
wo-gml wants to merge 6 commits into
Leets-Official:조재희/mainfrom
wo-gml:조재희/6주차

Hidden character warning

The head ref may contain hidden characters: "\uc870\uc7ac\ud76c/6\uc8fc\ucc28"
Open

[6주차] 조재희/[feat] 대시보드 페이지 UI 구현#51
wo-gml wants to merge 6 commits into
Leets-Official:조재희/mainfrom
wo-gml:조재희/6주차

Conversation

@wo-gml

@wo-gml wo-gml commented May 12, 2026

Copy link
Copy Markdown
Contributor

1. 과제 요구사항 중 구현한 내용

  1. 로그인 페이지 UI 구현
  2. 회원가입 페이지 UI 구현
  3. 대시보드 홈페이지 UI 구현

2. 핵심 변경 사항

  1. components 폴더에 DeleteModal, Toast 기능 구현
  2. pages 폴더에 로그인,회원가입,대시보드 페이지 UI 구현
  3. NavLink을 활용하여 페이지 경로 이동시 안정성 향상

3. 실행 및 검증 결과

image image
  • 실행 결과: npm run dev로 정상 실행됨. ESLint 오류 없음, 빌드 성공 (npm run build).

4. 완료 사항

  1. 로그인 페이지 UI 구현
  2. 회원가입 페이지 UI 구현
  3. 대시보드 홈페이지 UI 구현

5. 추가 사항

  • 관련 이슈: closed #50

제출 체크리스트

  • PR 제목이 규칙에 맞다
  • base가 {이름}/main 브랜치다
  • compare가 {이름}/{숫자}주차 브랜치다
  • 프로젝트가 정상 실행된다
  • 본인을 Assignee로 지정했다
  • 파트 담당 Reviewer를 지정했다
  • 리뷰 피드백을 반영한 뒤 머지/PR close를 진행한다

Reviewer가 참고할 내용

@wo-gml
wo-gml requested a review from a team May 12, 2026 09:24
@wo-gml wo-gml self-assigned this May 12, 2026
Comment thread src/components/Toast.jsx
Comment on lines +3 to +10
const CheckIcon = () => (
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M10 1.875C5.51269 1.875 1.875 5.51269 1.875 10C1.875 14.4873 5.51269 18.125 10 18.125C14.4873 18.125 18.125 14.4873 18.125 10C18.125 5.51269 14.4873 1.875 10 1.875ZM13.8496 8.22461L9.34961 12.7246C9.22754 12.8467 9.06348 12.915 8.89258 12.915C8.72168 12.915 8.55762 12.8467 8.43555 12.7246L6.15039 10.4395C5.89648 10.1855 5.89648 9.77051 6.15039 9.51660C6.4043 9.26270 6.81934 9.26270 7.07324 9.51660L8.89258 11.3359L12.9268 7.30176C13.1807 7.04785 13.5957 7.04785 13.8496 7.30176C14.1035 7.55566 14.1035 7.96484 13.8496 8.22461Z"
fill="#171717"
/>
</svg>
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

파일 안에 가볍게 그림을 그려 파일을 넣는 것보다 훨씬 조작도 간편하고 성능도 향상 시키는 좋은 방법이 있다는 것을 알게 되었습니다.
그리고 이 부분은 나중에 파일이 커지거나 다른 위치에서도 사용이 되는 경우에는 다른 파일로 쪼개도 좋을 거 같습니다.

@Leets-review Leets-review left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

고생하셨습니다!! 👍🏻
아래 몇 가지 코멘트 남겨두었으니 확인 부탁드립니다 :)

Comment thread src/components/Button.jsx
return (
<button className={`btn-${label}`} onClick={onClick}>
{label}
<button

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

이 Button은 여러 곳에서 공통으로 쓰일 것 같아서요!
기본 type이 없으면 form 안에서 의도치 않게 submit으로 동작할 수 있어서, 기본값을 button으로 두고 필요한 곳에서만 submit을 넘기는 방식도 좋을 것 같습니다 :)

Comment thread src/pages/Inquiry.jsx
if (location.state?.deleted) {
setShowToast(true);
// state 정리 — 새로고침 시 토스트 재표시 방지
window.history.replaceState({}, '');

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

여기서 직접 window.history를 만지는 것보다 React Router의 navigate로 state를 비워주는 쪽이 더 자연스러울 것 같아요!
이미 useNavigate를 쓰고 있어서 replace 옵션으로 정리해도 괜찮을 것 같습니다.

Comment thread src/pages/Inquiry.jsx
{inquiries.map((item, idx) => (
<tr
key={item.id}
onClick={() => navigate(`/inquiry/${item.id}`)}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

행 전체를 클릭해서 상세로 이동하는 구조라서요!
키보드로도 접근할 수 있게 버튼/링크로 감싸거나 tabIndex, onKeyDown 처리를 같이 넣어주면 더 좋을 것 같습니다 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants