-
Notifications
You must be signed in to change notification settings - Fork 4
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
공지사항 목록 페이지 이동 링크 추가 / 마이페이지에 공지사항, 관리자 페이지 추가 #754
Conversation
관리자더라도 url을 직접 입력하여 들어오면 접근이 안되는데 이는 관리자 페이지이기에 상관 없다고 생각함
⚡️ Lighthouse report!
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
우스~ 오늘 오전에 회의한 내용을 굉장히 빠르게 반영해주셨군요? (그저 ✨..)
제가 작업한 내용과 살짝 다른 부분이 있어 코멘트 남겼어요!
내일 이야기해보아요~~~
fe-리뷰완
frontend/__test__/api/user.test.ts
Outdated
}); | ||
|
||
test('클라이언트에서 사용하는 유저 정보 API 명세가 [nickname, gender, birthYear, postCount, voteCount]으로 존재해야한다', async () => { | ||
test('클라이언트에서 사용하는 유저 정보 API 명세가 [nickname, gender, birthYear, postCount, voteCount, role]으로 존재해야한다', async () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
혹시 hasLatestAlarm 도 추가해주실 수 있나요? (test fail 이 두려워져서..😅)
|
||
import * as S from './style'; | ||
|
||
export default function GuestProfile() { | ||
interface GuestProfileProps { | ||
isLargeKaKao?: boolean; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
frontend/src/constants/path.ts
Outdated
@@ -19,4 +20,6 @@ export const PATH = { | |||
USER_VOTE: `${BASE_PATH.USER}/votes`, | |||
USER_INFO: `${BASE_PATH.USER}/myPage`, | |||
USER_INFO_REGISTER: `${BASE_PATH.USER}/register`, | |||
ADMIN_REPORT_LIST: `${BASE_PATH.ADMIN}/reports`, | |||
ADMIN_CATEGORY_LIST: `${BASE_PATH.ADMIN}/categories`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 path 명을 이렇게 지으셨군요..🤔
혹시 카테고리 목록 관련된 라우터는 미리 만들어놓으신건가요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
birthYear: 1989, | ||
postCount: 4, | ||
voteCount: 128, | ||
role: 'ADMIN', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hasLatestAlarm 값도 미리 추가해주시면 감사하겠습니다..!!!!
frontend/src/routes/PrivateRoute.tsx
Outdated
// const isAuthenticated = true; | ||
if (!isGuestAllowed && !isLoggedIn) { | ||
alert('해당 페이지에 접근하려면 로그인이 필요합니다.'); | ||
if (isAdminAllowed && userInfo?.role !== 'ADMIN') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
context-api 로 role 값을 저장하는 경우, 관리자 페이지에 진입하면서 role을 useContext로 꺼내오기 때문에, 의도대로 페이지 진입을 막기 어려워지지 않을까요?🤔
개인정보 등록 페이지
도 같은 이슈가 있어서, hasEssentialInfo 라는 값을 userInfo (유저 정보 API response)가 아닌 로그인 API response에서 받아오도록 했어서.. 우스의 생각이 궁금합니다!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오늘 2시 페어프로그래밍을 통해 충돌이 예상되는 부분을 해결하였습니다~~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
우스 최강입니다!!
혹시 그 프라이빗 라우터에 isGuestAllowed={true}>
이던데,
게시글 상세페이지와 랭킹페이지는 true처리가 안된 것 같아요!
필요할 것 같습니다!
그리고 pr에도 admin/category 로 되어있는데 해당 부분 나중에 다시 보면 헷갈릴 것 같아서 수정 가능할까요??
고생하셨습니다!
@@ -19,4 +21,6 @@ export const PATH = { | |||
USER_VOTE: `${BASE_PATH.USER}/votes`, | |||
USER_INFO: `${BASE_PATH.USER}/myPage`, | |||
USER_INFO_REGISTER: `${BASE_PATH.USER}/register`, | |||
ADMIN_PENDING_REPORT: `${BASE_PATH.ADMIN}${BASE_PATH.REPORTS}/pending`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pending이 되었군요 😆
frontend/src/routes/router.tsx
Outdated
path: PATH.NOTICES, | ||
element: ( | ||
<PrivateRoute isOnlyAdminAllowed={true} path={PATH.USER_INFO}> | ||
<div>어드민 카테고리 목록 페이지</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기 수정 안되었습니다!
fe-리뷰완 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!!
작성하신 코드 롤백되어서 아쉽네요!
빠른 피드백, 수정 최고에요!
🔥 연관 이슈
close: #753
📝 작업 요약
⏰ 소요 시간
1시간
🔎 작업 상세 설명
path url
관리자 신고내역 페이지 : admin/reports/pending
관리자 공지사항 페이지 : admin/�notices
사진
비회원
회원
관리자
로그인 페이지 카카오 버튼 이미지 수정
약간 흐려서 완성도가 낮아보인다는 피드백을 들었어서 뚜렷하게 변경
변경 전
변경 후
🌟 논의 사항
�관리자 페이지로 url을 직접 입력했을 때 관리자 계정임에도 접근이 불가능하다고 나오는데요. 이러한 것은 useEffect에서 토큰을 통해 자동 로그인이 진행된 후 유저 정보를 가져오는데, 이러한 과정을 거치려면 렌더링이 끝나야 되기 때문에 PrivateRoute에서는 관리자가 url로 직접 들어오는 것을 허용할 수 없었습니다
그렇지만 관리지이기 때문에 마이페이지에서 직접 들어오는 것은 가능하므로 괜찮은 수준의 문제라고 생각하여 PR 올리게 되었어요