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

[Feat/user] 공통컴포넌트 추가 및 친구추가 기능 #299

Merged
merged 11 commits into from
Nov 27, 2024

Conversation

jihyun-j
Copy link
Contributor

#️⃣연관된 이슈

#294

📝작업 내용

  • Modal, Button, TextInput, Checkbox 컴포넌트 공통화
  • 유저 이미지를 업로드를 대신한 아바타 사진 라이브러리 추가 및 적용
  • 레이아웃에 포함된 헤더 및 사이드바에 MUI를 제거하고 커스텀 컴포넌트로 교체

스크린샷 (선택)

Screenshot 2024-11-20 at 3 26 02 PM

💬리뷰 요구사항(선택)

현재 프로젝트에 스타일 파일도 여러개있고 폴더랑 파일들이 정리가 안되어 있어서 정리하면서 만들고 있습니다. MUI 러닝커브도 있고 딱히 편의성을 못 느껴서 MUI라이브러리 제거하고 커스텀 컴포넌트로 관리할까 합니다.

@jihyun-j jihyun-j added User 유저 관련기능 UI/UX front 기능 labels Nov 20, 2024
Copy link
Member

@minisundev minisundev left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!! 젼님이 짱이라고 할 수 있어요!

@@ -10,6 +10,7 @@ axios 인터셉터로 위의 로직대로 코드 작성 하다가 요청 인터
token.ts의 두 함수(validateAccessToken, refreshAccessToken)에서 요청을 보내는 부분이 인터셉터에 의해 다시 가로채지고 있는 것으로 추정
이를 해결하기 위한 방법으로 아래의 인스턴스를 별도 만들어서 해결함
Copy link
Member

Choose a reason for hiding this comment

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

맵과 아바타 뿐만이 아니고 Bee 도 만드셨군요 대단해요!

Comment on lines +10 to +11
userId: string | null,
token: string | null
Copy link
Member

Choose a reason for hiding this comment

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

그냥 string으로만 지정하면 안 되고 null일 가능성도 배제하지 않는 이유가 있나요?

userId: string | null,
token: string | null
) => {
const url = `${process.env.REACT_APP_BASE_URL}/user/api/v1/user/${userId}/requests`;
Copy link
Member

@minisundev minisundev Nov 20, 2024

Choose a reason for hiding this comment

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

user/api/v1이 파일 전체에서 반복되는 것 같은데 상수로 지정해두고 사용하면 v2가 나온다거나 코드 리팩토링할때도 편리하지 않을까요?

placeholder="친구검색"
value=""
type="text"
onChange={onChageSearchFriends}
Copy link
Member

Choose a reason for hiding this comment

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

여기에서 onChange 메서드를 사용해서 검색할때마다 value를 업데이트 하려고 하신건가요? 그런데 위에 onChangeSearchFriends 메서드는 비어있는 것으로 보이는데 그 이유는 뭔가요??

Comment on lines +9 to +26
const [newFriends, setNewFriends] = useState<
GetRequestedFriendsResponseType | undefined
>(undefined);

const getNewRequetedFriends = async () => {
try {
const response = await getRequestedFriendsData(userId, token);
if (response) {
setNewFriends(response);
}
} catch (error) {
console.error(error);
}
};

useEffect(() => {
if (token && userId) getNewRequetedFriends();
}, [userId, token]);
Copy link
Member

Choose a reason for hiding this comment

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

제가 리액트를 잘 몰라서 그러는데 newFriends에 useState를 쓴 이유가 무엇인가요? useEffect나 useRef 말고요! 저는 userEffect와 useRef로 모든 것을 해결해와서 useState의 장점이나 쓰면 좋을 상황이 궁금합니다!@

@@ -105,7 +107,7 @@ const CreateServerForm = () => {
<ServerThemeSelector />
</FormControl>

<Button type="submit">서버생성</Button>
<button color="bg-sky-600">서버생성</button>
</Box>
</form>
</div>
Copy link
Member

Choose a reason for hiding this comment

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

신규 생성 모달창이라면 컴포넌트로 분리해두고 ReactElement나 ReactNode로 변경되는 부분만 이 페이지에서 주입해줄 수는 없을까요?!

@jihyun-j jihyun-j merged commit 5341d22 into kSideProject:dev Nov 27, 2024
1 check passed
@jihyun-j jihyun-j deleted the feat/user branch November 29, 2024 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI/UX front 기능 User 유저 관련기능
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants