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

[SETTING] 설정 페이지 추가 및 수정 #106

Merged
merged 32 commits into from
Oct 23, 2023
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
0251690
feat: 업데이트 svg 추가
Sep 24, 2023
fd1875f
feat: 비밀번호 변경 확인 모달 추가
Sep 24, 2023
ef78389
feat: 모바일 로그아웃 확인 모달 추가
Sep 24, 2023
3f1d429
feat: 모바일 공통 모달 추가
Sep 24, 2023
ad5296f
feat: PC 설정 페이지 구현
Sep 24, 2023
3170038
feat: 모바일 비밀번호 변경 페이지 구현
Sep 24, 2023
e70c371
refactor: pc, 모바일 설정 페이지 병합
Sep 24, 2023
99ce1a2
feat: 설정페이지 라우팅 추가
Sep 24, 2023
a0d6fc5
refactor: Discriminated Union 추가 및 코드 수정
Sep 24, 2023
aba4034
refactor: 오타 수정 및 ui 수정
Sep 24, 2023
69b5fae
Merge remote-tracking branch 'origin/develop' into feature/#100
Sep 24, 2023
2635577
feat: 회원 탈퇴 api 추가 및 연결
Sep 24, 2023
3e6537b
chore: 폴더 구조 개선
Oct 6, 2023
23b703a
refactor: 디폴트 레이아웃 적용
Oct 6, 2023
2d00785
chore: 폴더구조 개선
Oct 6, 2023
ce31a41
refactor: UI 개선
Oct 6, 2023
8a24750
refactor: useBooleanState 적용
Oct 6, 2023
ac56830
refactor: class 이름 변경
Oct 6, 2023
38935f7
refactor: 인터페이스명 변경
Oct 14, 2023
f793f72
refactor: hook 분리
Oct 14, 2023
d223a63
refactor: 함수명 변경
Oct 14, 2023
601ec76
refactor: 탈퇴하기 UI 변경
Oct 14, 2023
37a9416
refactor: 변수명 변경
Oct 14, 2023
0331c7d
style: 에러메세지 UI 수정
Oct 14, 2023
7430094
refactor: 에러메세지 jsx로 반환
Oct 14, 2023
b94a6fb
refactor: 탈퇴하기 함수명 변경
Oct 14, 2023
0f191a7
refactor: 타입단언 삭제
Oct 22, 2023
4621368
refactor: 도메인 설명 함수 추가
Oct 22, 2023
374eeb9
Merge remote-tracking branch 'origin/develop' into feature/#100
Oct 22, 2023
7b6dff6
Merge branch 'develop' into feature/#100
LUNA-KK Oct 22, 2023
1be8c1a
Merge branch 'feature/#100' of https://github.com/BCSDLab/JJBAKSA_FRO…
Oct 22, 2023
62329ff
refactor: 마이페이지 타입 문제 해결
Oct 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ import ChangePassword from 'pages/Auth/FindIDPassword/ChangePassword';
import { Suspense } from 'react';
import SearchDetails from 'pages/SearchDetails';
import FollowPage from 'pages/Follow';
import Setting from 'pages/Setting/UserSetting';
import IdChange from 'pages/Setting/UserSetting/IdChange';
import Setting from 'pages/Setting';
import IdChange from 'pages/Setting/Mobile/IdChange';
import AuthRoute from 'components/common/AuthRoute';
import Withdrawal from 'pages/Setting/Withdrawal';
import Inquiry from 'pages/Inquiry';
Expand All @@ -40,11 +40,11 @@ export default function App(): JSX.Element {
<Route path="/notice" element={<Notice />} />
</Route>
<Route element={<AuthRoute needAuth redirectRoute="/login" />}>
<Route path="/setting" element={<Setting />} />
<Route path="/setting/id-change" element={<IdChange />} />
<Route path="/" element={<DefaultLayout />}>
<Route path="/friend-list" element={<FollowPage />} />
<Route path="/friend-list/:id" element={<FollowProfile />} />
<Route path="/setting" element={<Setting />} />
<Route path="/setting/id-change" element={<IdChange />} />
</Route>
<Route path="/withdrawal" element={<Withdrawal />} />
<Route path="/profile" element={<MyPage />} />
Expand Down
6 changes: 3 additions & 3 deletions src/api/follow/entity.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { User } from 'api/user/entity';
import { EmailUser } from 'api/user/entity';
import { FollowerInfo } from 'pages/Follow/static/entity';

export interface FollowListParams {
Expand Down Expand Up @@ -27,8 +27,8 @@ export interface SentOrReceivedFollowParams {
export interface SentOrReceivedFollowResponse {
content: {
id: number;
follower: User;
user: User;
follower: EmailUser;
user: EmailUser;
}[];
empty: boolean;
last: boolean;
Expand Down
14 changes: 13 additions & 1 deletion src/api/user/entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export interface ModifyParams {
email?: string;
}

export interface User {
export interface EmailUser {
account: string;
nickname: string;
email: string;
Expand All @@ -42,6 +42,14 @@ export interface User {
};
}

export interface SNSUser {
id: number,
nickname: string,
email: string,
}

export type User = EmailUser | SNSUser;

export interface SendRegisterEmailParams {
email: string;
}
Expand All @@ -62,3 +70,7 @@ export interface FindPasswordParams {
export interface ChangePasswordParams {
password: string
}

export interface CheckPasswordParams {
password: string
}
8 changes: 6 additions & 2 deletions src/api/user/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,17 @@ import {
LoginResponse,
ModifyParams,
RegisterParams,
User,
EmailUser,
SendRegisterEmailParams,
SendFindEmailParams,
GetAccountParams,
FindPasswordParams,
User,
CheckPasswordParams,
} from './entity';
import userApi from './userApiClient';

export const register = (param: RegisterParams) => userApi.post<User>('/', param);
export const register = (param: RegisterParams) => userApi.post<EmailUser>('/', param);

export const checkIdDuplicate = (param: CheckIdDuplicateParams) => userApi.get<User>(`/exists?account=${param.account}`);

Expand All @@ -39,3 +41,5 @@ export const findPassowrd = (param: FindPasswordParams) => userApi.post('/passwo
code: param.code,
email: param.email,
});

export const checkPassword = (param: CheckPasswordParams) => userApi.post(`/check-password?password=${param.password}`);
3 changes: 3 additions & 0 deletions src/assets/svg/setting/version-check.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 11 additions & 5 deletions src/pages/Follow/components/SearchPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,18 @@ import FollowList from './FollowList';
export default function SearchPage({ data }: SearchPageInfo) {
const auth = useAuth();
const myFriends: FollowerInfo[] = data.filter((follower) => follower.followedType === 'FOLLOWED');
const newFriends: FollowerInfo[] = data.filter((follower) => follower.followedType === 'NONE').filter((follower) => follower.account !== auth?.account);
let newFriends: FollowerInfo[];

if (auth && 'account' in auth) {
newFriends = data.filter((follower) => follower.followedType === 'NONE').filter((follower) => follower.account !== auth?.account);
return (
<div>
<FollowList title="나의 친구" data={myFriends} />
<FollowList title="새 친구" data={newFriends} />
</div>
);
}
return (
<div>
<FollowList title="나의 친구" data={myFriends} />
<FollowList title="새 친구" data={newFriends} />
</div>
<div>오류입니다.</div>
);
}
125 changes: 125 additions & 0 deletions src/pages/Setting/Mobile/IdChage.module.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
@use "src/utils/styles/mediaQuery" as media;

.blindBox {
align-items: center;
justify-content: center;

&__button {
position: absolute;
background-color: transparent;
border: none;
margin-top: 5px;
margin-left: -35px;
width: 16px;
height: 16px;
cursor: pointer;
}
}

.layout {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 5vh;
width: 100vw;
min-height: 100vh;
}

.back {
width: 270px;
padding-bottom: 30px;
padding-top: 16px;
padding-left: 50px;
display: flex;
justify-content: flex-start;
align-items: center;
gap: 20px;
margin-right: 120px;
}

.page {
display: flex;
flex-direction: column;

&__quote {
font-size: 18px;
font-weight: 500;
width: 240px;
line-height: 22px;
}

&__image {
padding-right: 5px;
}

&__error {
display: flex;
align-items: center;
color: #ff7f23;
height: 50px;
font-size: 12px;
}

&__caution {
display: flex;
align-items: center;
}
}

.form {
display: flex;
flex-direction: column;
margin-bottom: 12px;

&__space {
gap: 80px !important;
}

&__center {
display: flex;
flex-direction: column;
justify-content: center;
padding-bottom: 23px;
}

&__label {
padding-left: 10px;
padding-bottom: 5px;

&--paddingTop {
padding-left: 10px;
padding-bottom: 5px;
padding-top: 5px;
}
}

&__input {
border: 1px solid #eeeeee;
border-radius: 100px;
width: 220px;
height: 30px;
padding-left: 15px;
padding-right: 15px;
margin-bottom: 10px;
background-color: #eeeeee;

&--error {
border-radius: 18px;
border: 1px solid #ff7f23;
}
}

&__submit {
border: none;
border-radius: 100px;
width: 250px;
height: 40px;
color: white;
background-color: #c4c4c4;

&--active {
background-color: #ff7f23;
cursor: pointer;
}
}
}
Loading
Loading