From 2c0c7de7c461845b7cd777de406e695d579fd854 Mon Sep 17 00:00:00 2001 From: yelynnn <149746062+yelynnn@users.noreply.github.com> Date: Wed, 12 Feb 2025 19:13:22 +0900 Subject: [PATCH] Feat/change api (#74) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 환전/충전 api 연결 * Feat/mypage 54 (#64) feat: 마이페이지 * Feat/responsive #57 (#63) * Fix: 페이지 짤림 문제 해결 #57 윈도우 창 크기를 조절할 때 flex를 이용해 align-items: center로 인해 페이지 왼쪽이 짤리는 문제 -> safe center 이용해 해결 * Design: 래플 업로드 페이지 태블릿뷰 #57 래플 업로드 페이지 태블릿뷰 완성 * Design: 공개 정보 설정 페이지 태블릿뷰 #57 공개 정보 설정 페이지 반응형 태블릿뷰 완성 * Design: 후기 페이지 반응형 #57 후기 남기기 페이지 반응형 태블릿뷰 완성 * Design: 배송지 설정 페이지 반응형 #57 배송지 설정 페이지 반응형 태블릿뷰 완성 * Chore: 태블릿뷰 간격 조정 #57 반응형(태블릿뷰) column-gap 조정 * Design: 배송지 설정 페이지 글자 깨짐 수정 #57 * 로컬 로그인 식별 기능 수정 (#65) Fix: 로컬 로그인 식별 기능 * Feat/address #50 (#66) * Update issue templates 이슈 템플릿 * chore: TS로 변환 - typescript 설치 - vite.config.ts. 파일로 바꾸기 - ts.config.josn, tsconfig.node.json 파일 수정 - vite-env.d.ts 파일 생성 - 파일 형식 .jsx에서 .tsx로 수정 * Style: 헤더 컴포넌트 크기 수정 #1 - 1440 크기에 맞게 전체 요소들 크기 수정 - router element에 Header 컴포넌트 추가 - 컴포넌트 이름 SearchBox -> Header 수정 - 로그인 상태에 따라 로그인/로그아웃 버튼 다르게 보이는 로직 추가 - 래플 업로드 버튼 삭제 - 충전/환전 버튼 추가 * Chore: router에 Header 컴포넌트 연결 - Header 스타일 코드 주석 삭제 - 래플 업로드 버튼의 스타일링은 다른 곳에서 사용될 가능성을 염두하여 주석 처리만 수행 - router에 기본 element로 Header 컴포넌트 연결 * Fix: 로그인 버튼 props 전달 수정 #1 로그인 버튼에 전달하는 props에 string 타입으로 값을 전달하도록 수정함 * Feat: 카테고리 드롭다운 메뉴 기능 추가 #1 카테고리 아이콘 클릭 시 드롭다운 메뉴가 나타나는 기능 추가 * Feat: 카테고리 드롭다운 메뉴 #1 - 카테고리 아이콘 스타일 수정 - 카테고리 아이콘 클릭 시 드롭다운 메뉴 나타나도록 기능 추가 * Style: 세미콜론 추가 #1 Header 컴포넌트 Container 내 세미콜론 추가 * Feat: 레이아웃 및 Wrapper 스타일 추가 레이아웃 폴더에 RootLayout 파일 생성 및 Wrapper 스타일 컴포넌트 옮김 * Feat: 래플 업로드 페이지 추가 #10 래플 업로드 페이지 생성 * Feat: 라우터 경로 및 Wrapper 스타일 수정 #10 - 래플 업로드 페이지 라우터 경로 수정 - RootLayout을 감싼 Wrapper의 flex-direction을 column으로 변경 * Design: Wrapper 스타일 추가 #10 Wrapper 컴포넌트 스타일에 align-items를 center로 추가 justify-content: center 주석 처리 * Design: 래플 업로드 페이지 UI #10 래플 업로드 페이지 UI 완성 * Feat: 제목 컴포넌트 분리 #10 공통 컴포넌트 BigTitle 생성 * chore: 환경세팅 수정 * Feat: media.tsx 파일 추가 #13 media.tsx 파일에 반응형 크기 설정 파일 생성 * feat/모달 기본 세팅 * feat/로그인 모달웹ui 구현 * chore: 미디어쿼리 공용파일 * Update router.tsx * Update index.html * Delete yarn.lock * Feat: 브레이크포인트 나누고 컴포넌트 분리 #13 PC 화면과 태블릿/스마트폰 화면에서 헤더 디자인이 많이 달라서, PC 헤더를 ContainerLarge 컴포넌트로 분리 정의된 브레이크 포인트에 따라 화면 나눔 * Feat: HeaderIconMenu 컴포넌트 추가 #13 태블릿/휴대폰 화면에 있는 둥근 아이콘 메뉴를 HeaderIconMenu 컴포넌트로 분리함. * Design: 반응형 헤더 UI #13 크기에 따라 헤더 내 아이콘 등의 위치 수정하여 반응형 헤더 UI 개발 * Fix: media small 기준 수정 #13 피그마 디자인에 맞추어 small 화면 기준 390px로 수정 * Design: 태블릿 화면 비율에서 검색창과 로고 겹침 문제 해결 #13 화면 크기가 media.small보다 크고 553px보다 작을 때 장마당 로고 이미지 위치 고정 * Design: 래플 업로드 버튼 추가 * Design: 래플 업로드 버튼 추가 #13 헤더에 래플 업로드 버튼 추가 * 추가 세팅 #15 * 팔로우 취소 모달 ui #15 * section3 모달 #15 * chore/section6 모달 #15 * chore/section8 모달 #15 * feat/로그인 모달 #15 * chore/section9 모달 #15 * chore/section7 모달 #15 * Style: 헤더 사용하지 않는 이미지 import 삭제 #13 Header 파일에서 사용하지 않는 이미지 import 삭제 * Feat: textarea 속성 추가 #10 RaffleUploadPage 내 Textarea 속성에 resize: none 추가 * Feat: 래플 업로드 버튼 페이지 연결 #13 래플 업로드 버튼 눌렀을 때 래플 업로드 페이지(/raffle-upload)로 이동하도록 연결 * Design: 헤더 상단 로그인 등 메뉴 위치 수정 #1 헤더 상단에 위치한 로그인/알림/설정 메뉴 위치 수정 헤더 하단 구분선을 border-bottom 속성에서 없애고 바깥에 div 요소로 구분 * Design: 카테고리 메뉴 z-index 올림 #1 헤더 전체에 z-index:100 부여하여 카테고리 메뉴 z-index 올리기 시도 홈 페이지와 병합했을 때 의도한 것과 같이 카테고리 메뉴가 상단에 올라오는지 확인 필요 * Design: 아이콘 크기 조정 및 카테고리 호버 이벤트 추가 #1 - 아이콘 이미지 및 글자 크기 수정 - 카테고리 메뉴 호버 시 테두리 생기도록 이벤트 추가 * Style: Header에서 사용되지 않는 styled component 삭제 #1 Header 파일에서 사용하지 않는 styled component 및 주석 삭제 close issue #1 * feat/로그인 모달 연결 #18 * feat/환전충전 페이지 구현 #18 * Feat: 로컬 이미지 기능 연결 #10 상품 이미지 삽입하는 블록 스타일 수정 및 로컬 파일 연결 카테고리 선택에 option 추가 * chore/환경세팅 * Design: 카테고리 스타일 조절 #10 카테고리 화살표 변경 및 카테고리, input, textarea 내부 padding값 수정 * Feat: address 주소 추가 router에 address 경로 추가 및 기본 폴더 구조, 페이지 생성 * Design: productCard, smallProductCard, homepage UI 수정 / adBanner 추가 수정 해야함 #3 * Rename: 컴포넌트 파스칼케이스로 변경 #3 * Design: 배송지 설정 페이지 UI #17 배송지 설정 페이지 UI 큰 틀 개발 * Design: 배송지 선택 버튼 UI #17 배송지 설정 선택/선택 취소 버튼 UI 구현 * Feat: 배송지 선택 svg 컴포넌트 이용 #17 - svg 컴포넌트 이용 위한 패키지 설치 - vite-plugin-svgr, @svgr/rollup -D 설치 - svg 컴포넌트 이용해 선택할 때마다 체크박스 UI 변하도록 조정 * Design: 체크박스 버튼 크기 조정 #17 체크박스 svg 아이콘 살짝 잘리는 부분 없애기 위해 크기 조정 * feat/드로우 모달 ui #15 * Fix: 병합 충돌 해결 #3 * Fix: raffleDetail(미완) 주석처리 * Feat: raffleDetail 생성 * feat/광고 슬라이드 ui 수정 #3 * fix: 머지 충돌 해결 * Feat: 공개 정보 설정 페이지 UI #24 공개 정보 설정 페이지 UI 완성 * Feat: 후기 남기기 페이지 UI 개발 #23 후기 남기기 페이지 개발: 평점 남기기 별 컴포넌트 외에 완성 * Design: 버튼 hover 커서 포인터 #23 버튼에 hover 시 커서 모양 포인터로 변경 * Feat: 래플 상세보기 페이지 구현 #25 * Design: 래플 전체보기 위치 수정 * feat: 래플 상세페이지 상품부분 ui * 공용 컴포넌트 리뷰 별 구현현 * 공용 컴포넌트 별 구현현 * Create pull_request_template.md * Feat: 래플 상세보기 조건부 렌더링, mock data 수정, 도넛 차트 생성 * Feat: 응모하기 모달 연결 #25 * Feat: svg 아이콘 컴포넌트화 진행 중 #5 알림 svg 아이콘 컴포넌트화 진행 중 에러 발생 #17 브랜치 병합 필요 * Chore: 반응형 아이콘 메뉴 숨김 반응형 아이콘 메뉴는 반응형 디자인 전에는 사용이 불필요하여 RootLayout에서 주석처리 * Feat: 조건부 렌더링 완료, 응모하기 모달 연결 * Feat: 배송지 추가 모달 생성 #17 배송지 추가 모달 생성 및 스타일 완성 * Design: 모달 스타일 수정 #17 모달 내 주소 입력창 정렬 안 맞는 부분 수정 * Feat: 모달 닫기 기능 수정 #17 모달 닫기 버튼 추가 및 모달 닫기 onClose와 clearModals 모두 이용하도록 수정 * Feat: 평점 컴포넌트 수정 및 삽입 #23 후기 작성 페이지에 평점(별점) 컴포넌트 삽입 컴포넌트 크기와 배경 색상이 맞지 않아서 일부 수정함 컴포넌트 크기: 별과 배경 크기 모두 축소 배경 색상: transparent 이용해서 배경색 투명하게 만듦 * Feat: 래플 배송지 입력 대기 ui * Feat: 래플 결과 개최자 페이지 ui 구현 * Feat: 티켓 충전 페이지 연결 #37 헤더에서 충전/환전 아이콘 클릭 시 티켓 충전/환전 페이지로 이동하도록 navigate 추가 * Feat: 래플 업로드 페이지 연결 #37 래플 업로드 페이지에서 업로드 버튼 클릭 시 나타나는 모달 연결 모달에서 업로드 버튼 클릭 시 홈페이지로 이동하도록 연결 * Feat: form submit 제어 #37 버튼 클릭시 form 자동 submit되는 현상 방지 위해 button 요소에 type=button 추가 handleSubmit 함수 업로드 버튼의 onClick에 연결 * Feat: 래플 업로드 페이지 티켓 개수 직접 입력 모달 연결 #37 래플 업로드 페이지에서 티켓 개수 직접 입력 버튼 클릭 시 TicketModal이 열리고, '설정하기' 버튼을 누르면 모달이 닫힌다. 설정한 티켓 개수 데이터를 전달하는 것은 아직 미구현 * Rename: 래플 업로드 페이지 파일 이름 수정 래플 업로드 페이지 파일 이름 camelCase 형식으로 수정 * Feat: 알림 아이콘 svg 컴포넌트화 #5 헤더의 알림 아이콘 svg 컴포넌트화하여 사용 * feat/반응형 ui * vercel 환경설정 * fix/머지 충돌 해결 * Feat: 검색 모달 요소 구현 #5 검색창 클릭 시 검색 모달이 나타나고, 외부 영역을 클릭하면 검색 모달이 사라지도록 구현 * fix/vercel 환경세팅 수정 * Feat: 검색창 입력어 state로 받아오기 #5 검색창 입력어를 state로 받아오도록 연결 * Feat: 래플 둘러보기 네비게이션 연결 전 병합 * Feat: 병합 * fix: vercel 빌드수정 * fix/svg 빌드 에러 수정 * Feat: 카테고리 메뉴 닫힘 기능 추가 #5 카테고리 메뉴 클릭 후 메뉴가 나타났을 때, 카테고리 외부 영역 클릭 시 메뉴가 닫히도록 하는 기능 추가 * Feat: 카테고리 ref 수정 #5 카테고리 외부 영역 클릭 시 드롭다운 메뉴 닫히는 기능 수정 ref를 카테고리 아이콘 전체 영역으로 옮겨서 카테고리 아이콘 클릭 시 드롭다운 메뉴가 닫혔다 나타나는 문제 해결 * Feat: 카테고리 애니메이션 추가 #5 카테고리 드롭다운 메뉴 부드럽게 떨어지는 애니메이션 추가 * chore: 로그인 반응형 Ui #46 * chore: 환경설정 수정 #46 * feat/카카오 리다이랙트 연결 * chore: 충전하기 반응형 ui #46 * feat: 반응형 공용 컴포넌트 #46 * Chore: 폴더명 변경 및 이미지 로고 수정 #5 헤더 컴포넌트의 로고 이미지를 svg 아이콘으로 수정 searchBox 폴더명을 header로 변경 * Refactor: 상품 배열 그리드 사용 * Refactor: ImminentDeadline, MyLike, MyFollow를 HomeSection 컴포넌트로 통합. Feat: API 연결 준비 (백 서버 연결 전) * Feat: /(루트)로 경로 설정 * Feat: Homepage 경로 수정, AdBanner 수정(미완) * Test: HomeData 사용, 더보기 링크만 설정, 래플 상세보기 연결 안됨 * gitignore 추가 * Feat: 카카오 배송지 API 연결 #50 주소지 첫번째 박스 클릭 시 배송지 선택 API로 연결 두 번째 박스에는 직접 상세 주소 입력 가능 * Chore: 안 쓰는 구 헤더 컴포넌트 삭제 * Fix: 로컬 로그인 식별 기능 * Feat: 배송지 설정 관련 API 연결 #50 배송지 불러오기, 추가, 삭제, 기본 배송지 변경 API 연결 완료 --------- Co-authored-by: woals2840 <143878241+woals2840@users.noreply.github.com> Co-authored-by: yelynnn <149746062+yelynnn@users.noreply.github.com> Co-authored-by: jade Co-authored-by: 김예린 Co-authored-by: woals2840 * Feat#68 UI 수정 (#69) * Update issue templates 이슈 템플릿 * chore: TS로 변환 - typescript 설치 - vite.config.ts. 파일로 바꾸기 - ts.config.josn, tsconfig.node.json 파일 수정 - vite-env.d.ts 파일 생성 - 파일 형식 .jsx에서 .tsx로 수정 * Style: 헤더 컴포넌트 크기 수정 #1 - 1440 크기에 맞게 전체 요소들 크기 수정 - router element에 Header 컴포넌트 추가 - 컴포넌트 이름 SearchBox -> Header 수정 - 로그인 상태에 따라 로그인/로그아웃 버튼 다르게 보이는 로직 추가 - 래플 업로드 버튼 삭제 - 충전/환전 버튼 추가 * Chore: router에 Header 컴포넌트 연결 - Header 스타일 코드 주석 삭제 - 래플 업로드 버튼의 스타일링은 다른 곳에서 사용될 가능성을 염두하여 주석 처리만 수행 - router에 기본 element로 Header 컴포넌트 연결 * Fix: 로그인 버튼 props 전달 수정 #1 로그인 버튼에 전달하는 props에 string 타입으로 값을 전달하도록 수정함 * Feat: 카테고리 드롭다운 메뉴 기능 추가 #1 카테고리 아이콘 클릭 시 드롭다운 메뉴가 나타나는 기능 추가 * Feat: 카테고리 드롭다운 메뉴 #1 - 카테고리 아이콘 스타일 수정 - 카테고리 아이콘 클릭 시 드롭다운 메뉴 나타나도록 기능 추가 * Style: 세미콜론 추가 #1 Header 컴포넌트 Container 내 세미콜론 추가 * Feat: 레이아웃 및 Wrapper 스타일 추가 레이아웃 폴더에 RootLayout 파일 생성 및 Wrapper 스타일 컴포넌트 옮김 * Feat: 래플 업로드 페이지 추가 #10 래플 업로드 페이지 생성 * Feat: 라우터 경로 및 Wrapper 스타일 수정 #10 - 래플 업로드 페이지 라우터 경로 수정 - RootLayout을 감싼 Wrapper의 flex-direction을 column으로 변경 * Design: Wrapper 스타일 추가 #10 Wrapper 컴포넌트 스타일에 align-items를 center로 추가 justify-content: center 주석 처리 * Design: 래플 업로드 페이지 UI #10 래플 업로드 페이지 UI 완성 * Feat: 제목 컴포넌트 분리 #10 공통 컴포넌트 BigTitle 생성 * chore: 환경세팅 수정 * Feat: media.tsx 파일 추가 #13 media.tsx 파일에 반응형 크기 설정 파일 생성 * feat/모달 기본 세팅 * feat/로그인 모달웹ui 구현 * chore: 미디어쿼리 공용파일 * Update router.tsx * Update index.html * Delete yarn.lock * Feat: 브레이크포인트 나누고 컴포넌트 분리 #13 PC 화면과 태블릿/스마트폰 화면에서 헤더 디자인이 많이 달라서, PC 헤더를 ContainerLarge 컴포넌트로 분리 정의된 브레이크 포인트에 따라 화면 나눔 * Feat: HeaderIconMenu 컴포넌트 추가 #13 태블릿/휴대폰 화면에 있는 둥근 아이콘 메뉴를 HeaderIconMenu 컴포넌트로 분리함. * Design: 반응형 헤더 UI #13 크기에 따라 헤더 내 아이콘 등의 위치 수정하여 반응형 헤더 UI 개발 * Fix: media small 기준 수정 #13 피그마 디자인에 맞추어 small 화면 기준 390px로 수정 * Design: 태블릿 화면 비율에서 검색창과 로고 겹침 문제 해결 #13 화면 크기가 media.small보다 크고 553px보다 작을 때 장마당 로고 이미지 위치 고정 * Design: 래플 업로드 버튼 추가 * Design: 래플 업로드 버튼 추가 #13 헤더에 래플 업로드 버튼 추가 * 추가 세팅 #15 * 팔로우 취소 모달 ui #15 * section3 모달 #15 * chore/section6 모달 #15 * chore/section8 모달 #15 * feat/로그인 모달 #15 * chore/section9 모달 #15 * chore/section7 모달 #15 * Style: 헤더 사용하지 않는 이미지 import 삭제 #13 Header 파일에서 사용하지 않는 이미지 import 삭제 * Feat: textarea 속성 추가 #10 RaffleUploadPage 내 Textarea 속성에 resize: none 추가 * Feat: 래플 업로드 버튼 페이지 연결 #13 래플 업로드 버튼 눌렀을 때 래플 업로드 페이지(/raffle-upload)로 이동하도록 연결 * Design: 헤더 상단 로그인 등 메뉴 위치 수정 #1 헤더 상단에 위치한 로그인/알림/설정 메뉴 위치 수정 헤더 하단 구분선을 border-bottom 속성에서 없애고 바깥에 div 요소로 구분 * Design: 카테고리 메뉴 z-index 올림 #1 헤더 전체에 z-index:100 부여하여 카테고리 메뉴 z-index 올리기 시도 홈 페이지와 병합했을 때 의도한 것과 같이 카테고리 메뉴가 상단에 올라오는지 확인 필요 * Design: 아이콘 크기 조정 및 카테고리 호버 이벤트 추가 #1 - 아이콘 이미지 및 글자 크기 수정 - 카테고리 메뉴 호버 시 테두리 생기도록 이벤트 추가 * Style: Header에서 사용되지 않는 styled component 삭제 #1 Header 파일에서 사용하지 않는 styled component 및 주석 삭제 close issue #1 * feat/로그인 모달 연결 #18 * feat/환전충전 페이지 구현 #18 * Feat: 로컬 이미지 기능 연결 #10 상품 이미지 삽입하는 블록 스타일 수정 및 로컬 파일 연결 카테고리 선택에 option 추가 * chore/환경세팅 * Design: 카테고리 스타일 조절 #10 카테고리 화살표 변경 및 카테고리, input, textarea 내부 padding값 수정 * Feat: address 주소 추가 router에 address 경로 추가 및 기본 폴더 구조, 페이지 생성 * Design: productCard, smallProductCard, homepage UI 수정 / adBanner 추가 수정 해야함 #3 * Rename: 컴포넌트 파스칼케이스로 변경 #3 * Design: 배송지 설정 페이지 UI #17 배송지 설정 페이지 UI 큰 틀 개발 * Design: 배송지 선택 버튼 UI #17 배송지 설정 선택/선택 취소 버튼 UI 구현 * Feat: 배송지 선택 svg 컴포넌트 이용 #17 - svg 컴포넌트 이용 위한 패키지 설치 - vite-plugin-svgr, @svgr/rollup -D 설치 - svg 컴포넌트 이용해 선택할 때마다 체크박스 UI 변하도록 조정 * Design: 체크박스 버튼 크기 조정 #17 체크박스 svg 아이콘 살짝 잘리는 부분 없애기 위해 크기 조정 * feat/드로우 모달 ui #15 * Fix: 병합 충돌 해결 #3 * Fix: raffleDetail(미완) 주석처리 * Feat: raffleDetail 생성 * feat/광고 슬라이드 ui 수정 #3 * fix: 머지 충돌 해결 * Feat: 공개 정보 설정 페이지 UI #24 공개 정보 설정 페이지 UI 완성 * Feat: 후기 남기기 페이지 UI 개발 #23 후기 남기기 페이지 개발: 평점 남기기 별 컴포넌트 외에 완성 * Design: 버튼 hover 커서 포인터 #23 버튼에 hover 시 커서 모양 포인터로 변경 * Feat: 래플 상세보기 페이지 구현 #25 * Design: 래플 전체보기 위치 수정 * feat: 래플 상세페이지 상품부분 ui * 공용 컴포넌트 리뷰 별 구현현 * 공용 컴포넌트 별 구현현 * Create pull_request_template.md * Feat: 래플 상세보기 조건부 렌더링, mock data 수정, 도넛 차트 생성 * Feat: 응모하기 모달 연결 #25 * Feat: svg 아이콘 컴포넌트화 진행 중 #5 알림 svg 아이콘 컴포넌트화 진행 중 에러 발생 #17 브랜치 병합 필요 * Chore: 반응형 아이콘 메뉴 숨김 반응형 아이콘 메뉴는 반응형 디자인 전에는 사용이 불필요하여 RootLayout에서 주석처리 * Feat: 조건부 렌더링 완료, 응모하기 모달 연결 * Feat: 배송지 추가 모달 생성 #17 배송지 추가 모달 생성 및 스타일 완성 * Design: 모달 스타일 수정 #17 모달 내 주소 입력창 정렬 안 맞는 부분 수정 * Feat: 모달 닫기 기능 수정 #17 모달 닫기 버튼 추가 및 모달 닫기 onClose와 clearModals 모두 이용하도록 수정 * Feat: 평점 컴포넌트 수정 및 삽입 #23 후기 작성 페이지에 평점(별점) 컴포넌트 삽입 컴포넌트 크기와 배경 색상이 맞지 않아서 일부 수정함 컴포넌트 크기: 별과 배경 크기 모두 축소 배경 색상: transparent 이용해서 배경색 투명하게 만듦 * Feat: 래플 배송지 입력 대기 ui * Feat: 래플 결과 개최자 페이지 ui 구현 * Feat: 티켓 충전 페이지 연결 #37 헤더에서 충전/환전 아이콘 클릭 시 티켓 충전/환전 페이지로 이동하도록 navigate 추가 * Feat: 래플 업로드 페이지 연결 #37 래플 업로드 페이지에서 업로드 버튼 클릭 시 나타나는 모달 연결 모달에서 업로드 버튼 클릭 시 홈페이지로 이동하도록 연결 * Feat: form submit 제어 #37 버튼 클릭시 form 자동 submit되는 현상 방지 위해 button 요소에 type=button 추가 handleSubmit 함수 업로드 버튼의 onClick에 연결 * Feat: 래플 업로드 페이지 티켓 개수 직접 입력 모달 연결 #37 래플 업로드 페이지에서 티켓 개수 직접 입력 버튼 클릭 시 TicketModal이 열리고, '설정하기' 버튼을 누르면 모달이 닫힌다. 설정한 티켓 개수 데이터를 전달하는 것은 아직 미구현 * Rename: 래플 업로드 페이지 파일 이름 수정 래플 업로드 페이지 파일 이름 camelCase 형식으로 수정 * Feat: 알림 아이콘 svg 컴포넌트화 #5 헤더의 알림 아이콘 svg 컴포넌트화하여 사용 * feat/반응형 ui * vercel 환경설정 * fix/머지 충돌 해결 * Feat: 검색 모달 요소 구현 #5 검색창 클릭 시 검색 모달이 나타나고, 외부 영역을 클릭하면 검색 모달이 사라지도록 구현 * fix/vercel 환경세팅 수정 * Feat: 검색창 입력어 state로 받아오기 #5 검색창 입력어를 state로 받아오도록 연결 * Feat: 래플 둘러보기 네비게이션 연결 전 병합 * Feat: 병합 * fix: vercel 빌드수정 * fix/svg 빌드 에러 수정 * Feat: 카테고리 메뉴 닫힘 기능 추가 #5 카테고리 메뉴 클릭 후 메뉴가 나타났을 때, 카테고리 외부 영역 클릭 시 메뉴가 닫히도록 하는 기능 추가 * Feat: 카테고리 ref 수정 #5 카테고리 외부 영역 클릭 시 드롭다운 메뉴 닫히는 기능 수정 ref를 카테고리 아이콘 전체 영역으로 옮겨서 카테고리 아이콘 클릭 시 드롭다운 메뉴가 닫혔다 나타나는 문제 해결 * Feat: 카테고리 애니메이션 추가 #5 카테고리 드롭다운 메뉴 부드럽게 떨어지는 애니메이션 추가 * chore: 로그인 반응형 Ui #46 * chore: 환경설정 수정 #46 * feat/카카오 리다이랙트 연결 * chore: 충전하기 반응형 ui #46 * feat: 반응형 공용 컴포넌트 #46 * Chore: 폴더명 변경 및 이미지 로고 수정 #5 헤더 컴포넌트의 로고 이미지를 svg 아이콘으로 수정 searchBox 폴더명을 header로 변경 * Refactor: 상품 배열 그리드 사용 * Refactor: ImminentDeadline, MyLike, MyFollow를 HomeSection 컴포넌트로 통합. Feat: API 연결 준비 (백 서버 연결 전) * Feat: /(루트)로 경로 설정 * Feat: Homepage 경로 수정, AdBanner 수정(미완) * Test: HomeData 사용, 더보기 링크만 설정, 래플 상세보기 연결 안됨 * Feat: API 요청 시도. 실패 #3 * Feat: 홈페이지 API 연결 #3 get api/permit/home 연결 성공 * Fix: ProductCard에서 imgURL 연결 안됨 * Feat: 상품카드 클릭 시 링크 연결, 좋아요 클릭이벤트 전달 방지, 더보기 링크 연결 * fix: 래플 업로드 페이지 브랜치 오류로 다시 커밋 * Chore: package.json 중복 삭제 * Feat: 이미지 연동 성공, 링크 밑줄문제 해결 * Feat: 이미지 연동 성공, 링크 밑줄문제 해결 * Feat: 개최자 결과페이지 배송지 컴포넌트 추가 * Feat/raffle details #25 (#52) Feat: 홈페이지 API 연결 #3 * Feat: 로그인 여부 확인 src/context 폴더 생성 * Feat: axiosInstance에 withCredentials:true 포함 * Feat: AxiosInstance 설정, AuthContext 생성 * Feat: 검색페이지 구현 #25 * Feat: 래플 상세보기 API 연동 * Feat: 응모하기 모달 수정, 이미지 슬라이더 해결, 더보기 링크 문제 해결 #25 * Feat: 카테고리별 래플 보기 링크 연결 * Feat: 카테고리별 래플 보기 링크 연결 * Feat: 로그인 연동 확인 * Feat: RaffleDetailProps undefined 해결 * Feat: undefined error 원상복귀 * Fix: 홈페이지 api 수정 * UI 데모데이 신청 --------- Co-authored-by: woals2840 <143878241+woals2840@users.noreply.github.com> Co-authored-by: devhaeun Co-authored-by: yelynnn <149746062+yelynnn@users.noreply.github.com> Co-authored-by: jade Co-authored-by: 김예린 Co-authored-by: HAEUN LEE <78083098+devhaeun@users.noreply.github.com> Co-authored-by: woals2840 * Feat/raffle details #25 (#62) Feat: 드로우 모달 * Feat/header #55 (#70) Feat: 최근 검색어 기능 완성 #55 - 검색 시 최근 검색어 바로 반영: zustand 이용 - 검색어 삭제 시 최근 검색어 바로 삭제 - 최근 검색어 받아오기 * feat: 충전/환전api 연결 * feat: 로그아웃 api 연결 * fix: 충전/환전 api 수정 * fix: 충전 모달 수정 * fix: 충전 api 에러 해결 --------- Co-authored-by: urimida <143990075+urimida@users.noreply.github.com> Co-authored-by: HAEUN LEE <78083098+devhaeun@users.noreply.github.com> Co-authored-by: woals2840 <143878241+woals2840@users.noreply.github.com> Co-authored-by: jade Co-authored-by: woals2840 Co-authored-by: devhaeun --- package-lock.json | 36 +++++++++++++++++++ package.json | 3 ++ .../charge/components/modal/ChargeModal.tsx | 9 +++++ 3 files changed, 48 insertions(+) diff --git a/package-lock.json b/package-lock.json index a4f4cb0..ea6f529 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@types/react-slick": "^0.23.13", "axios": "^1.7.9", "chart.js": "^4.4.7", + "js-cookie": "^3.0.5", "lucide-react": "^0.474.0", "pretendard": "^1.3.9", "react": "^18.3.1", @@ -35,6 +36,8 @@ "@eslint/js": "^9.17.0", "@svgr/rollup": "^8.1.0", "@types/chart.js": "^2.9.41", + "@types/jquery": "^3.5.32", + "@types/js-cookie": "^3.0.6", "@types/react": "^18.3.18", "@types/react-dom": "^18.3.5", "@types/react-slick": "^0.23.13", @@ -3654,6 +3657,23 @@ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "license": "MIT" }, + "node_modules/@types/jquery": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.32.tgz", + "integrity": "sha512-b9Xbf4CkMqS02YH8zACqN1xzdxc3cO735Qe5AbSUFmyOiaWAbcpqh9Wna+Uk0vgACvoQHpWDg2rGdHkYPLmCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/sizzle": "*" + } + }, + "node_modules/@types/js-cookie": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", + "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -3712,6 +3732,13 @@ "@types/react": "*" } }, + "node_modules/@types/sizzle": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.9.tgz", + "integrity": "sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/stylis": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", @@ -6097,6 +6124,15 @@ "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", "peer": true }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", diff --git a/package.json b/package.json index 72b1348..5813702 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@types/react-slick": "^0.23.13", "axios": "^1.7.9", "chart.js": "^4.4.7", + "js-cookie": "^3.0.5", "lucide-react": "^0.474.0", "pretendard": "^1.3.9", "react": "^18.3.1", @@ -37,6 +38,8 @@ "@eslint/js": "^9.17.0", "@svgr/rollup": "^8.1.0", "@types/chart.js": "^2.9.41", + "@types/jquery": "^3.5.32", + "@types/js-cookie": "^3.0.6", "@types/react": "^18.3.18", "@types/react-dom": "^18.3.5", "@types/react-slick": "^0.23.13", diff --git a/src/pages/charge/components/modal/ChargeModal.tsx b/src/pages/charge/components/modal/ChargeModal.tsx index 50da3b4..9c4b0c5 100644 --- a/src/pages/charge/components/modal/ChargeModal.tsx +++ b/src/pages/charge/components/modal/ChargeModal.tsx @@ -7,6 +7,7 @@ import CircleChecked from '@mui/icons-material/CheckCircleOutline'; import CircleUnchecked from '@mui/icons-material/RadioButtonUnchecked'; import { PostCharge } from '../../apis/chargeAPI'; import { useMutation } from '@tanstack/react-query'; +import Cookies from 'js-cookie'; interface ModalProps { onClose: () => void; @@ -41,6 +42,14 @@ const ChargeModal: React.FC = ({ onClose, amount }) => { const urlParams = new URLSearchParams(new URL(fullRedirectUrl).search); const actualUrl = urlParams.get('url'); + const tid = urlParams.get('tid'); // tid 추출 + + if (tid) { + Cookies.set('tid', tid, { expires: 1, path: '/' }); // tid를 1일 동안 쿠키에 저장 + console.log('✅ TID 저장 완료:', tid); + } else { + console.warn('⚠️ TID가 존재하지 않습니다.'); + } if (actualUrl && actualUrl.startsWith('https://')) { console.log('🔄 Redirecting to:', actualUrl);