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/address #50 #66

Merged
merged 184 commits into from
Feb 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
916037c
Update issue templates
woals2840 Jan 12, 2025
c4355f2
chore: TS로 변환
devhaeun Jan 19, 2025
d1d73df
feat: TS로 전환
devhaeun Jan 21, 2025
3a64d91
Style: 헤더 컴포넌트 크기 수정 #1
devhaeun Jan 22, 2025
dc4e8dd
Chore: router에 Header 컴포넌트 연결
devhaeun Jan 22, 2025
f084519
Fix: 로그인 버튼 props 전달 수정 #1
devhaeun Jan 22, 2025
cf463e8
Feat: 카테고리 드롭다운 메뉴 기능 추가 #1
devhaeun Jan 22, 2025
9671aa5
Feat: 카테고리 드롭다운 메뉴 #1
devhaeun Jan 22, 2025
5da1834
Style: 세미콜론 추가 #1
devhaeun Jan 23, 2025
01ed09c
Feat: 레이아웃 및 Wrapper 스타일 추가
devhaeun Jan 23, 2025
5f0505f
Merge pull request #9 from JMarketYard/feat/search-box-#1
yelynnn Jan 23, 2025
11ecf3e
Feat: 래플 업로드 페이지 추가 #10
devhaeun Jan 23, 2025
412681f
Fix: 브랜치 병합 #10
devhaeun Jan 23, 2025
e53fcce
Feat: 1440px로 크기 변경 #3
jade653 Jan 24, 2025
9489bc9
Feat: 라우터 경로 및 Wrapper 스타일 수정 #10
devhaeun Jan 24, 2025
504d76f
Design: Wrapper 스타일 추가 #10
devhaeun Jan 24, 2025
2bdabbe
Design: 래플 업로드 페이지 UI #10
devhaeun Jan 26, 2025
7b8a3b7
Feat: 제목 컴포넌트 분리 #10
devhaeun Jan 26, 2025
d25bbc0
chore: 환경세팅 수정
yelynnn Jan 26, 2025
f6353bf
Feat: media.tsx 파일 추가 #13
devhaeun Jan 26, 2025
ebd65a0
feat/모달 기본 세팅
yelynnn Jan 26, 2025
1e4b973
feat/로그인 모달웹ui 구현
yelynnn Jan 26, 2025
a311ec9
chore: 미디어쿼리 공용파일
yelynnn Jan 26, 2025
97ab47f
Merge branch 'develop' into feat/login
yelynnn Jan 26, 2025
ecb68db
Update router.tsx
yelynnn Jan 26, 2025
1ef7586
Update index.html
yelynnn Jan 26, 2025
9497aee
Delete yarn.lock
yelynnn Jan 26, 2025
8469cf4
Feat: 브레이크포인트 나누고 컴포넌트 분리 #13
devhaeun Jan 26, 2025
7f03bda
Feat: HeaderIconMenu 컴포넌트 추가 #13
devhaeun Jan 26, 2025
0772ab1
Merge pull request #14 from JMarketYard/feat/login
devhaeun Jan 26, 2025
d378c35
Feat: 로그인 모달 병합 #13
devhaeun Jan 27, 2025
c3c4d9b
Design: 반응형 헤더 UI #13
devhaeun Jan 27, 2025
da4b8eb
Fix: media small 기준 수정 #13
devhaeun Jan 27, 2025
ff3c7ca
Design: 태블릿 화면 비율에서 검색창과 로고 겹침 문제 해결 #13
devhaeun Jan 27, 2025
b8aaa37
Design: 래플 업로드 버튼 추가
devhaeun Jan 27, 2025
27b543d
Design: 래플 업로드 버튼 추가 #13
devhaeun Jan 27, 2025
9b502aa
추가 세팅 #15
yelynnn Jan 27, 2025
ae38e52
팔로우 취소 모달 ui #15
yelynnn Jan 27, 2025
49827b9
section3 모달 #15
yelynnn Jan 27, 2025
64bd27a
chore/section6 모달 #15
yelynnn Jan 27, 2025
ec792ae
chore/section8 모달 #15
yelynnn Jan 27, 2025
984cc70
feat/로그인 모달 #15
yelynnn Jan 27, 2025
da04256
chore/section9 모달 #15
yelynnn Jan 27, 2025
54f9fa9
chore/section7 모달 #15
yelynnn Jan 27, 2025
e61f5a2
Merge branch 'develop' into feat/modals-#15
yelynnn Jan 27, 2025
56f2d15
Merge pull request #16 from JMarketYard/feat/modals-#15
devhaeun Jan 28, 2025
9b8aff2
Style: 헤더 사용하지 않는 이미지 import 삭제 #13
devhaeun Jan 28, 2025
e962406
Feat: textarea 속성 추가 #10
devhaeun Jan 28, 2025
b7cf4d2
Merge pull request #12 from JMarketYard/feat/upload-page-#10
devhaeun Jan 28, 2025
b8d7cb3
Feat: develop pull
devhaeun Jan 28, 2025
2482376
Feat: 래플 업로드 버튼 페이지 연결 #13
devhaeun Jan 28, 2025
806ec32
Design: 헤더 상단 로그인 등 메뉴 위치 수정 #1
devhaeun Jan 28, 2025
3095120
Design: 카테고리 메뉴 z-index 올림 #1
devhaeun Jan 28, 2025
8bca545
Design: 아이콘 크기 조정 및 카테고리 호버 이벤트 추가 #1
devhaeun Jan 28, 2025
6ecf29e
Style: Header에서 사용되지 않는 styled component 삭제 #1
devhaeun Jan 28, 2025
a8af6a9
Merge branch 'develop' into feature/home-page-#3
jade653 Jan 28, 2025
dccb2e5
Merge branch 'develop' of https://github.com/JMarketYard/Front-end in…
devhaeun Jan 28, 2025
10df33c
feat/로그인 모달 연결 #18
yelynnn Jan 28, 2025
4934ccc
feat/환전충전 페이지 구현 #18
yelynnn Jan 28, 2025
203a602
Feat: 로컬 이미지 기능 연결 #10
devhaeun Jan 28, 2025
b30db0a
chore/환경세팅
yelynnn Jan 28, 2025
76f28e4
Merge branch 'develop' into feat/changing-#18
yelynnn Jan 28, 2025
06fba1a
Design: 카테고리 스타일 조절 #10
devhaeun Jan 28, 2025
458c4f3
Merge pull request #20 from JMarketYard/feat/changing-#18
devhaeun Jan 28, 2025
f89c00d
Feat: address 주소 추가
devhaeun Jan 28, 2025
14f35c4
Design: productCard, smallProductCard, homepage UI 수정 / adBanner 추가 수…
jade653 Jan 28, 2025
5031a19
Rename: 컴포넌트 파스칼케이스로 변경 #3
jade653 Jan 28, 2025
57b3ae4
Rename: 컴포넌트 파스칼케이스로 변경(2) #3
jade653 Jan 28, 2025
7116b0c
Fix: 병합 충돌 해결
devhaeun Jan 28, 2025
59ddb9a
Merge pull request #19 from JMarketYard/feat/search-box-#1
devhaeun Jan 28, 2025
7e97f8b
Fix: 병합 충돌 해결
devhaeun Jan 28, 2025
97affa3
Merge pull request #21 from JMarketYard/feat/upload-page-#10
devhaeun Jan 28, 2025
dbf479f
Merge branch 'develop' of https://github.com/JMarketYard/Front-end in…
devhaeun Jan 28, 2025
f1fccab
Design: 배송지 설정 페이지 UI #17
devhaeun Jan 28, 2025
1919819
Design: 배송지 선택 버튼 UI #17
devhaeun Jan 28, 2025
ad75699
Feat: 배송지 선택 svg 컴포넌트 이용 #17
devhaeun Jan 28, 2025
cdd83de
Design: 체크박스 버튼 크기 조정 #17
devhaeun Jan 28, 2025
de5fcc7
feat/드로우 모달 ui #15
yelynnn Jan 29, 2025
1bbd2b0
Merge branch 'develop' into feat/drawModal-#15
yelynnn Jan 29, 2025
a673303
Merge branch 'develop' into feature/home-page-#3
jade653 Jan 29, 2025
61ee99c
Fix: 병합 충돌 해결 #3
jade653 Jan 29, 2025
c5db0fd
Fix: raffleDetail(미완) 주석처리
jade653 Jan 29, 2025
067b69c
Feat: raffleDetail 생성
jade653 Jan 29, 2025
be57922
feat/광고 슬라이드 ui 수정 #3
yelynnn Jan 29, 2025
9ececeb
fix: 머지 충돌 해결
yelynnn Jan 29, 2025
657ef28
Feat: 공개 정보 설정 페이지 UI #24
devhaeun Jan 29, 2025
abd8b83
Feat: 후기 남기기 페이지 UI 개발 #23
devhaeun Jan 29, 2025
72e4f94
Design: 버튼 hover 커서 포인터 #23
devhaeun Jan 29, 2025
f5f0f89
Feat: 래플 상세보기 페이지 구현 #25
jade653 Jan 29, 2025
64ee255
Merge pull request #28 from JMarketYard/feat/set-info-open-#24
yelynnn Jan 30, 2025
9fa3ae0
Design: 래플 전체보기 위치 수정
jade653 Jan 30, 2025
dd15a7a
feat: 래플 상세페이지 상품부분 ui
jade653 Jan 30, 2025
ef61ebf
공용 컴포넌트 리뷰 별 구현현
woals2840 Jan 30, 2025
75f9636
공용 컴포넌트 별 구현현
woals2840 Jan 30, 2025
0e481db
Merge branch 'develop' into feat/raffle-details-#25
jade653 Jan 30, 2025
b6cb323
Merge branch 'develop' into feature/home-page-#3
jade653 Jan 30, 2025
65ee9d2
Create pull_request_template.md
woals2840 Jan 31, 2025
4329f83
Feat: 래플 상세보기 조건부 렌더링, mock data 수정, 도넛 차트 생성
jade653 Feb 1, 2025
9d8b24f
Feat: 응모하기 모달 연결 #25
jade653 Feb 1, 2025
8f640a6
Feat: svg 아이콘 컴포넌트화 진행 중 #5
devhaeun Feb 1, 2025
e1f0d86
라우터 element 타입 에러, svgr/rollup 에러
devhaeun Feb 1, 2025
b1f45f8
Chore: 반응형 아이콘 메뉴 숨김
devhaeun Feb 1, 2025
e2b8dae
Feat: 조건부 렌더링 완료, 응모하기 모달 연결
jade653 Feb 1, 2025
a255afc
Feat: 배송지 추가 모달 생성 #17
devhaeun Feb 1, 2025
7830f44
Design: 모달 스타일 수정 #17
devhaeun Feb 1, 2025
0374720
Feat: 모달 닫기 기능 수정 #17
devhaeun Feb 1, 2025
9b5a394
Merge pull request #29 from JMarketYard/feat/#11
devhaeun Feb 1, 2025
5011783
Fix: develop pull 및 병합 충돌 해결
devhaeun Feb 1, 2025
c1427bd
Fix: pull origin develop 병합 충돌 해결
devhaeun Feb 1, 2025
d354d40
Feat: 평점 컴포넌트 수정 및 삽입 #23
devhaeun Feb 1, 2025
99c9342
Feat: 래플 배송지 입력 대기 ui
jade653 Feb 2, 2025
c7ad9a4
Merge pull request #32 from JMarketYard/feat/address-#17
jade653 Feb 2, 2025
b08e764
Feat: 래플 결과 개최자 페이지 ui 구현
jade653 Feb 2, 2025
fce6f99
Feat: resize none 추가 및 병합 충돌 해결 #23
devhaeun Feb 2, 2025
6e169a5
Merge pull request #33 from JMarketYard/feat/create-review-#23
devhaeun Feb 2, 2025
6dd101c
Feat: 티켓 충전 페이지 연결 #37
devhaeun Feb 2, 2025
c668294
Feat: 래플 업로드 페이지 연결 #37
devhaeun Feb 2, 2025
3c659fd
Feat: form submit 제어 #37
devhaeun Feb 2, 2025
dee5ec2
Feat: 래플 업로드 페이지 티켓 개수 직접 입력 모달 연결 #37
devhaeun Feb 2, 2025
75a87a3
Rename: 래플 업로드 페이지 파일 이름 수정
devhaeun Feb 2, 2025
415890f
Merge branch 'develop' of https://github.com/JMarketYard/Front-end in…
devhaeun Feb 2, 2025
8fcd1e2
Feat: 알림 아이콘 svg 컴포넌트화 #5
devhaeun Feb 2, 2025
63dae65
Merge branch 'develop' into feature/home-page-#3
jade653 Feb 2, 2025
e1cfb33
Merge branch 'develop' into feat/raffle-details-#25
jade653 Feb 2, 2025
6eef6a2
Merge branch 'develop' into feat/drawModal-#15
yelynnn Feb 2, 2025
cd1f566
Merge pull request #26 from JMarketYard/feat/drawModal-#15
yelynnn Feb 2, 2025
2eee365
Merge branch 'develop' into feat/raffle-details-#25
jade653 Feb 2, 2025
82e6598
Merge branch 'develop' into feature/home-page-#3
jade653 Feb 2, 2025
ca5c5fb
Merge pull request #38 from JMarketYard/feat/connect-#37
jade653 Feb 2, 2025
18b9af0
feat/반응형 ui
yelynnn Feb 2, 2025
56582a8
vercel 환경설정
yelynnn Feb 2, 2025
c8266aa
Merge branch 'develop' into feat/vercel
yelynnn Feb 2, 2025
7fe9bca
Merge pull request #40 from JMarketYard/feat/vercel
jade653 Feb 2, 2025
ecf792c
Merge branch 'develop' into feat/raffle-details-#25
jade653 Feb 2, 2025
8f56e6d
Merge branch 'develop' into feature/home-page-#3
jade653 Feb 2, 2025
a0a847b
Merge branch 'develop' into feat/host-result-#3
jade653 Feb 2, 2025
591d491
fix/머지 충돌 해결
yelynnn Feb 2, 2025
babdade
Merge pull request #42 from JMarketYard/fix/container
jade653 Feb 2, 2025
435d653
Feat: 검색 모달 요소 구현 #5
devhaeun Feb 2, 2025
706424a
Merge branch 'develop' into feature/home-page-#3
jade653 Feb 2, 2025
2590743
Merge branch 'develop' into feat/host-result-#3
jade653 Feb 2, 2025
6d07e01
Merge branch 'develop' into feat/raffle-details-#25
jade653 Feb 2, 2025
54bc051
fix/vercel 환경세팅 수정
yelynnn Feb 2, 2025
9e90509
Merge pull request #43 from JMarketYard/fix/container
jade653 Feb 2, 2025
9ee1262
Feat: 검색창 입력어 state로 받아오기 #5
devhaeun Feb 2, 2025
ddf98c3
Merge pull request #35 from JMarketYard/feat/raffle-details-#25
yelynnn Feb 2, 2025
6167bfd
Merge pull request #36 from JMarketYard/feat/host-result-#3
yelynnn Feb 2, 2025
72744e5
Merge branch 'develop' into feature/home-page-#3
jade653 Feb 2, 2025
d5c4bce
Feat: 래플 둘러보기 네비게이션 연결 전 병합
jade653 Feb 2, 2025
df51c21
Feat: 오류 해결 위해 commit
jade653 Feb 2, 2025
3cb2532
Feat: 병합
jade653 Feb 2, 2025
9b9a944
Chore: 병합 충돌 및 change 경로 추가
devhaeun Feb 2, 2025
3ce2e22
fix: vercel 빌드수정
yelynnn Feb 2, 2025
88d341f
Merge pull request #45 from JMarketYard/fix/vercel-audit
devhaeun Feb 2, 2025
e816750
fix/svg 빌드 에러 수정
yelynnn Feb 2, 2025
7c0c6b0
Fix: 병합 충돌 해결
devhaeun Feb 3, 2025
83b9cb9
Feat: 카테고리 메뉴 닫힘 기능 추가 #5
devhaeun Feb 3, 2025
40454f6
Feat: 카테고리 ref 수정 #5
devhaeun Feb 3, 2025
5fe4619
Feat: 카테고리 애니메이션 추가 #5
devhaeun Feb 3, 2025
b26106c
chore: 로그인 반응형 Ui #46
yelynnn Feb 3, 2025
f13d301
chore: 환경설정 수정 #46
yelynnn Feb 3, 2025
c880420
feat/카카오 리다이랙트 연결
yelynnn Feb 3, 2025
0a8143c
chore: 충전하기 반응형 ui #46
yelynnn Feb 3, 2025
cbed4e3
feat: 반응형 공용 컴포넌트 #46
yelynnn Feb 3, 2025
f410245
Chore: 폴더명 변경 및 이미지 로고 수정 #5
devhaeun Feb 3, 2025
7991586
Refactor: 상품 배열 그리드 사용
jade653 Feb 4, 2025
f2fe479
Refactor: ImminentDeadline, MyLike, MyFollow를 HomeSection 컴포넌트로 통합.
jade653 Feb 4, 2025
28fcd75
Merge branch 'develop' into feature/home-page-#3
jade653 Feb 4, 2025
b1f5fcd
Feat: /(루트)로 경로 설정
jade653 Feb 4, 2025
a4cf96c
Feat: Homepage 경로 수정, AdBanner 수정(미완)
jade653 Feb 4, 2025
f1282c9
Merge pull request #47 from JMarketYard/feat/tabletUI-#46
jade653 Feb 4, 2025
df9539e
Test: HomeData(exampleData)로 테스트
jade653 Feb 5, 2025
643833c
Test: HomeData 사용, 더보기 링크만 설정, 래플 상세보기 연결 안됨
jade653 Feb 5, 2025
42776ba
Merge pull request #39 from JMarketYard/feature/home-page-#3
devhaeun Feb 5, 2025
9133a9a
Merge branch 'develop' of https://github.com/JMarketYard/Front-end in…
devhaeun Feb 5, 2025
c495c98
Merge pull request #44 from JMarketYard/feat/header-#5
jade653 Feb 5, 2025
7c598f6
Merge branch 'feat/address-#50' of https://github.com/JMarketYard/Fro…
devhaeun Feb 8, 2025
51563f7
gitignore 추가
devhaeun Feb 8, 2025
a812c68
Feat: 카카오 배송지 API 연결 #50
devhaeun Feb 8, 2025
11df0a6
병합충돌해결
devhaeun Feb 8, 2025
8a6756f
Chore: 안 쓰는 구 헤더 컴포넌트 삭제
devhaeun Feb 8, 2025
15e0035
Merge branch 'develop' of https://github.com/JMarketYard/Front-end in…
devhaeun Feb 9, 2025
c0dc2d5
Fix: 로컬 로그인 식별 기능
devhaeun Feb 9, 2025
ee48b1d
Feat: 배송지 설정 관련 API 연결 #50
devhaeun Feb 9, 2025
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
9 changes: 9 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/apis/axiosInstance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ import axios from 'axios';

const axiosInstance = axios.create({
baseURL: `${import.meta.env.VITE_API_BASE_URL}`,
headers: {
Authorization: `Bearer ${import.meta.env.VITE_API_ACCESS_TOKEN}`
},
withCredentials: true,
});

Expand Down
6 changes: 5 additions & 1 deletion src/context/AuthProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,16 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
// 로그인 함수
const login = async () => {
try {
const { data } = await axiosInstance.get('/api/member/user-info', {});
const { data } = await axiosInstance.get('/api/member/user-info', {
withCredentials: true,
});
if (data.isSuccess) {
setIsAuthenticated(true);
} else {
setIsAuthenticated(false);
}
console.log(data);
console.log(data.isSuccess);
} catch (error) {
console.error('로그인 체크 실패:', error);
setIsAuthenticated(false);
Expand Down
58 changes: 54 additions & 4 deletions src/pages/address/addressSetPage.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,60 @@
import styled from "styled-components";
import BigTitle from "../../components/BigTitle";
import Address from "./components/Address";
import { useState } from "react";
import { useEffect, useState } from "react";
import { useModalContext } from "../../components/Modal/context/ModalContext";
import AddAddress from "./components/modal/AddAddress";
import media from "../../styles/media";
import axiosInstance from "../../apis/axiosInstance";

export type TAddress = {
addressId: number,
addressName: string,
recipientName: string,
addressDetail: string,
phoneNumber: string,
isDefault: boolean
};

const AddressSetPage = () => {
const [isSelect, setIsSelect] = useState(false);
const { openModal } = useModalContext();
const [addressList, setAddressList] = useState<TAddress[]|undefined>([]);
const [addressId, setAddressId] = useState<number|null>(null);

const handleModal = () => {
openModal(({ onClose }) => <AddAddress onClose={onClose} />);
}
openModal(({ onClose }) =>
<AddAddress onClose={onClose}
fetchAddresses={fetchAddresses}
/>);
};

const fetchAddresses = async () => {
const {data} = await axiosInstance.get(
'/api/member/mypage/setting/addresses'
);
setAddressList(data.result.addressList);
console.log(data.result.addressList);
};

const handleDelete = () => {
const deleteAddress = async () => {
const { data } = await axiosInstance.delete(
'/api/member/mypage/setting/addresses', {
data: { addressId }
});
await fetchAddresses();
};
if (addressId!==-1) {
deleteAddress();
setAddressId(null);
setIsSelect(false);
}
};

useEffect(() => {
fetchAddresses();
}, []);

return (
<Wrapper>
Expand All @@ -22,6 +64,7 @@ const AddressSetPage = () => {
? <>
<SelectBtn
$right={'128px'}
onClick={handleDelete}
>배송지 삭제</SelectBtn>
<SelectBtn
$background={'rgba(201, 8, 255, 0.20)'}
Expand All @@ -33,7 +76,14 @@ const AddressSetPage = () => {
}
</BigTitle>
<AddressList>
<Address isSelect={isSelect} />
{addressList?.map(v =>
<Address key={v.addressId}
isSelect={isSelect} address={v}
addressId={addressId}
setAddressId={setAddressId}
fetchAddresses={fetchAddresses}
/>
)}
</AddressList>
<Button onClick={handleModal}>새 배송지 추가하기</Button>
</Wrapper>
Expand Down
48 changes: 35 additions & 13 deletions src/pages/address/components/Address.tsx
Original file line number Diff line number Diff line change
@@ -1,29 +1,51 @@
/// <reference types="vite-plugin-svgr/client" />
import { useState } from "react";
import React, { useState } from "react";
import styled from "styled-components";
import { ReactComponent as checkbox } from "../../../assets/imgCheckbox.svg";
import media from "../../../styles/media";
import { TAddress } from "../addressSetPage";
import axiosInstance from "../../../apis/axiosInstance";

const Address = ({isSelect}:{isSelect:boolean}) => {
// 임의의 default state: 후에 데이터 연결하면 삭제할 state
const [isDefault, setIsDefault] = useState(false);
const [isClicked, setIsClicked] = useState(false);
type TAddressProps = {
isSelect: boolean,
address: TAddress,
addressId: number|null,
setAddressId: React.Dispatch<React.SetStateAction<number|null>>,
fetchAddresses: () => Promise<void>,
}

const Address = ({isSelect, address, addressId,
setAddressId, fetchAddresses}:TAddressProps) => {
// const [defaultId, setDefaultId] = useState<number|null>(null);

const defaultAddress = async () => {
const { data } = await axiosInstance.post(
'/api/member/mypage/setting/addresses',
{ addressId: address.addressId }
);
await fetchAddresses();
console.log("Success POST: Change Default Address!");
};

const handleCheckbox = () => {
setAddressId(address.addressId);
}
return (
<>
<List>
{isSelect ?
<Checkbox
onClick={()=>setIsClicked(!isClicked)}
fill={isClicked ? "#C908FF" : "none"}
onClick={handleCheckbox}
fill={addressId===address.addressId ? "#C908FF" : "none"}
/>
: <ListIcon />}
<TitleSpan>우리집</TitleSpan>
<AddressSpan>서울특별시 마포구 와우산로 94 홍익대학교 제2기숙사</AddressSpan>
<TitleSpan>{address.addressName}</TitleSpan>
<AddressSpan>{address.addressDetail}</AddressSpan>
<SetBtn
$default={isDefault}
onClick={()=>setIsDefault(!isDefault)}
$default={address.isDefault}
onClick={defaultAddress}
>{
isDefault
address.isDefault
? '기본 배송지로 설정됨'
: '기본 배송지로 설정하기'
}</SetBtn>
Expand All @@ -39,7 +61,7 @@ const List = styled.li`
align-items: center;
// justify-content: space-between;
column-gap: 74px;
width: 925px;
width: 940px;
box-sizing: border-box;
${media.medium`
width: 631px;
Expand Down
8 changes: 6 additions & 2 deletions src/pages/address/components/InputAddress.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,20 @@ type TInputAddress = {
listColor:string,
title:string,
inputType?: 'tel',
value:string,
setValue:React.Dispatch<React.SetStateAction<string>>,
}

const InputAddress = ({listColor, title, inputType}:TInputAddress) => {
const InputAddress = ({listColor, title, inputType, value, setValue}:TInputAddress) => {
return (
<Container>
<IcList fill={listColor} width={7} height={7} />
<TitleBox>
{title}
</TitleBox>
<Input type={inputType||"text"} />
<Input type={inputType||"text"} value={value}
onChange={(e:React.ChangeEvent<HTMLInputElement>)=>
setValue(e.target.value)} />
</Container>
);
};
Expand Down
53 changes: 45 additions & 8 deletions src/pages/address/components/modal/AddAddress.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,21 @@ import InputAddress from "../InputAddress";
import { ReactComponent as IcList } from "../../../../assets/icList.svg";
import { ReactComponent as closeModal } from "../../../../assets/icCloseAddressModal.svg";
import { Address, useDaumPostcodePopup } from "react-daum-postcode";
import axiosInstance from "../../../../apis/axiosInstance";

const AddAddress = ({ onClose }:PropsWithChildren<{ onClose: () => void }>) => {
const AddAddress = ({ onClose, fetchAddresses }:PropsWithChildren<{
onClose: () => void,
fetchAddresses: () => Promise<void>
}>) => {
const open = useDaumPostcodePopup();
const { clearModals } = useModalContext();
const [apiAddress, setApiAddress] = useState<string>('');
const [addressName, setAddressName] = useState<string>('');
const [recipientName, setRecipientName] = useState<string>('');
const [addressDetail, setAddressDetail] = useState<string>('');
const [telephone, setTelephone] = useState<string>('');
const [phoneNumber, setPhoneNumber] = useState<string>('');
const [message, setMessage] = useState<string>('');

const handleComplete = (data:Address) => {
let fullAddress = data.address; // 기본주소
Expand Down Expand Up @@ -43,6 +53,26 @@ const AddAddress = ({ onClose }:PropsWithChildren<{ onClose: () => void }>) => {
clearModals();
};

const handleAddAddress = () => {
const postAddress = async () => {
const { data } = await axiosInstance.post(
'/api/member/mypage/setting/addresses/add',
{
addressName,
recipientName,
addressDetail: apiAddress+' '+addressDetail,
phoneNumber,
message,
isDefault: false,
}
);
await fetchAddresses();
console.log('Success POST');
};
postAddress();
onCloseModal();
}

return ReactDOM.createPortal(
<ModalOverlay>
<ModalContent>
Expand All @@ -52,8 +82,10 @@ const AddAddress = ({ onClose }:PropsWithChildren<{ onClose: () => void }>) => {
<LineDiv />
</TopContainer>
<ContentsContainer>
<InputAddress listColor="#C908FF" title="배송지명" />
<InputAddress listColor="#C908FF" title="받는 사람" />
<InputAddress listColor="#C908FF" title="배송지명"
value={addressName} setValue={setAddressName} />
<InputAddress listColor="#C908FF" title="받는 사람"
value={recipientName} setValue={setRecipientName} />
<AddressBox>
<FlexContainer>
<IcList fill="#C908FF" width={7} height={7} />
Expand All @@ -62,14 +94,19 @@ const AddAddress = ({ onClose }:PropsWithChildren<{ onClose: () => void }>) => {
<FindAddressBox>
<FindAddress onClick={handlePostcode} readOnly
value={apiAddress}/>
<FindAddress />
<FindAddress value={addressDetail}
onChange={(e:React.ChangeEvent<HTMLInputElement>)=>
setAddressDetail(e.target.value)}/>
</FindAddressBox>
</AddressBox>
<InputAddress listColor="#C908FF" title="연락처" inputType="tel" />
<InputAddress listColor="#E4E4E4" title="휴대폰" inputType="tel" />
<InputAddress listColor="#E4E4E4" title="주문 메시지" />
<InputAddress listColor="#C908FF" title="연락처" inputType="tel"
value={telephone} setValue={setTelephone} />
<InputAddress listColor="#E4E4E4" title="휴대폰" inputType="tel"
value={phoneNumber} setValue={setPhoneNumber}/>
<InputAddress listColor="#E4E4E4" title="주문 메시지"
value={message} setValue={setMessage} />
</ContentsContainer>
<AddBtn>추가하기</AddBtn>
<AddBtn onClick={handleAddAddress}>추가하기</AddBtn>
</ModalContent>
</ModalOverlay>,
document.getElementById('modal-root') as HTMLElement,
Expand Down