Skip to content

Commit

Permalink
Develop에서 main merge / 마이페이지 버튼 기능 + tag 위치 반영 (#502)
Browse files Browse the repository at this point in the history
* [전체]클립보드 복사 및 자잘한 수정 (#200)

* feat: 선물 홈 뒤로가기 버튼

* feat: 뒤로가기 구현

* feat: 뒤로가기 구현

* feat: 불필요한 파일 제거

* feat: 링크가 유효하지 않을 때 라우팅 연결

* feat: 입력창 숫자일 때 화살표 안 뜨게

* feat: 선물 상태바 구현

* feat: 미니 타이머 기능 수정

* feat: api 수정 반영

* Feat/#185 copy link (#201)

* feat: 링크 복사 구현

* feat: 내가 등록한 선물 구현

* feat: 내가 고른 선물 구현

* fix: 불필요한 코드 삭제

* fix: 빌드에러 해결

* fix: 빌드에러 해결

* feat: 버튼 이벤트 적용

* Refactor/#164 tournament result layout (#202)

* feat: header 토너먼트 구현

* feat: header 토너먼트 구현

* chore: 주석 제거

* style: padding 2rem 추가 및 랭킹에 헤더 구현

* style: 토너먼트 배경 및 헤더 재배치

* style: 아이템 info 패딩 값

* feat: 결과 헤더 및 패딩값 조절

* style: 토너먼트 인트로 헤더 조절

* feat: 아이템 총 개수 인트로 화면 표시

* style: 폰트 컬러 변경

* chore: 아이콘 추가

* feat: 아이템 없을 때 예외처리

* chore: 구문 분리

* feat: 라운드 세트  수 로직 추가

* style: 랭킹 아이콘 및 카카오 버튼 구현

* style: 버튼 폰트 컬러 및 색상

* [시작 페이지] start view 오류 해결 (#205)

* fix: 로그인 오류 수정

* fix: start 2번째 사진 수정

* fix: start 화면 뷰 다르게 하기

* fix: 안쓰는 import 문 삭제

---------

Co-authored-by: Wang HoEun <[email protected]>

* 리프레쉬 토큰 오류 수정 (#207)

* feat: roomId 넘어가는 문제 해결

* fix: 코드 수정했지만 여전히 오류남

* feat: delete 코드 작성

* fix: react-query delete 문법 바꿔보기

* fix: 안쓰는 import 문 삭제

* fix: api url 수정

* feat: mutation 로직 코드 수정

* fix: component 랜더링 방식 수정

* fix: 로그인 오류 수정

* fix: 안쓰는 것들 정리

* fix: 리프레쉬 토큰 재 설정

* fix: 로그인 부분 main 코드로 변경

* feat: 온보딩으로 이동

---------

Co-authored-by: Wang HoEun <[email protected]>

* 리프레쉬 토큰 재 수정 (#210)

* fix: 로그인 오류 수정

* fix: 토큰 재요청

---------

Co-authored-by: Wang HoEun <[email protected]>

* Fix/#209 refresh token re (#213)

* fix: 로그인 오류 수정

* fix: 토큰 재요청

* fix: param으로 넘기는거로 수정

* fix: start 페이지 수정

---------

Co-authored-by: Wang HoEun <[email protected]>

* fix: 기호 삭제하기

* fix: editpage도 수정

* fix: 안 쓰는 import 수정

* fix: 리액트 쿼리로 되돌림 get method

* fix: param 방법으로 바꾸기

* fix: 안쓰는 import 문

* fix: data 구조 수정

* fix: param으로 다 수정

* fix:giftee 없애기

* fix: type부분 분류 + refresh 토큰

* style: home으로 이동 삭제

* fix: token data 구조 수정

* fix: 리프레쉬 토큰 api 수정

* fix: 리프레쉬 토큰 body 공유

* fix: refresh token post 수정

* [마이페이지] 헤더 구현  (#212)

* feat: header 마이페이지 및 홈 구현

* fix : 롤백

* fix: api access token 없이 (#226)

* fix: mypage view 수정

* [온보딩] 자잘한 qa들 (미완) (#229)

* [공통컴포넌트] 모달창 구현 (#80)

* feat: 모달창 구현

* feat: modal 버튼 함수 프롭 전달

* style: 스타일 속성 순서

* style: 단위 변경

* [토너먼트] 토너먼트 플로우 화면 퍼블리싱  (#72)

* feat: 토너먼트 공통 버튼 도입

* docs: 토너먼트 컨테이너 폴더변경

* style: 토너먼트 패딩 값 변경

* feat: 공통 컴포넌트 시작하기 버튼 구현

* feat: 시작하기 버튼 후 라운드 시작 로직 구현!

* chore: 네이밍 오타 수정

* style: 스타일 코드 분리

* feat: btn_next - border 지우기

* style: theme 토너먼트 폰트 추가

* docs: 폴더 이동

* style: 토너먼트 카드 스타일 분리

* style: 토너먼트 카드 스타일 분리

* style: 스타일 속성 순서

* feat: 토너먼트 footer 컴포넌트 구현

* feat: 토너먼트 title 컴포넌트 구현

* style: 폴더 구조 이동

* chore: 아이콘 이미지 추가

* chore: 아이콘 추가

* feat: 토너먼트 불필요한 div 삭제

* feat: 더보기 아이콘 추가 링크

* style: 이전 버튼 패딩 값 조절

* feat: 새로고침 아이콘 추가

* feat: header 임시 높이 조정

* fix: 빌드 오류 아이콘 수정

* style: 가운데 정렬

* style: rem 폰트 변경

* [기능 구현] kakao login (#85)

* chore: 이슈 템플릿 추가

* chore: 이슈 템플릿 수정

* feat: Login 페이지 생성

* style: style코드 mixin으로 변경

* [초기세팅] 초기세팅 main으로 합치기 (#49)

* chore: 이슈 템플릿 추가

* add: 프로젝트 생성

* init: 의존성 모듈 설치

* docs: 풀리퀘 템플릿 추가

* feat: PR 시 임시배포 구현

* feat: 자동 배포 workflow 구현

* chore: 버전 수정

* chore: 오타 수정

* chore: 설명 주석 추가

* [초기세팅] eslint 설정 및 prettier 설정 (#14)

* chore: eslint 설정 및 prettier 설정

* fix: node true 추가

* fix: 중복 singleQuote 설정 제거

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] GlobalStyle 작성 (#7)

* add: styled-component 설치

* feat: meta 태그 수정

* feat: setScreenSize 유틸 함수 작성

* feat: GlobalStyle 작성

* feat: App.tsx 내 GlobalStyle과 GlobalEvent 구현

* chore: styled-reset 라이브러리 설치

* fix: reset 라이브러리 설치로 GlobalStyle 수정

* feat: vw관련 설정 추가

* [초기세팅]  Formatting 파일 구조 및 라우팅 설정 (#8)

* feat: 라우팅 대쉬보드 생성

* feat: 라우터 설정

* feat: app 파일 routerProvider 적용

* feat: 폴더구조 세팅

* chore: 라우터 패키지 추가

* chore: 라우터 패키지 추가

* [초기세팅] husky 설정 및 lint staged 설정 (#15)

* chore: husky 설정 및 lint staged 설정

* feat: husky commitlint 설정

* merge change

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] recoil 설치 및 파일 설정 (#17)

* feat: recoil 설치 및 파일 설정

* feat: RecoilRoot 설정

* chore: react-router-dom 선언 인식 문제 위해 재 설치

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: react-query 설치 및 세팅 및 key 파일 생성 (#18)

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] svgr 설치 / open-graph (#16)

* chore: svgr 설치

* chore: open graph 라이브러리 설치

* chore: vite svgr 세팅 및 custom 파일 생성

* style: yarn svgr 치니까 tsx 파일로 변동 완료.

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] Github Actions 수정(Vercel 배포 연결, preview 수정) (#25)

* [초기세팅] 자주 사용하는 속성들 mixin 설정 (#23)

* feat: mixin 설정

공통적으로 많이 쓰일 수 있는 flexBox,inlineFlexBox,flexCenter 를 먼저 설정하였음.
추후에 디자인이 나오면 더 추가시킬 예정입니다(ex.애니메이션)

* feat: mixin 불러오기 위한 theme 설정

* feat: Styles 컴포넌트 생성

* feat: App 컴포넌트를 Styles 감싸기

* docs: 리드미 작성 (#24)

* 초기세팅/theme 설정 (#37)

* feat: theme color 설정

* feat: theme font 설정

* style: colors & fonts에 뎁스 추가

* chore: SUIT font 파일 추가

* feat: font-face 추가 & import 문제

* fix: import 이슈 해결을 위한 중괄호 제거

* fix: 필요하지 않은 파일 및 코드 제거

* [초기세팅] 화면 사이즈 layout 분리  (#28)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* feat: theme fonts, colors 구조 수정 (#43)

* [초기세팅] 모바일 리사이징 레이아웃 적용 안되는 이슈 해결  (#45)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* [초기세팅] PR 미리보기 액션 수정 (#39)

* feat: 각 PR에 접근할 수 있도록 설정 추가

* feat: 불필요한 설정 제거

* chore: 빌드 에러 해결

* [초기세팅] svgr GUI 아이콘 등록 (#48)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* docs: 아이콘 및 로고 추가 + svgr 변환

* chore: 빌드 에러 처리

---------

Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* feat: query key 세팅 및 instance 생성 (type 수정 필요)

* chore: axios 설치

* refactor: queryKeys 파일 삭제

* feat: react-query user login api 코드 작성

* feat: Login 로직 코드와 서버 연결 코드 작성

* fix: baseurl import 수정 및 code queryString 으로 구현

* style: 안 쓰는 코드 정리 및 로직 코드 정리

* fix: 안 쓰는 import문 삭제

* fix: 안쓰는 import 문 삭제

* fix: strict mode 지우기

* fix: method 변경 및 console.log 작성

* fix: method get으로 수정

* fix: router link 재설정

* fix: 라우터 주소 재 설정

* fix: strict mode 삭제

* feat: console 추가

* fix: useEffect 위치 수정

* fix: router 구조

* fix: router browserRouter로 수정

* fix: json vercel 파일 추가

* fix: Router 컴포넌트 수정

* fix: path 수정

* fix: 최신 router로 다시 변경

* fix: 데이터 타입 수정

* fix: local 저장 코드 잠시 주석

* fix: data Type 다시 수정

* fix: 안 쓰는 import 삭제

* feat: localstorage에 token 저장

* feat: localstorage 에 token 저장

* fix: console.log로 찍어보기

* fix: data type 구현

* fix: localstorage에 토큰 저장

* fix: 안쓰는 css 파일 삭제

---------

Co-authored-by: Jimin Yu <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* [토너먼트] 토너먼트 결과 화면 퍼블리싱 (#82)

* feat: 토너먼트 컴포넌트 폴더 구조

* feat: 토너먼트 결과 화면 카드 컴포넌트 구현

* feat: 토너먼트 타이틀 컴포넌트

* feat: 토너먼트 결과 레이아웃 컴포넌트

* feat: 토너먼트 결과 footer 컴포넌트

* feat: 토너먼트 유저 현황 미니타이머 컴포넌트 구현

* feat: 토너먼트 footer 영역 구현

* feat: 공통 컴포넌트 수정

* style: 공통 버튼 수정 및 footer 색 변경

* docs: 폴더명 대문자 변경

* fix: 토너먼트 컨테이너 충동 해결

* fix: 빌드 오류 해결

* [토너먼트] 최종 순위 확인 뷰 퍼블리싱 (#86)

* feat: 토너먼트 컴포넌트 폴더 구조

* feat: 토너먼트 결과 화면 카드 컴포넌트 구현

* feat: 토너먼트 타이틀 컴포넌트

* feat: 토너먼트 결과 레이아웃 컴포넌트

* feat: 토너먼트 결과 footer 컴포넌트

* feat: 토너먼트 유저 현황 미니타이머 컴포넌트 구현

* feat: 토너먼트 footer 영역 구현

* feat: 공통 컴포넌트 수정

* style: 공통 버튼 수정 및 footer 색 변경

* chore: 메달아이콘 추가

* feat: 토너먼트 랭킹 화면 타이틀 작업

* feat: 토너먼트 랭킹 순위 아이템 컴포넌트 구현

* feat: 토너먼트 랭킹 페이지 구현

* feat: price 공통 컴포넌트 구현

* style: 공통 priceTag 적용

* fix: 이미지 아이콘 오류 해결

* fix: 안쓰는 아이콘 제거

* fix: 폴더 구조 변경 import

* [토너먼트] 대소문자 변경 파일 변경  (#95)

* chore: 이슈 템플릿 추가

* chore: 이슈 템플릿 수정

* [초기세팅] 초기세팅 main으로 합치기 (#49)

* chore: 이슈 템플릿 추가

* add: 프로젝트 생성

* init: 의존성 모듈 설치

* docs: 풀리퀘 템플릿 추가

* feat: PR 시 임시배포 구현

* feat: 자동 배포 workflow 구현

* chore: 버전 수정

* chore: 오타 수정

* chore: 설명 주석 추가

* [초기세팅] eslint 설정 및 prettier 설정 (#14)

* chore: eslint 설정 및 prettier 설정

* fix: node true 추가

* fix: 중복 singleQuote 설정 제거

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] GlobalStyle 작성 (#7)

* add: styled-component 설치

* feat: meta 태그 수정

* feat: setScreenSize 유틸 함수 작성

* feat: GlobalStyle 작성

* feat: App.tsx 내 GlobalStyle과 GlobalEvent 구현

* chore: styled-reset 라이브러리 설치

* fix: reset 라이브러리 설치로 GlobalStyle 수정

* feat: vw관련 설정 추가

* [초기세팅]  Formatting 파일 구조 및 라우팅 설정 (#8)

* feat: 라우팅 대쉬보드 생성

* feat: 라우터 설정

* feat: app 파일 routerProvider 적용

* feat: 폴더구조 세팅

* chore: 라우터 패키지 추가

* chore: 라우터 패키지 추가

* [초기세팅] husky 설정 및 lint staged 설정 (#15)

* chore: husky 설정 및 lint staged 설정

* feat: husky commitlint 설정

* merge change

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] recoil 설치 및 파일 설정 (#17)

* feat: recoil 설치 및 파일 설정

* feat: RecoilRoot 설정

* chore: react-router-dom 선언 인식 문제 위해 재 설치

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: react-query 설치 및 세팅 및 key 파일 생성 (#18)

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] svgr 설치 / open-graph (#16)

* chore: svgr 설치

* chore: open graph 라이브러리 설치

* chore: vite svgr 세팅 및 custom 파일 생성

* style: yarn svgr 치니까 tsx 파일로 변동 완료.

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] Github Actions 수정(Vercel 배포 연결, preview 수정) (#25)

* [초기세팅] 자주 사용하는 속성들 mixin 설정 (#23)

* feat: mixin 설정

공통적으로 많이 쓰일 수 있는 flexBox,inlineFlexBox,flexCenter 를 먼저 설정하였음.
추후에 디자인이 나오면 더 추가시킬 예정입니다(ex.애니메이션)

* feat: mixin 불러오기 위한 theme 설정

* feat: Styles 컴포넌트 생성

* feat: App 컴포넌트를 Styles 감싸기

* docs: 리드미 작성 (#24)

* 초기세팅/theme 설정 (#37)

* feat: theme color 설정

* feat: theme font 설정

* style: colors & fonts에 뎁스 추가

* chore: SUIT font 파일 추가

* feat: font-face 추가 & import 문제

* fix: import 이슈 해결을 위한 중괄호 제거

* fix: 필요하지 않은 파일 및 코드 제거

* [초기세팅] 화면 사이즈 layout 분리  (#28)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* feat: theme fonts, colors 구조 수정 (#43)

* [초기세팅] 모바일 리사이징 레이아웃 적용 안되는 이슈 해결  (#45)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* [초기세팅] PR 미리보기 액션 수정 (#39)

* feat: 각 PR에 접근할 수 있도록 설정 추가

* feat: 불필요한 설정 제거

* chore: 빌드 에러 해결

* [초기세팅] svgr GUI 아이콘 등록 (#48)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* docs: 아이콘 및 로고 추가 + svgr 변환

* chore: 빌드 에러 처리

---------

Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* fix: strict mode 지우기

* fix: method get으로 수정

* fix: router link 재설정

* fix: 라우터 주소 재 설정

* feat: console 추가

* fix: useEffect 위치 수정

* fix: router 구조

* fix: router browserRouter로 수정

* fix: json vercel 파일 추가

* fix: Router 컴포넌트 수정

* fix: path 수정

* fix: 최신 router로 다시 변경

* fix: 데이터 타입 수정

* fix: local 저장 코드 잠시 주석

* fix: data Type 다시 수정

* fix: 안 쓰는 import 삭제

* fix: 토너먼트 대소문자 변경

* fix: 대소문자 파일 변경 Tournament

* fix: onBoarding 대소문자 변경

* fix: Onboarding -> OnBoarding  변경

* fix: onboardingSteps 로 변경

---------

Co-authored-by: Jimin Yu <[email protected]>
Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>

* [선물 등록 페이지] 내가 등록한 선물 페이지 UI 구현 (#65)

* feat: 임시로 선물 등록 테스트 페이지 추가

* feat: 선물 링크 등록 테스트 임시로 기능 구현

* feat: 내가 추가한 선물 페이지 UI 구현중

* feat: 라우터에 페이지 임시 추가

* style: 이미지 어셋 추가

* feat: 내가 추가한 선물 페이지 UI 구현

* feat: 선물 등록하기 뷰 구현

* feat: 내가 등록한 선물 뷰 UI 구현

* chore: 화살표 함수로 수정

* feat: 내가 등록한 선물 컴포넌트 분리

* chore: 빌드 에러 해결

* feat: 빌드 에러 해결

* feat: rem 단위로 수정

* �[최신화] 기존 브랜치에서 새로운 브랜치로 코드 복붙 (#97)

* fix: 디벨롭에서 새로운 브랜치를 파서 step05까지의 코드 복붙

* fix: step06까지 복붙 완료

* [선물홈] 선물홈 UI 구현 (#91)

* feat: 선물 홈 라우터 연결

* feat: GiftHome 상단 컴포넌트 구현중

* feat: theme 수정 반영

* feat: 선물홈 상단 애니메이션 제외 UI 구현

* chore: countdown flip animation 라이브러리 설치

* feat: 선물홈 하단 '친구가 등록한 선물' UI 구현

* style: 선물홈 친구, 2030 공통 스타일 생성

* style: 전체 패딩 0으로 설정

* style: 선물홈 2030, 친구 부분 공통 스타일 구현

* feat: 선물홈 2030, 친구 UI 구현

* feat: haeder, footer 제거

* style: 타이머 폰트 추가

* style: svg 파일 추가

* feat: 카운트다운 카드 컴포넌트 분리

* fix: 빌드 에러 해결

* feat: 타이머 컴포넌트 생성

* feat: 아이콘 추가

* feat: 공통 스타일 분리

* feat: 컴포넌트 분리

* feat: 더미 데이터 추가

* fix: 빌드 에러 해결

* [선물 등록하기] 링크 등록 플로우 내가 등록한 선물 제외 UI 구현 완료 (#93)

* feat: 높이 설정 추가

* feat: 공통 버튼 테두리 없애기

* feat: 다음 버튼 따로 구현

* feat: 입력창 뷰 구현

* feat: 링크 입력 화면 UI 구현

* feat: 다음 버튼 활성화 수정

* feat: 링크 있을 때 선물 등록 UI 구현

* feat: 링크 있을 때 선물 등록 UI 구현

* feat: 링크 없을 때 UI 구현

* feat: header, footer 제거

* feat: 직접 입력 화면 UI 구현

* feat: 링크 없이 입력 버튼 연결

* feat: 첫번째 링크 입력 화면 UI 수정

* feat: 폴더구조 정리 및 공통 컴포넌트 분리

* feat: 상단 선물 바 위치 조건 추가

* feat: 썸네일 컴포넌트 분리

* feat: 가격은 삭제 아이콘 안 뜨도록 수정

* feat: input padding 추가

* feat: 페이지 레이아웃 분리

* fix: 빌드 에러 해결

* [선물 홈, 선물 등록] 전반적인 뷰 수정 및 플로우 연결 (#100)

* style: 불필요한 파일 제거

* feat: 선물홈 헤더 추가

* style: 오타 수정 및 커서 포인터 설정

* feat: 플로팅 버튼 구현

* feat: 헤더 및 버튼 구현

* feat: 페이지 연결

* style: 아이콘 추가

* style: 북마크 이미지 추가

* feat: 플로우 연결

* feat: 모달 추가

* chore: 빌드 에러 해결 위해서 불필요한 코드 추가

* feat: 라우터 중복 수정

* fix: 빌드 에러 해결중

* fix: 빌드 에러 해결

* fix: 빌드 에러 해결

* [마이페이지] 뷰 작업 + Card Component 제작 (#92)

* chore: 이슈 템플릿 추가

* chore: 이슈 템플릿 수정

* [초기세팅] 초기세팅 main으로 합치기 (#49)

* chore: 이슈 템플릿 추가

* add: 프로젝트 생성

* init: 의존성 모듈 설치

* docs: 풀리퀘 템플릿 추가

* feat: PR 시 임시배포 구현

* feat: 자동 배포 workflow 구현

* chore: 버전 수정

* chore: 오타 수정

* chore: 설명 주석 추가

* [초기세팅] eslint 설정 및 prettier 설정 (#14)

* chore: eslint 설정 및 prettier 설정

* fix: node true 추가

* fix: 중복 singleQuote 설정 제거

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] GlobalStyle 작성 (#7)

* add: styled-component 설치

* feat: meta 태그 수정

* feat: setScreenSize 유틸 함수 작성

* feat: GlobalStyle 작성

* feat: App.tsx 내 GlobalStyle과 GlobalEvent 구현

* chore: styled-reset 라이브러리 설치

* fix: reset 라이브러리 설치로 GlobalStyle 수정

* feat: vw관련 설정 추가

* [초기세팅]  Formatting 파일 구조 및 라우팅 설정 (#8)

* feat: 라우팅 대쉬보드 생성

* feat: 라우터 설정

* feat: app 파일 routerProvider 적용

* feat: 폴더구조 세팅

* chore: 라우터 패키지 추가

* chore: 라우터 패키지 추가

* [초기세팅] husky 설정 및 lint staged 설정 (#15)

* chore: husky 설정 및 lint staged 설정

* feat: husky commitlint 설정

* merge change

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] recoil 설치 및 파일 설정 (#17)

* feat: recoil 설치 및 파일 설정

* feat: RecoilRoot 설정

* chore: react-router-dom 선언 인식 문제 위해 재 설치

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: react-query 설치 및 세팅 및 key 파일 생성 (#18)

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] svgr 설치 / open-graph (#16)

* chore: svgr 설치

* chore: open graph 라이브러리 설치

* chore: vite svgr 세팅 및 custom 파일 생성

* style: yarn svgr 치니까 tsx 파일로 변동 완료.

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] Github Actions 수정(Vercel 배포 연결, preview 수정) (#25)

* [초기세팅] 자주 사용하는 속성들 mixin 설정 (#23)

* feat: mixin 설정

공통적으로 많이 쓰일 수 있는 flexBox,inlineFlexBox,flexCenter 를 먼저 설정하였음.
추후에 디자인이 나오면 더 추가시킬 예정입니다(ex.애니메이션)

* feat: mixin 불러오기 위한 theme 설정

* feat: Styles 컴포넌트 생성

* feat: App 컴포넌트를 Styles 감싸기

* docs: 리드미 작성 (#24)

* 초기세팅/theme 설정 (#37)

* feat: theme color 설정

* feat: theme font 설정

* style: colors & fonts에 뎁스 추가

* chore: SUIT font 파일 추가

* feat: font-face 추가 & import 문제

* fix: import 이슈 해결을 위한 중괄호 제거

* fix: 필요하지 않은 파일 및 코드 제거

* [초기세팅] 화면 사이즈 layout 분리  (#28)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* feat: theme fonts, colors 구조 수정 (#43)

* [초기세팅] 모바일 리사이징 레이아웃 적용 안되는 이슈 해결  (#45)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* [초기세팅] PR 미리보기 액션 수정 (#39)

* feat: 각 PR에 접근할 수 있도록 설정 추가

* feat: 불필요한 설정 제거

* chore: 빌드 에러 해결

* [초기세팅] svgr GUI 아이콘 등록 (#48)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* docs: 아이콘 및 로고 추가 + svgr 변환

* chore: 빌드 에러 처리

---------

Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* fix: strict mode 지우기

* fix: method get으로 수정

* fix: router link 재설정

* fix: 라우터 주소 재 설정

* feat: console 추가

* fix: useEffect 위치 수정

* fix: router 구조

* fix: router browserRouter로 수정

* fix: json vercel 파일 추가

* fix: Router 컴포넌트 수정

* fix: path 수정

* fix: 최신 router로 다시 변경

* fix: 데이터 타입 수정

* fix: local 저장 코드 잠시 주석

* fix: data Type 다시 수정

* fix: 안 쓰는 import 삭제

* feat: 마이페이지 생성 후 배경 이미지 불러오기

* feat: 마이페이지 유저 div 구현

* feat: 선물 방 뷰 없을때 페이지 구현 완료

* feat: 진행 중이지 않은 선물 방 div 태그 생성

* feat: header 라우터 기능 추가

* feat: 컴포넌트 어느정도 구현 완료 하지만 edit 부분 수정 필요

* fix: 버튼 사이즈 merge 후 custom 으로 넘기기

* fix: settings 위치 수정

* refactor: setting icon 위치 수정

* fix: tag 수정

* feat: 색상 변동 된거 적용

* style: type3 수정 및 margin 주기

* feat: 종료된 선물방 컴포넌트 구현 및 수정 페이지 구현

* feat: detail page router 적용

* fix: 안쓰는 import 문 삭제

---------

Co-authored-by: Jimin Yu <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* [선물 등록] 버튼 조건에 맞게 활성화, 광고 삭제 기능 구현 (#106)

* feat: 버튼 비활성화 속성 추가

* feat: input 조건에 따른 버튼 활성화 수정

* fix: 스타일 props $ 추가

* feat: 광고 삭제 기능 구현

* feat: 아이콘 교체

* fix: 빌드 에러 해결

* [마이페이지] react-query 데이터 패칭 방식 예시 코드 작성 (#107)

* style: Wrapper 컨벤션 맞추기

* feat: mypage 데이터 패칭 react query hooks 작성,아직 테스트 전

* feat: 임시 token 저장 과정 코드 작성

* fix: react-query 받아오는 코드 수정 , 추후 mypage 받아오는 부분 undefined 해결 필요

* feat: react-query api mypage에서 불러오기

* refactor: 폴더명 변경

* refactor: 안쓰는 import 문 삭제 및 navigate 코드 주석

* fix: 안쓰는 import 문 정리

---------

Co-authored-by: Wang HoEun <[email protected]>

* [토너먼트] 라운딩 로직 및 부전승 처리  (#111)

* style: 인트로 시작 버튼 변경

* chore: 이미지 추가

* feat: 목업데이터 설정

* feat: 아이템 카드 적용

* feat: 토너먼트 랜덤 아이템 함수

* feat: 라우터 안쓰는 페이지 제거

* faet: 레이아웃 헤더 삭제

* feat: 데이터 개수 반영

* feat: 1라운드 로직 구현

* feat: 랜덤 세트 형성 로직 구현 + 훅 분리

* feat: 목업데이터 형성

* feat: 다음 버튼 구현

* feat: 불필요한 주석 제거

* feat: 선택되면 일단 선택 체크 성공

* feat: 라우터 변경

* feat: 토너먼트 인트로 컴포넌트 프롭 수정

* feat: 토너먼트 라운딩 로직 구현

* feat: 토너먼트 푸터, 타이틀 프롭 변경

* feat: 결과 제출 프롭 설정

* chore: 배경 이미지 추가

* chore: 배경 추가

* feat: 토너먼트 선택 아이템 저장 후 프롭 전달

* feat: 토너먼트 결과 화면 프롭 전달 받기

* feat: 헤더 삭제

* chore: 배경 이미지 설정

* feat: 토너먼트 부전승 처리

* chore: 토너먼트 플로우 컨테이너 주석처리

* chore: 빌드 오류 해결

* fix: 프롭 전달 삭제 빌드 오류 해결

* chore: 로직 의심 주석 추가

* [선물홈, 선물등록, 세부페이지] api 타입 및 hooks 파일 생성 (#114)

* feat: 선물홈 메인 get 연결

* feat: api 관련 파일 생성

* feat: api  types 파일 생성

* feat: GET hooks 생성

* feat: 선물홈 api 연결

* feat: api 관련 커스텀 훅 작성 및 타입 작성

* fix: 오타 수정

* chore: 불필요한 주석 삭제 및 로그 메시지 수정

* fix: url 수정

* [온보딩] 온보딩 POST & 카카오 공유하기 (#110)

* feat: 최상위 컴포넌트에서 상태 관리 작성

* chore: app.css index.css 삭제

* feat: step01 유저 입력 값 저장

* feat: step03 날짜 값 api명세서 형식에 맞게 상태에 저장

* feat: step02 이미지 url 형식에 맞게 저장

* fix: value가 있을 때 onChange가 없었던 이슈 해결

* chore: 쓰지 않는 router 파일 제거

* style: step05 mixin으로 변경

* style: input 스타일 코드 추가

* chore: TODO 주석 추가

* feat: step05 dateType에 따른 출력 변경

* feat: step04 -05 props 내려 받기

* feat: step04 props 전달

* feat: 날짜 & 시간 선택 시 api명세서 형식에 맞게 출력 및 저장

* feat: 라디오 버튼 온클릭 이벤트 추가

* chore: 쓰지 않는 코드 제거

* feat: step04에서 선택한 날짜와 시간을 step05로 가지고 오기 위한 props 전달

* feat: date-fns 라이브러리 사용하여 선택한 시간 더하기

* feat: 전반적으로 버튼 스타일 props에 $추가

* style: 웹 warning 삭제를 위한 $추가

* feat: step05 시간 업데이트 포매팅 후 저장

* feat: step06 룸 입장 콘솔로그 추가

* feat: 상위 컴포넌트인 온보딩페이지 에서 전체 상태 값 확인

* feat: index.html에 카카오 공유 관련 script 태그 추가

* feat: Window에 Kakao 타입 정의

* feat: 모든 스텝에서 저장한 값들 step6로 props 전달

* feat: 카카오 공유하기 기능 추가

* feat: 헤더 토큰 확인을 위한 client.ts export 추가

* feat: 온보딩 타입 지정

* feat: step05 useMutation post 구현

* feat: 라디오 버튼 props 추가

* feat: 온보딩 post 커스텀 훅으로 분리

* chore: 쓰지 않는 코드 제거

* chore: 빌드 에러 수정

* feat: 이미지 미리보기 구현 시 files[0]의 null값 대비 if문 구현

* chore: 빌드 에러 해결

* chore: 필요없는 주석 제거

* feat: 헤더에 토큰 이슈를 위한 useEffect 주석처리

* feat: timerOpen 삼항연산자로 변경

* [토너먼트] 토너먼트 선물 리스트 조회 API (#117)

* feat: useTournament 훅 로직 수정

* feat: giftData 타입 설정

* feat: 토너먼트 선물 리스트 조회 API

* feat: 토너먼트 데이터 패칭

* fix: 빌드 오류 TournamentFlowContainer 프롭 추가

* feat: post tournament 10개 로직

* feat: api post 인스턴스 생성 및 타입 설정

* feat: 부전승 결과 처리랑 짝수 결과 처리 나눔

* feat: 타입 변경

* fix: 안쓰는 state 제거

* [선물홈, 선물세부, 선물등록] gifthome detail api (#124)

* feat: 선물홈 api 연결 후 값 반영

* feat: 서버통신 훅 수정

* feat: 데이터 타입 수정

* feat: 세부페이지 연결

* feat: 선물 홈 연결

* feat: 내가 등록한 선물 api 연결

* feat: 내가 등록한 선물 api 연결

* feat: 선물 등록 post api 연결

* feat: props 수정

* chore: 에러 해결

* feat: 등록 상품 개수에 따라 다르게 화면 이동

* feat: 빌드 에러 해결중

* feat: 빌드 에러 해결

* feat: 빌드 에러 해결

* feat: 빌드 에러 해결

* [마이페이지] api 연결 후 기능 구현 (#125)

* refactor: 호출 코드 변경

* style: 스타일 코드 간편화

* feat: data 존재 여부에 따른 view 전환

* feat: cardRoom에 data 전달 하지만 오류 남. 해결 필요

* feat: 선물방 존재여부에 따른 0번째 1번째 카드 호출

* feat: detail page 데이터 호출 성공

* feat: room member api 연결 코드 작성

* feat: editroom api 기능 구현 완료 삭제 기능 구현 필요

* style: detail view wrap roomId 넘어주기와 폴더명 변경

* feat: done detail room roomwrapper wrap 추가

* fix: delte mutation 코드 수정

* style: delete 코드 정리 오류 나는 거 해결 필요

* feat: 안쓰는 import 문 삭제 + login 토큰 부분 주석 처리

* fix: 안 쓰는 코드 주석 처리

---------

Co-authored-by: Wang HoEun <[email protected]>

* Refactor/#88 tournament layout (#126)

* chore: icon 추가

* feat: 시작하기 버튼 가운데 정렬

* style: text 글자 가운데 정렬

* [로딩 과 에러] 로딩 페이지와 에러 페이지 (#127)

* style: 임시 코드 설정

* feat: Loading 페이지 생성

* feat: lottie 설치 후 적용

* refactor: suspensequery로 수정

* feat: errorboundary 설정

* fix: 안 쓰는 import 문 삭제

* fix: 기존 코드 대로 되돌림. token 부분

---------

Co-authored-by: Wang HoEun <[email protected]>

* [토너먼트] 유저, 시간 그리고 부전승 로직 수정  (#128)

* feat: 토너먼트 참여유저 및 종료 시간 받아오기

* feat: 토너먼트 참여유저 및 종료 시간 user 컴포넌트에 전달

* feat: get API 인스턴스 생성

* feat: get member data 받아오기 데이터 수정

* feat: modal 오픈

* style : 모달창 닫고 결과 화면 바꾸기

* feat: 부전승 처리 로직

* feat: 토너먼트 랜덤 로직 추가

* fix: useSuspenseQuery로 변경 빌드 에러 해결

* fix: useQuery 안쓰는 거 제거

* [토너먼트] 토너먼트 최종 결과 조회 API (#130)

* style: 최종 순위 확인 화면 스타일 수정 및 이미지 추가

* feat: 토너먼트 랭킹 get API 쿼리 훅 생성

* feat: 토너먼트 useGetRanking api 호출

* feat: 토너먼트 카드 프롭 전달

* feat: 기프트 랭킹 아이템 타입 설정

* [시작페이지] start page 애니메이션 컴포넌트 (#129)

* feat: main 이미지 몇개 넣기

* feat: 사진 불러오기

* feat: 애니메이션 component 화 후 적용

* style: login 부분 주석 수정

* fix: 안 쓰는 import 문 삭제

---------

Co-authored-by: Wang HoEun <[email protected]>

* [선물홈, 선물등록] 선물 링크 유효성 검사 api 연결, 타이머 기능 구현 마무리 (#131)

* feat: 오픈그래프 post 구현중

* feat: 오픈그래프 post 연결

* feat: 친구들이 등록한 선물 연결

* feat: 오픈그래프 정보에 따른 플로우 구현

* feat: 카운트다운 타이머 구현

* feat: 미니타이머 연결

* feat: 미니타이머 타입 수정

* feat: 타입 수정

* feat: 미니타이머 추가

* feat: 타이머 수정

* chore: 빌드 에러 해결

* fix: 빌드 에러 해결

* [토너먼트] 랭킹 화면 API 데이터 패칭 (#140)

* chore: 아이콘 추가

* feat: API GET 메달 랭킹에 따라 변경

* feat: 메달 인덱스 추가

* feat: router 설정

* feat: 링크 복사 구현

* feat: 이미지 공유하기 (url png 안됨)

* [토너먼트] 다음 버튼 로직 구현 및 이미지 불러오기 (#138)

* feat: 다음버튼 활성화

* feat: 다음버튼 구현

* chore: props type convert

* feat: select 로직 수정 및 이미지 프롭 추가

* [시작페이지,마이페이지] header, footer (#141)

* feat: start header 생성

* feat: 이전 버튼이 들어 있는 detail page 속 header 구현

* refactor: mypage header fixed

* feat: footer 구현

* feat: footer link 이동

* feat: sidebar 나오게

* fix: 안쓰는 import 문 삭제

* fix: import 문 삭제

---------

Co-authored-by: Wang HoEun <[email protected]>

* [온보딩] presigned-url 로 이미지 업로드 후 모든 온보딩 정보를 모아서 POST (#121)

* feat: 이슈번호 #99와 동일하게 복붙

* feat: presignedUrl post 커스텀 훅 작성

* feat: OnboardingInfo type 이름 api 명세서에 맞게 변경

* feat: etc 폴더 내에 타입들 지정

* feat: step05 에서 presigned Url post 보내는 로직 일부 구현

* feat: files null값 대비 조건문 작성

* feat: presigned url 확인 위한 콘솔 추가

* feat: step02 props 추가

* feat: 온보딩 최상위 컴포넌트에 presigned url 저장할 수 있는 state 추가

* feat: presigned Url post 작성

* feat: step02 fileName 확인 위한 콘솔 로그 추가

* feat: step05 presigned url 받기 위한 fileName 이름 확인 콘솔 추가

* feat: presignedUrl POST 훅 파라미터 수정

* feat: presignedUrl 쿼리 파라미터 제거 후 추출

* feat: type 추가 & post 주소 url 변경

* feat: presignedUrl 관련 로직 함수 분리

* feat: 온보딩 페이지 step05 props 수정

* feat: PUT 메서드 커스텀 훅 작성

* feat: step05에 모든 온보딩정보 props 전달

* feat: step05에서 다음 버튼 클릭 시 presigned url PUT 함수 호출

* feat: imageUrl에 올바르게 저장되지 않는 현상 수정

* feat: updateOnBoardingInfo 안에 imageUrl 스프레드 문법으로 추가

* chore: 빌드에러 수정

* feat: step06 렌더링 확인 useEffect

* feat: Get 커스텀 훅 작성

* feat: POST 함수 내에서 invitationCode 추출

* feat: 초대 코드 저장할 상태 최상위 컴포넌트에 추가

* feat: post 커스텀 훅에 초대 코드 return 받게 수정

* feat: step05에 초대코드 저장

* feat: POST 커스텀 훅 안에 GET 호출하여 순서대로  STEP05에서 진행

* feat: presigned-url 삼항 연산자 사용

* feat: response.data 알맞은 곳에 출력

* feat: presigned Url 엠티뷰 props

* feat: presignedUrl로 스타일 태그 수정

* feat: 기본 엠티 뷰 presigned Url (해결 x)

* feat: 피그마 형식에 맞게 step06 날짜 출력

* feat: Step06 상위 컴포넌트로 이동 -> 라우터 분리

* feat: step06 상위 컴포넌트로 구조 이동

* feat: 온보딩 버튼 onclick 이벤트 추가

* feat: useNavigate로 props 전달

* feat: filename 존재 여부에 따라 post put 다르게 출력

* feat: step06 에서 마지막 초대코드 POST 커스텀 훅 작성

* feat: POST와 GET을 콜백으로 넘겨줬던 코드를 다시 원래대로 분리

* chore: 빌드 에러 해결

* chore: 빌드 에러 해결

* chore: 빌드에러 해결

* feat: POST 커스텀 훅 안에 invitationCode 추가

* chore:확인용 콘솔로그들 추가

* feat: POST 커스텀 훅 내에 useState 추가

* feat:Step05 내에서 초대코드 상태에 저장

* feat: GET 커스텀 훅 내에 null값일 경우 조건문 추가

* feat: Step06 GET 받아오기 구현

* feat: POST 커스텀 훅 리턴 값 수정

* feat: 입장 버튼 클릭 시 Post 커스텀 훅 구현

* feat: 커스텀 훅을 Step06에서 사용하여 POST

* feat: 온보딩 버튼에 disabled 추가

* feat: 라디오 버튼 선택해야만 다음 버튼 활성화

* style: step06인 온보딩 파이널의 헤더 구현(햄버거만 있는것)

* feat: 온보딩 포스트 커스텀 훅 작성

* style: 온보딩 파이널 컴포넌트에 헤더 추가

* feat: 온보딩 파이널의 최종 POST 커스텀 훅 구현

* style: 온보딩헤더 props 수정

* chore: response 추가

* chore: 콘솔로그 추가

* chore: 필요없는 코드 제거

* style: 모든 온보딩 헤더 수정

* feat: client.ts 제네릭 수정

* style: 온보딩 페이지 헤더 구현

* chore: 콘솔로그 추가

* feat: step06 날짜 출력 boolean 값 추가

* feat: 온보딩 post 커스텀 훅 타입 지정

* feat: 첫번 째 스텝만 뒤로가기 구현

* [로그아웃/리프레쉬토큰] Logout / RefreshToken (#145)

* feat: logout 코드 작성

* feat: refreshToken재발급 코드 작성 완료

* feat: 로그아웃 구현

* fix: import 삭제

---------

Co-authored-by: Wang HoEun <[email protected]>

* [커스텀훅] 링크복사 함수 커스텀 훅 분리  (#142)

* style: 이미지 공유 함수 버튼 삭제 및 스타일 분리

* feat: 링크 복사 커스텀 훅 분리

* [선물등록] 미니타이머 구현, presigned url (#147)

* feat: presignedUrl 적용 및 POST까지 연결

* feat: 데이터 삭제 시 바로 반영

* feat: 상품 등록 완료 버튼 조건부 활성화 추가

* style: 배경 이미지 추가

* feat: 타이머 숫자 형태 수정

* style: 배경 이미지 추가

* feat: 가격 포맷팅

* chore: 데이터 타입 수정

* feat: 빌드 에러 해결중

* feat: 빌드 에러 해결중

* [선물홈, 선물등록] 선물 링크 유효성 검사 api 연결, 타이머 기능 구현 마무리 (#149)

* feat: 오픈그래프 post 구현중

* feat: 오픈그래프 post 연결

* feat: 친구들이 등록한 선물 연결

* feat: 오픈그래프 정보에 따른 플로우 구현

* feat: 카운트다운 타이머 구현

* feat: 미니타이머 연결

* feat: 미니타이머 타입 수정

* feat: 타입 수정

* feat: 미니타이머 추가

* feat: 타이머 수정

* chore: 빌드 에러 해결

* fix: 빌드 에러 해결

* fix: 빌드 에러 해결

* Delete public/motions/motion_02.json

motion 파일 삭제

* [시작 페이지] start page (#151)

* feat: start 페이지 코드 복사붙여넣기

* feat: animation 코드 복사 붙여넣기

* fix: 안쓰는 로그인 문 주석 처리

* fix: 안쓰는import 문 삭제

---------

Co-authored-by: Wang HoEun <[email protected]>

* [커스텀훅] 카카오톡 공유하기 기능  (#155)

* chore: json 파일 푸쉬

* feat: 카카오 공유하기 리액트 자체구현

* feat: 카카오 공유 API utils

* feat: 토너먼트 env 파일 변경

* [시작페이지] start page final (#154)

* refactor: 화면 위치 조절

* fix: footer 위치 수정

* fix: 안 쓰는 import 문 삭제

---------

Co-authored-by: Wang HoEun <[email protected]>

* [온보딩] 링크 복사 & 선물전달일과 토너먼트 시작 날짜 계산 (#156)

* feat: step06 링크복사 구현

* feat: useQuery를 useSuspense로 변경

* feat: 선물 전달일 당일인지 아닌지에 따라 다르게 로직 구현(미완)

* style: 라디오 버튼 props 추가

* style: 공통 Title customStyle제거

* chore: 빌드 에러 해결

* [선물 등록, 선물 홈] presignedUrl, 가격 포맷팅, 링크 가져오기, 미니타이머 (#157)

* feat: presignedUrl Post, GET 에러 해결

* feat: 선물 등록 POST 에러 해결중

* feat: 가격 포맷팅

* feat: 선물 등록 POST 에러 해결중

* feat: 빌드 에러 해결

* [마이페이지] roomId query string으로 넘기기 (#162)

* feat: roomId 넘어가는 문제 해결

* fix: 코드 수정했지만 여전히 오류남

* feat: delete 코드 작성

* fix: react-query delete 문법 바꿔보기

* fix: 안쓰는 import 문 삭제

---------

Co-authored-by: Wang HoEun <[email protected]>

* [공통] 폰트 적용 및 토너먼트 타이머 시도  (#163)

* feat: router prop 변경

* style: 글자 정렬 변경

* feat: 인덱스 타이틀 스윗 수정

* style: font link 연결

* fix: 빌드 에러 해결

* Feat/#161 props drilling ranking (#165)

* feat: navigate 추가

* feat: query string으로 param 넘기기

* feat: useLocation 코드 작성

* feat: query string으로 받아오는 값 코드 작성

* fix: 로그인 버튼 보이게 함

* fix: 버튼 보이게 수정

* fix: & 로 수정

* fix: start 뷰 relative

* fix: 옵서널 파라미터로 수정

* fix: null 값 처리 재 배치

* fix: null 값 처리 재 배치

---------

Co-authored-by: Wang HoEun <[email protected]>

* [마이페이지] 아이콘 변경 (#160)

* feat: 새로운 아이콘 넣기

* feat: bottom 값 추가

---------

Co-authored-by: Wang HoEun <[email protected]>

* [선물 등록] 선물 등록하기 화면 POST api 에러 해결 (#166)

* feat: 비동기 처리 고려해서 link 값 전달되도록 수정

* feat: POST 성공 후 navigate 에러 해결

* feat: 광고 더미 수정

* feat: 빌드 에러 해결

* [토너먼트] outlink 보러가기 기능 구현 및 스타일 수정 (#173)

* feat: onClick 시 외부 링크 이동

* feat: 더보기 버튼 없으면 링크 보이지 않기

* style: 보러가기 스타일 수정

* [홈페이지, 마이페이지] props drilling main (#175)

* feat: 온보딩으로 이동

* feat: navigate date에 따라서 구분 + roomId 넘겨주기

* fix: 로그인 임시 부분 주석 처리

---------

Co-authored-by: Wang HoEun <[email protected]>

* [토너먼트] 리프레쉬 아이콘 작동 및 스타일 수정 (#178)

* feat: 리프레쉬 함수 구현

* feat: 타입 수정 및 onClick 프롭 추가

* style: 리프레쉬 아이콘 스타일 수정

* style: 확인을 위해 type any로 바꾸기

* fix: memberToken 주석 처리

* fix: 원상태로 복귀

* fix: 주석 처리

* feat: local에 저장

* fix: 안쓰는 애들 삭제

* fix: localstorage에 저장

* fix: data 구조 수정

* [토너먼트] 다음버튼 활성화, 타이머 세팅, 다시하기 버튼 구현  (#182)

* feat: 버튼 활성화 처리

* feat: 타이머 업데이트

* chore: timer text 변경

* feat: 다시하기 reload() 처리인데, 룸 아이디 잘 들어갈지 모르겠음

* fix: 안쓰는 커스텀 스타일 수정

* [온보딩] step06 퍼널로 복귀 & 로직 완료 & 참여자 뷰 구현 (#184)

* chore: svg 파일추가

* chore: svg 파일 추가

* style: 초대 마감 뷰 구현

* feat: 초대 마감 뷰 라우터 처리

* feat: kakao 공유하기 커스텀 훅 작성

* feat: kakao 공유하기 useEffect로 구현

* style: 스타일 코드 props에 $ 추가로 에러 해결

* style: 스타일 코드에 기간 Period 추가

* feat: 선물 전달일 당일 출력 완료

* style: 데드라인 페이지 스타일 코드 분리

* feat: 데드라인 페이지에서 버튼 클릭 시 홈으로 이동

* feat: 온보딩 결과 페이지 라우터 처리

* style: 온보딩 헤더 패딩 삭제

* feat: 기존 step06 다시 퍼널로 복귀

* feat: step05에서 다음 클릭 시 invitationCode 저장후 step06로 연결

* feat: step06에서 result페이지 주소 복사

* feat: 참여자의 뷰 구현 & GET 받아오기

* feat: 카카오 로그인 클릭 시 홈으로 이동

* chore: 빌드 에러 해결

* chore: 빌드 에러 해결

* feat: 로컬 비우는 버튼 생성

* fix: 토큰 존재 여부 함수 생성

* fix: 로그인 오류 수정

* [선물등록, 선물홈] 타이머 수정, 뒤로 가기 구현 (#190)

* feat: 선물 홈 뒤로가기 버튼

* feat: 뒤로가기 구현

* feat: 뒤로가기 구현

* feat: 불필요한 파일 제거

* feat: 링크가 유효하지 않을 때 라우팅 연결

* feat: 입력창 숫자일 때 화살표 안 뜨게

* feat: 선물 상태바 구현

* feat: 미니 타이머 기능 수정

* feat: api 수정 반영

* [선물홈]내가 고른 선물 구현 (#191)

* feat: 링크 복사 구현

* feat: 내가 등록한 선물 구현

* feat: 내가 고른 선물 구현

* fix: 불필요한 코드 삭제

* fix: 빌드에러 해결

* fix: 빌드에러 해결

* [상세 페이지]delete api (#192)

* feat: roomId 넘어가는 문제 해결

* fix: 코드 수정했지만 여전히 오류남

* feat: delete 코드 작성

* fix: react-query delete 문법 바꿔보기

* fix: 안쓰는 import 문 삭제

* fix: api url 수정

* feat: mutation 로직 코드 수정

* fix: component 랜더링 방식 수정

* fix: 로그인 오류 수정

* fix: 안쓰는 것들 정리

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: 수정하기 버튼 등장 조건 추가

* feat: 햄버거 바 메뉴 (#194)

* feat: 타이머 컴포넌트 분리

* feat: Step02에서 이미지 파일 자체를 저장

* feat: 타이머 부분 컴포넌트로 분리

* feat: 이미지 파일 formData로 저장 후 PUT

* feat: 상위 컴포넌트에서 imageFile props 전달

* feat: POST presigned URL 타입 변경

* feat: 참여자 뷰 타이틀을 받아온 데이터 기반으로 출력

* [토너먼트] 토너먼트 화면 스타일 리팩토링 (#196)

* feat: header 토너먼트 구현

* feat: header 토너먼트 구현

* chore: 주석 제거

* style: padding 2rem 추가 및 랭킹에 헤더 구현

* style: 토너먼트 배경 및 헤더 재배치

* style: 아이템 info 패딩 값

* feat: 결과 헤더 및 패딩값 조절

* style: 토너먼트 인트로 헤더 조절

* feat: 아이템 총 개수 인트로 화면 표시

* style: 폰트 컬러 변경

* chore: 아이콘 추가

* feat: 아이템 없을 때 예외처리

* chore: 구문 분리

* feat: 라운드 세트  수 로직 추가

* [전체]클립보드 복사 및 자잘한 수정 (#200)

* feat: 선물 홈 뒤로가기 버튼

* feat: 뒤로가기 구현

* feat: 뒤로가기 구현

* feat: 불필요한 파일 제거

* feat: 링크가 유효하지 않을 때 라우팅 연결

* feat: 입력창 숫자일 때 화살표 안 뜨게

* feat: 선물 상태바 구현

* feat: 미니 타이머 기능 수정

* feat: api 수정 반영

* Feat/#185 copy link (#201)

* feat: 링크 복사 구현

* feat: 내가 등록한 선물 구현

* feat: 내가 고른 선물 구현

* fix: 불필요한 코드 삭제

* fix: 빌드에러 해결

* fix: 빌드에러 해결

* feat: 버튼 이벤트 적용

* feat: step02 이미지 네임 방식 변경

* Refactor/#164 tournament result layout (#202)

* feat: header 토너먼트 구현

* feat: header 토너먼트 구현

* chore: 주석 제거

* style: padding 2rem 추가 및 랭킹에 헤더 구현

* style: 토너먼트 배경 및 헤더 재배치

* style: 아이템 info 패딩 값

* feat: 결과 헤더 및 패딩값 조절

* style: 토너먼트 인트로 헤더 조절

* feat: 아이템 총 개수 인트로 화면 표시

* style: 폰트 컬러 변경

* chore: 아이콘 추가

* feat: 아이템 없을 때 예외처리

* chore: 구문 분리

* feat: 라운드 세트  수 로직 추가

* style: 랭킹 아이콘 및 카카오 버튼 구현

* style: 버튼 폰트 컬러 및 색상

* style: 캘린더 가운데 배치

* [시작 페이지] start view 오류 해결 (#205)

* fix: 로그인 오류 수정

* fix: start 2번째 사진 수정

* fix: start 화면 뷰 다르게 하기

* fix: 안쓰는 import 문 삭제

---------

Co-authored-by: Wang HoEun <[email protected]>

* 리프레쉬 토큰 오류 수정 (#207)

* feat: roomId 넘어가는 문제 해결

* fix: 코드 수정했지만 여전히 오류남

* feat: delete 코드 작성

* fix: react-query delete 문법 바꿔보기

* fix: 안쓰는 import 문 삭제

* fix: api url 수정

* feat: mutation 로직 코드 수정

* fix: component 랜더링 방식 수정

* fix: 로그인 오류 수정

* fix: 안쓰는 것들 정리

* fix: 리프레쉬 토큰 재 설정

* fix: 로그인 부분 main 코드로 변경

* feat: 온보딩으로 이동

---------

Co-authored-by: Wang HoEun <[email protected]>

* 리프레쉬 토큰 재 수정 (#210)

* fix: 로그인 오류 수정

* fix: 토큰 재요청

---------

Co-authored-by: Wang HoEun <[email protected]>

* Fix/#209 refresh token re (#213)

* fix: 로그인 오류 수정

* fix: 토큰 재요청

* fix: param으로 넘기는거로 수정

* fix: start 페이지 수정

---------

Co-authored-by: Wang HoEun <[email protected]>

* fix: 기호 삭제하기

* fix: editpage도 수정

* fix: 안 쓰는 import 수정

* fix: 리액트 쿼리로 되돌림 get method

* fix: param 방법으로 바꾸기

* fix: 안쓰는 import 문

* fix: data 구조 수정

* fix: param으로 다 수정

* fix:giftee 없애기

* fix: type부분 분류 + refresh 토큰

* style: home으로 이동 삭제

* feat: 파일이름 파싱 방식 변경

* style: 타이머 위치 조정(수정 필요!!!!!)

* feat: 타이머 컴포넌트 인풋 위치 수정

* feat: 중복되는 https를 파싱

* fix: token data 구조 수정

* fix: 리프레쉬 토큰 api 수정

* fix: 리프레쉬 토큰 body 공유

* feat: 파일 이름 파싱 방식 변경

* feat: 참여자 뷰에서 로그인 클릭 시 로그인 수행

* chore: 필요없는 콘솔 제거

* style: 라디오 버튼 width 수정

* style: 안쓰는 코드 제거

* style: step06 이미지 기본값으로 설정

* fix : PUT 403 에러 해결

* fix: refresh token post 수정

* feat: 라디오 버튼 조건문 추가

* style: 스타일 수정

* [마이페이지] 헤더 구현  (#212)

* feat: header 마이페이지 및 홈 구현

* fix : 롤백

* fix: api access token 없이 (#226)

* chore: 필요없는 코드 제거

* feat: 링크복사를 배포주소로 변경

* feat: step03에 props 전달하여 출력

---------

Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>
Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Jimin Yu <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>

* fix: 카카오 공유하기 링크 수정 (#231)

* [QA] (#234)

* feat: 미니 타이머 고치기

* feat: 사진 뜨도록 수정

* feat: 내가 등록한 선물 조건 걸어주기

* feat: 업로드 가능한 이미지 형식 제한

* feat: 완료 버튼 활성화 조건 추가

* feat: 미리보기 수정

* feat: 더미데이터 추가

* chore: 주석처리

* fix: 빌드 에러 해결

* fix: 토너먼트 파람 변경 (#236)

* fix: profile image url 수정

* [온보딩] qa 중  (#239)

* feat: 카카오 공유하기 시 초대코드로 이동

* feat: imageUrl 빈 문자열로 변경해서 POST

* chore: 빌드에러 해결

* fix: router merge 시 수정 된거 복귀

* fix:토너먼트 라우터 수정 (#244)

* [QA] 아웃링크 추가 구현, 타이머 수정 (#246)

* chore: 불필요한 주석 삭제

* feat: 불필요한 조건문

* feat: 타이머 수정 테스트

* feat: 아이템 아웃링크 구현

* chore: 불필요한 주석 제거

* feat: 아웃링크 연결

* feat: 라우터 연결

* [온보딩] 모바일 폰트 적용 및 색상 적용 (#248)

* feat: 라디오 버튼 모바일에서 활성화(왕호은왕천재)

* style: 폰트 적용 및 색상

* chore: 빌드 에러 해결

* chore: 빌드 에러 해결

* fix: 기프트  홈 파람 변경 (#250)

* [토너먼트] 아이템 0개이면 0개 화면 예외처리  (#254)

* fix: 기프트  홈 파람 변경

* fix: 토너먼트 예외처리

* [온보딩] 지웠던 POST 및 카카오 공유 & 입장 클릭 시 roomId 받아서 navigate 이동 (#257)

* feat: 카카오 공유에 props로 넘겨받은 이름 출력

* feat: 실수로 지운 POST 다시 작성

* feat: roomId 상태로 저장

* feat: step05에서 지웠던 post 에서 룸 id 저장 후 다음 스텝 넘기기

* feat: navigate로 roomId 받아서 선물 홈으로 넘김

* [토너먼트] get user roomid 프롭 전달 (#262)

* fix: tournament fix

* fix: 안쓰는 파일 주석 처리

* feat: 뒤로가기 수정중

* feat: 라우팅 수정

* feat: 빌드 에러 해결

* 초대 &  카카오공유 & 2차 qa (#267)

* 깃 충돌 후 폴더 복사 후 새 브랜치 첫 푸쉬

* chore:빌드 에러 해결

* feat: 라우팅 수정 마무리

* feat: 서버통신 수정중

* fix: 빌드 에러 해결중

* feat: presigned url 제거

* fix: QA 적용중

* feat: 스타일 수정

* feat: 버튼 수정

* feat: 기능 수정

* [QA]  토너먼트 스타일 QA 1차 피드백 반영 (#273)

* fix: 카카오 공유하기 링크 수정

* feat: 링크복사 baseUrl 수정

* style: 스타일 변경 토너먼트 뷰

* style: app wrapper 변경 및 헤더

* style: 모달창 가격

* fix: 토너먼트 라우터 구조 변경

* feat: 빌드 에러 해결

* feat: 이미지 수정 시 null로 POST

* feat: navigate 수정

* feat: 간격 조정

* feat: 빌드 에러 수정

* feat: 디자인 수정

* feat: 디자인 수정

* feat: 초대 링크 수정

* fix: 충돌 해결 후 머지중

* feat: 초대 구현

* Home/Mypage 디자인 qa 진행 완료 (#272)

* refactor: type icon 수정

* refactor: footer 수정

* refactor: icon 적용

* refactor: detail view 수정

* refactor: 선물방 뷰 수정

* refactor: 시작 페이지 수정

* refactor: 마이페이지

* refactor: 로딩과 애니메이션 수정

* refactor: gift Room 수정

* fix: build에러 해결

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: 이미지 조건 변경

* [온보딩] 스타일 속성 변경 (#278)

* feat: 뒤로가기 버튼 제거

* style: qa 반영 오전 5시 18분

* style: 카카오 링크 zindex 추가

* style: 온보딩 스텝 스타일

* fix: 빌드 오류 해결

---------

Co-authored-by: 장정안 <[email protected]>

* [토너먼트] gifted 속성 받아오기  (#281)

* feat:api 업데이트 get User

* feat: 라우터 기프티 받아오기

* feat: 뒤로가기 수정

* [온보딩] 온보딩 파이널 뷰 스타일 수정 (#285)

* style: 온보딩 파이널 햄버거 추가 & 글자 위치 수정

* style: 투명도 제거

* feat: 스타트 페이지 원래대로 복귀

* [큐에이] 토너먼트 시작 화면  (#287)

* chore: 이미지 추가

* style: 토너먼트 카드 스타일 2차

* style: 토너먼트 랭킹 헤더

* style: start 화면 배경 삽입

* fix: 빌드 에러 해결

* 움직이는거 수정 (#289)

* refactor: type icon 수정

* refactor: footer 수정

* refactor: icon 적용

* refactor: detail view 수정

* refactor: 선물방 뷰 수정

* refactor: 시작 페이지 수정

* refactor: 마이페이지

* refactor: 로딩과 애니메이션 수정

* refactor: gift Room 수정

* fix: build에러 해결

* refactor: header 수정, 마이페이지 위치 값 수정

* fix: 모바일 움직임 수정

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: 네비게이션 수정

* style: 초대 받은 사람 뷰 스타일 수정

* fix: 오타 수정

* fix: 배경 이미지 교체

* fix: 로그인 에러 해결

* fix: 문구 삭제

* fix: 리턴 값 부여

* [리프레쉬 토큰] 리프레쉬 토큰 만료 시 재로그인 (#314)

* [Fix] 불필요한 div 삭제 (#294)

* [공통컴포넌트] 모달창 구현 (#80)

* feat: 모달창 구현

* feat: modal 버튼 함수 프롭 전달

* style: 스타일 속성 순서

* style: 단위 변경

* [토너먼트] 토너먼트 플로우 화면 퍼블리싱  (#72)

* feat: 토너먼트 공통 버튼 도입

* docs: 토너먼트 컨테이너 폴더변경

* style: 토너먼트 패딩 값 변경

* feat: 공통 컴포넌트 시작하기 버튼 구현

* feat: 시작하기 버튼 후 라운드 시작 로직 구현!

* chore: 네이밍 오타 수정

* style: 스타일 코드 분리

* feat: btn_next - border 지우기

* style: theme 토너먼트 폰트 추가

* docs: 폴더 이동

* style: 토너먼트 카드 스타일 분리

* style: 토너먼트 카드 스타일 분리

* style: 스타일 속성 순서

* feat: 토너먼트 footer 컴포넌트 구현

* feat: 토너먼트 title 컴포넌트 구현

* style: 폴더 구조 이동

* chore: 아이콘 이미지 추가

* chore: 아이콘 추가

* feat: 토너먼트 불필요한 div 삭제

* feat: 더보기 아이콘 추가 링크

* style: 이전 버튼 패딩 값 조절

* feat: 새로고침 아이콘 추가

* feat: header 임시 높이 조정

* fix: 빌드 오류 아이콘 수정

* style: 가운데 정렬

* style: rem 폰트 변경

* [기능 구현] kakao login (#85)

* chore: 이슈 템플릿 추가

* chore: 이슈 템플릿 수정

* feat: Login 페이지 생성

* style: style코드 mixin으로 변경

* [초기세팅] 초기세팅 main으로 합치기 (#49)

* chore: 이슈 템플릿 추가

* add: 프로젝트 생성

* init: 의존성 모듈 설치

* docs: 풀리퀘 템플릿 추가

* feat: PR 시 임시배포 구현

* feat: 자동 배포 workflow 구현

* chore: 버전 수정

* chore: 오타 수정

* chore: 설명 주석 추가

* [초기세팅] eslint 설정 및 prettier 설정 (#14)

* chore: eslint 설정 및 prettier 설정

* fix: node true 추가

* fix: 중복 singleQuote 설정 제거

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] GlobalStyle 작성 (#7)

* add: styled-component 설치

* feat: meta 태그 수정

* feat: setScreenSize 유틸 함수 작성

* feat: GlobalStyle 작성

* feat: App.tsx 내 GlobalStyle과 GlobalEvent 구현

* chore: styled-reset 라이브러리 설치

* fix: reset 라이브러리 설치로 GlobalStyle 수정

* feat: vw관련 설정 추가

* [초기세팅]  Formatting 파일 구조 및 라우팅 설정 (#8)

* feat: 라우팅 대쉬보드 생성

* feat: 라우터 설정

* feat: app 파일 routerProvider 적용

* feat: 폴더구조 세팅

* chore: 라우터 패키지 추가

* chore: 라우터 패키지 추가

* [초기세팅] husky 설정 및 lint staged 설정 (#15)

* chore: husky 설정 및 lint staged 설정

* feat: husky commitlint 설정

* merge change

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] recoil 설치 및 파일 설정 (#17)

* feat: recoil 설치 및 파일 설정

* feat: RecoilRoot 설정

* chore: react-router-dom 선언 인식 문제 위해 재 설치

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: react-query 설치 및 세팅 및 key 파일 생성 (#18)

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] svgr 설치 / open-graph (#16)

* chore: svgr 설치

* chore: open graph 라이브러리 설치

* chore: vite svgr 세팅 및 custom 파일 생성

* style: yarn svgr 치니까 tsx 파일로 변동 완료.

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] Github Actions 수정(Vercel 배포 연결, preview 수정) (#25)

* [초기세팅] 자주 사용하는 속성들 mixin 설정 (#23)

* feat: mixin 설정

공통적으로 많이 쓰일 수 있는 flexBox,inlineFlexBox,flexCenter 를 먼저 설정하였음.
추후에 디자인이 나오면 더 추가시킬 예정입니다(ex.애니메이션)

* feat: mixin 불러오기 위한 theme 설정

* feat: Styles 컴포넌트 생성

* feat: App 컴포넌트를 Styles 감싸기

* docs: 리드미 작성 (#24)

* 초기세팅/theme 설정 (#37)

* feat: theme color 설정

* feat: theme font 설정

* style: colors & fonts에 뎁스 추가

* chore: SUIT font 파일 추가

* feat: font-face 추가 & import 문제

* fix: import 이슈 해결을 위한 중괄호 제거

* fix: 필요하지 않은 파일 및 코드 제거

* [초기세팅] 화면 사이즈 layout 분리  (#28)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* feat: theme fonts, colors 구조 수정 (#43)

* [초기세팅] 모바일 리사이징 레이아웃 적용 안되는 이슈 해결  (#45)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* [초기세팅] PR 미리보기 액션 수정 (#39)

* feat: 각 PR에 접근할 수 있도록 설정 추가

* feat: 불필요한 설정 제거

* chore: 빌드 에러 해결

* [초기세팅] svgr GUI 아이콘 등록 (#48)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* docs: 아이콘 및 로고 추가 + svgr 변환

* chore: 빌드 에러 처리

---------

Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* feat: query key 세팅 및 instance 생성 (type 수정 필요)

* chore: axios 설치

* refactor: queryKeys 파일 삭제

* feat: react-query user login api 코드 작성

* feat: Login 로직 코드와 서버 연결 코드 작성

* fix: baseurl import 수정 및 code queryString 으로 구현

* style: 안 쓰는 코드 정리 및 로직 코드 정리

* fix: 안 쓰는 import문 삭제

* fix: 안쓰는 import 문 삭제

* fix: strict mode 지우기

* fix: method 변경 및 console.log 작성

* fix: method get으로 수정

* fix: router link 재설정

* fix: 라우터 주소 재 설정

* fix: strict mode 삭제

* feat: console 추가

* fix: useEffect 위치 수정

* fix: router 구조

* fix: router browserRouter로 수정

* fix: json vercel 파일 추가

* fix: Router 컴포넌트 수정

* fix: path 수정

* fix: 최신 router로 다시 변경

* fix: 데이터 타입 수정

* fix: local 저장 코드 잠시 주석

* fix: data Type 다시 수정

* fix: 안 쓰는 import 삭제

* feat: localstorage에 token 저장

* feat: localstorage 에 token 저장

* fix: console.log로 찍어보기

* fix: data type 구현

* fix: localstorage에 토큰 저장

* fix: 안쓰는 css 파일 삭제

---------

Co-authored-by: Jimin Yu <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* [토너먼트] 토너먼트 결과 화면 퍼블리싱 (#82)

* feat: 토너먼트 컴포넌트 폴더 구조

* feat: 토너먼트 결과 화면 카드 컴포넌트 구현

* feat: 토너먼트 타이틀 컴포넌트

* feat: 토너먼트 결과 레이아웃 컴포넌트

* feat: 토너먼트 결과 footer 컴포넌트

* feat: 토너먼트 유저 현황 미니타이머 컴포넌트 구현

* feat: 토너먼트 footer 영역 구현

* feat: 공통 컴포넌트 수정

* style: 공통 버튼 수정 및 footer 색 변경

* docs: 폴더명 대문자 변경

* fix: 토너먼트 컨테이너 충동 해결

* fix: 빌드 오류 해결

* [토너먼트] 최종 순위 확인 뷰 퍼블리싱 (#86)

* feat: 토너먼트 컴포넌트 폴더 구조

* feat: 토너먼트 결과 화면 카드 컴포넌트 구현

* feat: 토너먼트 타이틀 컴포넌트

* feat: 토너먼트 결과 레이아웃 컴포넌트

* feat: 토너먼트 결과 footer 컴포넌트

* feat: 토너먼트 유저 현황 미니타이머 컴포넌트 구현

* feat: 토너먼트 footer 영역 구현

* feat: 공통 컴포넌트 수정

* style: 공통 버튼 수정 및 footer 색 변경

* chore: 메달아이콘 추가

* feat: 토너먼트 랭킹 화면 타이틀 작업

* feat: 토너먼트 랭킹 순위 아이템 컴포넌트 구현

* feat: 토너먼트 랭킹 페이지 구현

* feat: price 공통 컴포넌트 구현

* style: 공통 priceTag 적용

* fix: 이미지 아이콘 오류 해결

* fix: 안쓰는 아이콘 제거

* fix: 폴더 구조 변경 import

* [토너먼트] 대소문자 변경 파일 변경  (#95)

* chore: 이슈 템플릿 추가

* chore: 이슈 템플릿 수정

* [초기세팅] 초기세팅 main으로 합치기 (#49)

* chore: 이슈 템플릿 추가

* add: 프로젝트 생성

* init: 의존성 모듈 설치

* docs: 풀리퀘 템플릿 추가

* feat: PR 시 임시배포 구현

* feat: 자동 배포 workflow 구현

* chore: 버전 수정

* chore: 오타 수정

* chore: 설명 주석 추가

* [초기세팅] eslint 설정 및 prettier 설정 (#14)

* chore: eslint 설정 및 prettier 설정

* fix: node true 추가

* fix: 중복 singleQuote 설정 제거

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] GlobalStyle 작성 (#7)

* add: styled-component 설치

* feat: meta 태그 수정

* feat: setScreenSize 유틸 함수 작성

* feat: GlobalStyle 작성

* feat: App.tsx 내 GlobalStyle과 GlobalEvent 구현

* chore: styled-reset 라이브러리 설치

* fix: reset 라이브러리 설치로 GlobalStyle 수정

* feat: vw관련 설정 추가

* [초기세팅]  Formatting 파일 구조 및 라우팅 설정 (#8)

* feat: 라우팅 대쉬보드 생성

* feat: 라우터 설정

* feat: app 파일 routerProvider 적용

* feat: 폴더구조 세팅

* chore: 라우터 패키지 추가

* chore: 라우터 패키지 추가

* [초기세팅] husky 설정 및 lint staged 설정 (#15)

* chore: husky 설정 및 lint staged 설정

* feat: husky commitlint 설정

* merge change

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] recoil 설치 및 파일 설정 (#17)

* feat: recoil 설치 및 파일 설정

* feat: RecoilRoot 설정

* chore: react-router-dom 선언 인식 문제 위해 재 설치

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: react-query 설치 및 세팅 및 key 파일 생성 (#18)

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] svgr 설치 / open-graph (#16)

* chore: svgr 설치

* chore: open graph 라이브러리 설치

* chore: vite svgr 세팅 및 custom 파일 생성

* style: yarn svgr 치니까 tsx 파일로 변동 완료.

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] Github Actions 수정(Vercel 배포 연결, preview 수정) (#25)

* [초기세팅] 자주 사용하는 속성들 mixin 설정 (#23)

* feat: mixin 설정

공통적으로 많이 쓰일 수 있는 flexBox,inlineFlexBox,flexCenter 를 먼저 설정하였음.
추후에 디자인이 나오면 더 추가시킬 예정입니다(ex.애니메이션)

* feat: mixin 불러오기 위한 theme 설정

* feat: Styles 컴포넌트 생성

* feat: App 컴포넌트를 Styles 감싸기

* docs: 리드미 작성 (#24)

* 초기세팅/theme 설정 (#37)

* feat: theme color 설정

* feat: theme font 설정

* style: colors & fonts에 뎁스 추가

* chore: SUIT font 파일 추가

* feat: font-face 추가 & import 문제

* fix: import 이슈 해결을 위한 중괄호 제거

* fix: 필요하지 않은 파일 및 코드 제거

* [초기세팅] 화면 사이즈 layout 분리  (#28)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* feat: theme fonts, colors 구조 수정 (#43)

* [초기세팅] 모바일 리사이징 레이아웃 적용 안되는 이슈 해결  (#45)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* [초기세팅] PR 미리보기 액션 수정 (#39)

* feat: 각 PR에 접근할 수 있도록 설정 추가

* feat: 불필요한 설정 제거

* chore: 빌드 에러 해결

* [초기세팅] svgr GUI 아이콘 등록 (#48)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* docs: 아이콘 및 로고 추가 + svgr 변환

* chore: 빌드 에러 처리

---------

Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* fix: strict mode 지우기

* fix: method get으로 수정

* fix: router link 재설정

* fix: 라우터 주소 재 설정

* feat: console 추가

* fix: useEffect 위치 수정

* fix: router 구조

* fix: router browserRouter로 수정

* fix: json vercel 파일 추가

* fix: Router 컴포넌트 수정

* fix: path 수정

* fix: 최신 router로 다시 변경

* fix: 데이터 타입 수정

* fix: local 저장 코드 잠시 주석

* fix: data Type 다시 수정

* fix: 안 쓰는 import 삭제

* fix: 토너먼트 대소문자 변경

* fix: 대소문자 파일 변경 Tournament

* fix: onBoarding 대소문자 변경

* fix: Onboarding -> OnBoarding  변경

* fix: onboardingSteps 로 변경

---------

Co-authored-by: Jimin Yu <[email protected]>
Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>

* [선물 등록 페이지] 내가 등록한 선물 페이지 UI 구현 (#65)

* feat: 임시로 선물 등록 테스트 페이지 추가

* feat: 선물 링크 등록 테스트 임시로 기능 구현

* feat: 내가 추가한 선물 페이지 UI 구현중

* feat: 라우터에 페이지 임시 추가

* style: 이미지 어셋 추가

* feat: 내가 추가한 선물 페이지 UI 구현

* feat: 선물 등록하기 뷰 구현

* feat: 내가 등록한 선물 뷰 UI 구현

* chore: 화살표 함수로 수정

* feat: 내가 등록한 선물 컴포넌트 분리

* chore: 빌드 에러 해결

* feat: 빌드 에러 해결

* feat: rem 단위로 수정

* �[최신화] 기존 브랜치에서 새로운 브랜치로 코드 복붙 (#97)

* fix: 디벨롭에서 새로운 브랜치를 파서 step05까지의 코드 복붙

* fix: step06까지 복붙 완료

* [선물홈] 선물홈 UI 구현 (#91)

* feat: 선물 홈 라우터 연결

* feat: GiftHome 상단 컴포넌트 구현중

* feat: theme 수정 반영

* feat: 선물홈 상단 애니메이션 제외 UI 구현

* chore: countdown flip animation 라이브러리 설치

* feat: 선물홈 하단 '친구가 등록한 선물' UI 구현

* style: 선물홈 친구, 2030 공통 스타일 생성

* style: 전체 패딩 0으로 설정

* style: 선물홈 2030, 친구 부분 공통 스타일 구현

* feat: 선물홈 2030, 친구 UI 구현

* feat: haeder, footer 제거

* style: 타이머 폰트 추가

* style: svg 파일 추가

* feat: 카운트다운 카드 컴포넌트 분리

* fix: 빌드 에러 해결

* feat: 타이머 컴포넌트 생성

* feat: 아이콘 추가

* feat: 공통 스타일 분리

* feat: 컴포넌트 분리

* feat: 더미 데이터 추가

* fix: 빌드 에러 해결

* [선물 등록하기] 링크 등록 플로우 내가 등록한 선물 제외 UI 구현 완료 (#93)

* feat: 높이 설정 추가

* feat: 공통 버튼 테두리 없애기

* feat: 다음 버튼 따로 구현

* feat: 입력창 뷰 구현

* feat: 링크 입력 화면 UI 구현

* feat: 다음 버튼 활성화 수정

* feat: 링크 있을 때 선물 등록 UI 구현

* feat: 링크 있을 때 선물 등록 UI 구현

* feat: 링크 없을 때 UI 구현

* feat: header, footer 제거

* feat: 직접 입력 화면 UI 구현

* feat: 링크 없이 입력 버튼 연결

* feat: 첫번째 링크 입력 화면 UI 수정

* feat: 폴더구조 정리 및 공통 컴포넌트 분리

* feat: 상단 선물 바 위치 조건 추가

* feat: 썸네일 컴포넌트 분리

* feat: 가격은 삭제 아이콘 안 뜨도록 수정

* feat: input padding 추가

* feat: 페이지 레이아웃 분리

* fix: 빌드 에러 해결

* [선물 홈, 선물 등록] 전반적인 뷰 수정 및 플로우 연결 (#100)

* style: 불필요한 파일 제거

* feat: 선물홈 헤더 추가

* style: 오타 수정 및 커서 포인터 설정

* feat: 플로팅 버튼 구현

* feat: 헤더 및 버튼 구현

* feat: 페이지 연결

* style: 아이콘 추가

* style: 북마크 이미지 추가

* feat: 플로우 연결

* feat: 모달 추가

* chore: 빌드 에러 해결 위해서 불필요한 코드 추가

* feat: 라우터 중복 수정

* fix: 빌드 에러 해결중

* fix: 빌드 에러 해결

* fix: 빌드 에러 해결

* [마이페이지] 뷰 작업 + Card Component 제작 (#92)

* chore: 이슈 템플릿 추가

* chore: 이슈 템플릿 수정

* [초기세팅] 초기세팅 main으로 합치기 (#49)

* chore: 이슈 템플릿 추가

* add: 프로젝트 생성

* init: 의존성 모듈 설치

* docs: 풀리퀘 템플릿 추가

* feat: PR 시 임시배포 구현

* feat: 자동 배포 workflow 구현

* chore: 버전 수정

* chore: 오타 수정

* chore: 설명 주석 추가

* [초기세팅] eslint 설정 및 prettier 설정 (#14)

* chore: eslint 설정 및 prettier 설정

* fix: node true 추가

* fix: 중복 singleQuote 설정 제거

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] GlobalStyle 작성 (#7)

* add: styled-component 설치

* feat: meta 태그 수정

* feat: setScreenSize 유틸 함수 작성

* feat: GlobalStyle 작성

* feat: App.tsx 내 GlobalStyle과 GlobalEvent 구현

* chore: styled-reset 라이브러리 설치

* fix: reset 라이브러리 설치로 GlobalStyle 수정

* feat: vw관련 설정 추가

* [초기세팅]  Formatting 파일 구조 및 라우팅 설정 (#8)

* feat: 라우팅 대쉬보드 생성

* feat: 라우터 설정

* feat: app 파일 routerProvider 적용

* feat: 폴더구조 세팅

* chore: 라우터 패키지 추가

* chore: 라우터 패키지 추가

* [초기세팅] husky 설정 및 lint staged 설정 (#15)

* chore: husky 설정 및 lint staged 설정

* feat: husky commitlint 설정

* merge change

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] recoil 설치 및 파일 설정 (#17)

* feat: recoil 설치 및 파일 설정

* feat: RecoilRoot 설정

* chore: react-router-dom 선언 인식 문제 위해 재 설치

---------

Co-authored-by: Wang HoEun <[email protected]>

* feat: react-query 설치 및 세팅 및 key 파일 생성 (#18)

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] svgr 설치 / open-graph (#16)

* chore: svgr 설치

* chore: open graph 라이브러리 설치

* chore: vite svgr 세팅 및 custom 파일 생성

* style: yarn svgr 치니까 tsx 파일로 변동 완료.

---------

Co-authored-by: Wang HoEun <[email protected]>

* [초기세팅] Github Actions 수정(Vercel 배포 연결, preview 수정) (#25)

* [초기세팅] 자주 사용하는 속성들 mixin 설정 (#23)

* feat: mixin 설정

공통적으로 많이 쓰일 수 있는 flexBox,inlineFlexBox,flexCenter 를 먼저 설정하였음.
추후에 디자인이 나오면 더 추가시킬 예정입니다(ex.애니메이션)

* feat: mixin 불러오기 위한 theme 설정

* feat: Styles 컴포넌트 생성

* feat: App 컴포넌트를 Styles 감싸기

* docs: 리드미 작성 (#24)

* 초기세팅/theme 설정 (#37)

* feat: theme color 설정

* feat: theme font 설정

* style: colors & fonts에 뎁스 추가

* chore: SUIT font 파일 추가

* feat: font-face 추가 & import 문제

* fix: import 이슈 해결을 위한 중괄호 제거

* fix: 필요하지 않은 파일 및 코드 제거

* [초기세팅] 화면 사이즈 layout 분리  (#28)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* feat: theme fonts, colors 구조 수정 (#43)

* [초기세팅] 모바일 리사이징 레이아웃 적용 안되는 이슈 해결  (#45)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* [초기세팅] PR 미리보기 액션 수정 (#39)

* feat: 각 PR에 접근할 수 있도록 설정 추가

* feat: 불필요한 설정 제거

* chore: 빌드 에러 해결

* [초기세팅] svgr GUI 아이콘 등록 (#48)

* feat: 대쉬보드 레이아웃 변경 및 사이즈 스타일 적용

* feat: app 리사이즈 useEffect 제거

* feat: useEffect 제거 후 스타일 고정

* feat: 레이아웃 커스텀 훅 구현

* feat: 라우터 폴더 구조 변경

* feat: layout 폴더 구조 변경

* fix: 모바일 위드값 적용안되는 이슈 해결

* fix: 함수 호출 변경

* fix: global width값 제거

* docs: setscreensize 파일 삭제

* docs: 아이콘 및 로고 추가 + svgr 변환

* chore: 빌드 에러 처리

---------

Co-authored-by: Wang Hoeun <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* fix: strict mode 지우기

* fix: method get으로 수정

* fix: router link 재설정

* fix: 라우터 주소 재 설정

* feat: console 추가

* fix: useEffect 위치 수정

* fix: router 구조

* fix: router browserRouter로 수정

* fix: json vercel 파일 추가

* fix: Router 컴포넌트 수정

* fix: path 수정

* fix: 최신 router로 다시 변경

* fix: 데이터 타입 수정

* fix: local 저장 코드 잠시 주석

* fix: data Type 다시 수정

* fix: 안 쓰는 import 삭제

* feat: 마이페이지 생성 후 배경 이미지 불러오기

* feat: 마이페이지 유저 div 구현

* feat: 선물 방 뷰 없을때 페이지 구현 완료

* feat: 진행 중이지 않은 선물 방 div 태그 생성

* feat: header 라우터 기능 추가

* feat: 컴포넌트 어느정도 구현 완료 하지만 edit 부분 수정 필요

* fix: 버튼 사이즈 merge 후 custom 으로 넘기기

* fix: settings 위치 수정

* refactor: setting icon 위치 수정

* fix: tag 수정

* feat: 색상 변동 된거 적용

* style: type3 수정 및 margin 주기

* feat: 종료된 선물방 컴포넌트 구현 및 수정 페이지 구현

* feat: detail page router 적용

* fix: 안쓰는 import 문 삭제

---------

Co-authored-by: Jimin Yu <[email protected]>
Co-authored-by: Wang HoEun <[email protected]>
Co-authored-by: 장정안 <[email protected]>
Co-authored-by: LEE KAYOUNG / KATIE <[email protected]>

* [선물 등록] 버튼 조건에 맞게 활성화, 광고 삭제 기능 구현 (#106)

* feat: 버튼 비활성화 속성 추가

* feat: input 조건에 따른 버튼 활성화 수정

* fix: 스타일 props $ 추가

* feat: 광고 삭제 기능 구현

* feat: 아이콘 교체

* fix: 빌드 에러 해결

* [마이페이지] react-query 데이터 패칭 방식 예시 코드 작성 (#107)

* style: Wrapper 컨벤션 맞추기

* feat: mypage 데이터 패칭 react query hooks 작성,아직 테스트 전

* feat: 임시 token 저장 과정 코드 작성

* fix: react-query 받아오는 코드 수정 , 추후 mypage 받아오는 부분 undefined 해결 필요

* feat: react-query api mypage에서 불러오기

* refactor: 폴더명 변경

* refactor: 안쓰는 import 문 삭제 및 navigate 코드 주석

* fix: 안쓰는 import 문 정리

---------

Co-authored-by: Wang HoEun <[email protected]>

* [토너먼트] 라운딩 로직 및 부전승 처리  (#111)

* style: 인트로 시작 버튼 변경

* chore: 이미지 추가

* feat: 목업데이터 설정

* feat: 아이템 카드 적용

* feat: 토너먼트 랜덤 아이템 함수

* feat: 라우터 안쓰는 페이지 제거

* faet: 레이아웃 헤더 삭제

* feat: 데이터 개수 반영

* feat: 1라운드 로직 구현

* feat: 랜덤 세트 형성 로직 구현 + 훅 분리

* feat: 목업데이터 형성

* feat: 다음 버튼 구현

* feat: 불필요한 주석 제거

* feat: 선택되면 일단 선택 체크 성공

* feat: 라우터 변경

* feat: 토너먼트 인트로 컴포넌트 프롭 수정

* feat: 토너먼트 라운딩 로직 구현

* feat: 토너먼트 푸터, 타이틀 프롭 변경

* feat: 결과 제출 프롭 설정

* chore: 배경 이미지 추가

* chore: 배경 추가

* feat: 토너먼트 선택 아이템 저장 후 프롭 전달

* feat: 토너먼트 결과 화면 프롭 전달 받기

* feat: 헤더 삭제

* chore: 배경 이미지 설정

* feat: 토너먼트 부전승 처리

* chore: 토너먼트 플로우 컨테이너 주석처리

* chore: 빌드 오류 해결

* fix: 프롭 전달 삭제 빌드 오류 해결

* chore: 로직 의심 주석 추가

* [선물홈, 선물등록, 세부페이지] api 타입 및 hooks 파일 생성 (#114)

* feat: 선물홈 메인 get 연결

* feat: api 관련 파일 생성

* feat: api  types 파일 생성

* feat: GET hooks 생성

* feat: 선물홈 api 연결

* feat: api 관련 커스텀 훅 작성 및 타입 작성

* fix: 오타 수정

* chore: 불필요한 주석 삭제 및 로그 메시지 수정

* fix: url 수정

* [온보딩] 온보딩 POST & 카카오 공유하기 (#110)

* feat: 최상위 컴포넌트에서 상태 관리 작성

* chore: app.css index.css 삭제

* feat: step01 유저 입력 값 저장

* feat: step03 날짜 값 api명세서 형식에 맞게 상태에 저장

* feat: step02 이미지 url 형식에 맞게 저장

* fix: value가 있을 때 onChange가 없었던 이슈 해결

* chore: 쓰지 않는 router 파일 제거

* style: step05 mixin으로 변경

* style: input 스타일 코드 추가

* chore: TODO 주석 추가

* feat: step05 dateType에 따른 출력 변경

* feat: step04 -05 props 내려 받기

* feat: step04 props 전달

* feat: 날짜 & 시간 선택 시 api명세서 형식에 맞게 출력 및 저장

* feat: 라디오 버튼 온클릭 이벤트 추가

* chore: 쓰지 않는 코드 제거

* feat: step04에서 선택한 날짜와 시간을 step05로 가지고 오기 위한 props 전달

* feat: date-fns 라이브러리 사용하여 선택한 시간 더하기

* feat: 전반적으로 버튼 스타일 props에 $추가

* style: 웹 warning 삭제를 위한 $추가

* feat: step05 시간 업데이트 포매팅 후 저장

* feat: step06 룸 입장 콘솔로그 추가

* feat: 상위 컴포넌트인 온보딩페이지 에서 전체 상태 값 확인

* feat: index.html에 카카오 공유 관련 script 태그 추가

* feat: Window에 Kakao 타입 정의

* feat: 모든 스텝에서 저장한 값들 step6로 props 전달

* feat: 카카오 공유하기 기능 추가

* feat: 헤더 토큰 확인을 위한 client.ts export 추가

* feat: 온보딩 타입 지정

* feat: step05 useMutation post 구현

* feat: 라디오 버튼 props 추가

* feat: 온보딩 post 커스텀 훅으로 분리

* chore: 쓰지 않는 코드 제거

* chore: 빌드 에러 수정

* feat: 이미지 미리보기 구현 시 files[0]의 null값 대비 if문 구현

* chore: 빌드 에러 해결

* chore: 필요없는 주석 제거

* feat: 헤더에 토큰 이슈를 위한 useEffect 주석처리

* feat: timerOpen 삼항연산자로 변경

* [토너먼트] 토너먼트 선물 리스트 조회 API (#117)

* feat: useTournament 훅 로직 수정

* feat: giftData 타입 설정

* feat: 토너먼트 선물 리스트 조회 API

* feat: 토너먼트 데이터 패칭

* fix: 빌드 오류 TournamentFlowContainer 프롭 추가

* feat: post tournament 10개 로직

* feat: api post 인스턴스 생성 및 타입 설정

* feat: 부전승 결과 처리랑 짝수 결과 처리 나눔

* feat: 타입 변경

* fix: 안쓰는 state 제거

* [선물홈, 선물세부, 선물등록] gifthome detail api (#124)

* feat: 선물홈 api 연결 후 값 반영

* feat: 서버통신 훅 수정

* feat: 데이터 타입 수정

* feat: 세부페이지 연결

* feat: 선물 홈 연결

* feat: 내가 등록한 선물 api 연결

* feat: 내가 등록한 선물 api 연결

* feat: 선물 등록 post api 연결

* feat: props 수정

* chore: 에러 해결

* feat: 등록 상품 개수에 따라 다르게 화면 이동

* feat: 빌드 에러 해결중

* feat: 빌드 에러 해결

* feat: 빌드 에러 해결

* feat: 빌드 에러 해결

* [마이페이지] api 연결 후 기능 구현 (#125)

* refactor: 호출 코드 변경

* style: 스타일 코드 간편화

* feat: data 존재 여부에 따른 view 전환

* feat: cardRoom에 data 전달 하지만 오류 남. 해결 필요

* feat: 선물방 존재여부에 따른 0번째 1번째 카드 호출

* feat: detail page 데이터 호출 성공

* feat: room member api 연결 코드 작성

* feat: editroom api 기능 구현 완료 삭제 기능 구현 필요

* style: detail view wrap roomId 넘어주기와 폴더명 변경

* feat: done detail room roomwrapper wrap 추가

* fix: delte mutation 코드 수정

* style: delete 코드 정리 오류 나는 거 해결 필요

* feat: 안쓰는 import 문 삭제 + login 토큰 부분 주석 처리

* fix: 안 쓰는 코드 주석 처리

---------

Co-authored-by: Wang HoEun <[email protected]>

* Refactor/#88 tournament layout (#126)

* chore: icon 추가

* feat: 시작하기 버튼 가운데 정렬

* style: text 글자 가운데 정렬

* [로딩 과 에러] 로딩 페이지와 에러 페이지 (#127)

* style: 임시 코드 설정

* feat: Loading 페이지 생성

* feat: lottie 설치 후 적용

* refactor: suspensequery로 수정

* feat: errorboundary 설정

* fix: 안 쓰는 import 문 삭제

* fix: 기존 코드 대로 되돌림. token 부분

---------

Co-authored-by: Wang HoEun <[email protected]>

* [토너먼트] 유저, 시간 그리고 부전승 로직 수정  (#128)

* feat: 토너먼트 참여유저 및 종료 시간 받아오기

* feat: 토너먼트 참여유저 및 종료 시간 user 컴포넌트에 전달

* feat: get API 인스턴스 생성

* feat: get member data 받아오기 데이터 수정

* feat: modal 오픈

* style : 모달창 닫고 결과 화면 바꾸기

* feat: 부전승 처리 로직

* feat: 토너먼트 랜덤 로직 추가

* fix: useSuspenseQuery로 변경 빌드 에러 해결

* fix: useQuery 안쓰는 거 제거

* [토너먼트] 토너먼트 최종 결과 조회 API (#130)

* style: 최종 순위 확인 화면 스타일 수정 및 이미지 추가
…
  • Loading branch information
7 people authored Mar 15, 2024
1 parent 41986d8 commit f4340de
Show file tree
Hide file tree
Showing 17 changed files with 119 additions and 122 deletions.
2 changes: 1 addition & 1 deletion src/assets/svg/IcCircle.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { SVGProps } from 'react';
const SvgIcCircle = (props: SVGProps<SVGSVGElement>) => (
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' {...props}>
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 25 25' {...props}>
<rect width={23} height={23} x={0.5} y={0.5} stroke='#EBE9EA' rx={11.5} />
</svg>
);
Expand Down
4 changes: 2 additions & 2 deletions src/assets/svg/IcCirclePink.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type { SVGProps } from 'react';
const SvgIcCirclePink = (props: SVGProps<SVGSVGElement>) => (
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' {...props}>
<rect width={24} height={24} fill='#E81E6B' rx={12} />
<rect width={12} height={12} x={6} y={6} fill='#fff' rx={6} />
<rect width={23.5} height={23} fill='#E81E6B' rx={12} />
<rect width={11.5} height={11.5} x={6} y={6} fill='#fff' rx={6} />
</svg>
);
export default SvgIcCirclePink;
4 changes: 2 additions & 2 deletions src/components/CardRoom/DoneCardRoom.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const DoneCardRoom = ({ user, srcImage, userCount, onClick }: DoneCardRoomType)
const multiline = user.length > 3 || (/[a-zA-Z]/.test(user) && user.length > 5);
return (
<S.CardRoomWrapper onClick={onClick}>
<div>
<>
<S.RoomImgWrapper src={srcImage} />
<S.Text>
{multiline ? (
Expand All @@ -28,7 +28,7 @@ const DoneCardRoom = ({ user, srcImage, userCount, onClick }: DoneCardRoomType)
<IcUser style={{ width: '1.6rem', height: '1.6rem', color: '#ACA7A9' }} />
{userCount}
</S.CountUser>
</div>
</>
<S.TagWrapper>
<Type3Tag tag='토너먼트 완료' />
</S.TagWrapper>
Expand Down
4 changes: 2 additions & 2 deletions src/components/CardRoom/EditCardRoom.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const EditCardRoom = ({ user, srcImage, userCount, roomId, date, onClick }: Edit
return (
<S.WholeWrapper>
<S.CardRoomWrapper onClick={onClick}>
<div>
<>
<S.RoomImgWrapper src={srcImage} />
<S.Text>
{multiline ? (
Expand All @@ -48,7 +48,7 @@ const EditCardRoom = ({ user, srcImage, userCount, roomId, date, onClick }: Edit
/>
{userCount}
</S.CountUser>
</div>
</>
<S.TagWrapper>
<Type1Tag tag='개설자' />
{!isFuture ? <Type2Tag tag='토너먼트 진행 중' /> : <Type2Tag tag='선물 등록 중' />}
Expand Down
4 changes: 2 additions & 2 deletions src/components/CardRoom/ProgressCardRoom.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const ProgressCardRoom = ({ user, srcImage, userCount, date, onClick }: Progress

return (
<S.CardRoomWrapper onClick={onClick}>
<div>
<>
<S.RoomImgWrapper src={srcImage} />
<S.Text>
{multiline ? (
Expand All @@ -41,7 +41,7 @@ const ProgressCardRoom = ({ user, srcImage, userCount, date, onClick }: Progress
/>
{userCount}
</S.CountUser>
</div>
</>
<S.TagWrapper>
{!isFuture ? <Type2Tag tag='토너먼트 진행 중' /> : <Type2Tag tag='선물 등록 중' />}
</S.TagWrapper>
Expand Down
4 changes: 1 addition & 3 deletions src/components/OnBoardingSteps/Step02/Step02.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ const ThumbnailInput = React.memo((props: ThumbnailInputProps) => {
/** @todo 파일네임 파싱하는 함수 유틸로 처리 */
setIsLoading(true);
const presignedUrl = data.presignedUrl.split('?')[0];
console.log('data.presignedUrl', data.presignedUrl);
console.log('parsingpresignedUrl', presignedUrl);
updateOnboardingInfo({ imageUrl: presignedUrl });
if (previewImageInfo.file) {
await binarizeAndPutImage({ presignedUrl, file: previewImageInfo.file });
Expand All @@ -57,7 +55,7 @@ const ThumbnailInput = React.memo((props: ThumbnailInputProps) => {
<S.IcEmptyThumbnailWrapper>
<input
type='file'
accept='image/jpeg, image/png, image/gif, image/heic '
accept='image/jpeg, image/png, image/gif, image/heic, image/webp'
style={{ display: 'none' }}
id='imgInput'
onChange={handleImageUpload}
Expand Down
1 change: 1 addition & 0 deletions src/components/OnBoardingSteps/Step03/Step03.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ const GiftDelivery = (props: GiftDeliveryProps) => {
onboardingInfo.deliveryDate ? format(onboardingInfo.deliveryDate, 'y년 M월 d일') : ''
}
onChange={(e) => e.preventDefault()}
inputMode='none'
/>
<S.IconWrapper>
<IcUnselectedCalender style={{ width: '2.4rem', height: '2.4rem' }} />
Expand Down
2 changes: 1 addition & 1 deletion src/components/common/Button/Radio/BtnRadio.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ButtonHTMLAttributes } from 'react';
import * as S from './BtnRadio.style';
import { IcCircle, IcCirclePink } from '../../../../assets/svg';
// import { Period } from '../../../OnBoardingSteps/Step05/Step05.style';

type BtnRadioProps = ButtonHTMLAttributes<HTMLButtonElement> & {
disabled?: boolean;
time: string;
Expand Down
8 changes: 0 additions & 8 deletions src/context/Onboarding/OnboardingContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import {
SetStateAction,
createContext,
useContext,
useEffect,
useMemo,
useState,
} from 'react';
Expand Down Expand Up @@ -41,13 +40,6 @@ export const OnboardingProvider = ({ children }: PropsWithChildren) => {
setOnboardingInfo((prev) => ({ ...prev, ...newInfo }));
};

/**@todo 전체 값 확인용 useEffect */
useEffect(() => {
console.log('전체 값 확인:', onboardingInfo);
console.log('context 속 selectedTime', selectedTime);
console.log('context 속 typeof selectedTime', typeof selectedTime);
}, [onboardingInfo, selectedTime]);

const OnboardingInfoContextValue = useMemo(
() => ({
onboardingInfo,
Expand Down
145 changes: 88 additions & 57 deletions src/hooks/common/usePreviewImage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,72 +2,103 @@ import { toast } from 'react-toastify';
import { usePreviewImageContext } from '../../context/Onboarding/PreviewImageContext';
import { IMAGE_HEIGHT, MESSAGE } from '../../core/toast-messages';
import Resizer from 'react-image-file-resizer';
import heic2any from 'heic2any';

const usePreviewImage = () => {
const { previewImageInfo, updatePreviewImageInfo } = usePreviewImageContext();

const handleImageUpload = (event: React.ChangeEvent<HTMLInputElement>) => {
const { files } = event.target;
const uploadFalse = () => {
updatePreviewImageInfo({
isImageUploaded: false,
file: null,
previewImage: null,
imageName: '',
});
};

const uploadFalse = () => {
updatePreviewImageInfo({
isImageUploaded: false,
file: null,
previewImage: null,
imageName: '',
});
};
const resizedFile = (file: File, previewImage: string) => {
new Promise((resolve) => {
Resizer.imageFileResizer(
file,
480,
480,
'WEBP',
75,
0,
(uri) => {
updatePreviewImageInfo({
isImageUploaded: true,
imageName: (uri as File).name,
file: uri as File,
previewImage: previewImage,
});
resolve(uri);
},
'file',
);
});
};

const resizedFile = (file: File, previewImage: string) => {
new Promise((resolve) => {
Resizer.imageFileResizer(
file,
480,
480,
'WEBP',
75,
0,
(uri) => {
updatePreviewImageInfo({
isImageUploaded: true,
imageName: (uri as File).name,
file: uri as File,
previewImage: previewImage,
});
resolve(uri);
console.log('됐다?');
},
'file',
);
});
const isFailUploadImageToast = (selectedFile: Blob | MediaSource) => {
const img = new Image();

img.onload = function () {
if (img.height <= IMAGE_HEIGHT.MIN) {
// 이미지 너비가 어느 수준 이하일 때 업로드 x
toast(MESSAGE.HEIGHT_SMALL);
uploadFalse();
} else if (img.height > IMAGE_HEIGHT.MAX) {
toast(MESSAGE.HEIGHT_BIG);
uploadFalse();
}
};

if (files && files.length > 0) {
const selectedFiles = files as FileList;
/**@see 추후 유니크한 이미지 네임 필요할 수 있으니 일단 주석처리 */
// const imageName = files[0].name.trim();

/**@todo 파싱 유틸 함수 공용으로 따로 작성 */
// const uploadTime = new Date().toISOString();

// const uniqueName = `${uploadTime}${imageName}`;
// const finalImageName = uniqueName
// .replace(/\//g, '') // 폴더링 방지를 위해 '/' 제거
// .replace(/\s/g, ''); // 공백 제거
resizedFile(selectedFiles[0], URL.createObjectURL(selectedFiles[0]));

const img = new Image();
img.onload = function () {
if (img.height <= IMAGE_HEIGHT.MIN) {
// 이미지 너비가 어느 수준 이하일 때 업로드 x
toast(MESSAGE.HEIGHT_SMALL);
uploadFalse();
} else if (img.height > IMAGE_HEIGHT.MAX) {
toast(MESSAGE.HEIGHT_BIG);
uploadFalse();
img.src = URL.createObjectURL(selectedFile);
};

const handleImageUpload = async (event: React.ChangeEvent<HTMLInputElement>) => {
const { files } = event.target;

try {
if (files && files.length > 0) {
const selectedFiles = files as FileList;

let convertedFile = selectedFiles[0];

if (selectedFiles[0].type === 'image/heic' || selectedFiles[0].type === 'image/HEIC') {
let blob = selectedFiles[0];
console.log('blob', blob);
const resultBlob = await heic2any({ blob, toType: 'image/webp' });
convertedFile = new File(
[resultBlob as Blob],
selectedFiles[0].name.split('.')[0] + '.webp',
{ type: 'image/webp', lastModified: new Date().getTime() },
);
updatePreviewImageInfo({
isImageUploaded: true,
imageName: convertedFile.name,
file: convertedFile,
previewImage: URL.createObjectURL(selectedFiles[0]),
});
}
};
img.src = URL.createObjectURL(selectedFiles[0]);

/**@see 추후 유니크한 이미지 네임 필요할 수 있으니 일단 주석처리 */
// const imageName = files[0].name.trim();

/**@todo 파싱 유틸 함수 공용으로 따로 작성 */
// const uploadTime = new Date().toISOString();

// const uniqueName = `${uploadTime}${imageName}`;
// const finalImageName = uniqueName
// .replace(/\//g, '') // 폴더링 방지를 위해 '/' 제거
// .replace(/\s/g, ''); // 공백 제거

isFailUploadImageToast(selectedFiles[0]);

resizedFile(selectedFiles[0], URL.createObjectURL(selectedFiles[0]));
}
} catch (err) {
console.log('error:', err);
}
};

Expand Down
1 change: 0 additions & 1 deletion src/hooks/onboarding/useFormatDate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ const useFormatDate = () => {
const month = date.getMonth() + 1;
const day = date.getDate();
const hours = date.getHours();
// const minutes = date.getMinutes();

if (includeTime) {
return `${year}.${month}.${day}(${getDayOfWeek(date)}) ${hours}시`;
Expand Down
12 changes: 0 additions & 12 deletions src/pages/MyPage/Detail/DetailDoneRoom/DetailDoneRoom.style.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,3 @@ export const RoomWrapper = styled.div`
gap: 1.5rem;
padding: 1.6rem 0;
`;

export const EmptyWrapper = styled.div`
${({ theme: { mixin } }) => mixin.flexCenter({})};
height: 100%;
gap: 1.2rem;
margin: 0 2rem;
`;

export const EmptyText = styled.div`
${({ theme: { fonts } }) => fonts.body_10};
color: ${({ theme: { colors } }) => colors.G_07};
`;
9 changes: 2 additions & 7 deletions src/pages/MyPage/Detail/DetailDoneRoom/DetailDoneRoom.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { useNavigate } from 'react-router-dom';
import { IcLogoEmpty } from '../../../../assets/svg';
import DoneCardRoom from '../../../../components/CardRoom/DoneCardRoom';
import BtnSmallStroke from '../../../../components/common/Button/Cta/SmallStroke/BtnSmallStroke';
import useGetDoneRoom from '../../../../hooks/queries/member/useGetClosedRoom';
import { ClosedRoomArrayType } from '../../../../types/member';
import * as S from './DetailDoneRoom.style';
import LeftIconHeader from '../../../../components/LeftIconHeader/LeftIconHeader';
import EmptyView from '../EmptyView/EmptyView';

const DetailDoneRoom = () => {
const navigate = useNavigate();
Expand All @@ -30,11 +29,7 @@ const DetailDoneRoom = () => {
{data.map((item, index) => renderDoneRoomCard(item, index))}
</S.RoomWrapper>
) : (
<S.EmptyWrapper title='종료된 선물방'>
<IcLogoEmpty style={{ width: '8rem', height: '6.4rem' }} />
<S.EmptyText>준비했던 선물이 없어요</S.EmptyText>
<BtnSmallStroke customStyle={{ margin: '1.6rem' }}>새로운 선물 준비하기</BtnSmallStroke>
</S.EmptyWrapper>
<EmptyView title='종료된 선물방' />
)}
</>
</S.DetailDoneRoomWrapper>
Expand Down
13 changes: 0 additions & 13 deletions src/pages/MyPage/Detail/DetailProgressRoom/DetailProgress.style.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,3 @@ export const RoomWrapper = styled.div`
gap: 1.5rem;
padding: 1.6rem 0;
`;

export const EmptyWrapper = styled.div`
${({ theme: { mixin } }) => mixin.flexCenter({})};
height: 100%;
gap: 1.2rem;
margin: 0 2rem;
`;

export const EmptyText = styled.div`
${({ theme: { mixin } }) => mixin.flexCenter({})};
${({ theme: { fonts } }) => fonts.body_10};
color: ${({ theme: { colors } }) => colors.G_07};
`;
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import { useNavigate } from 'react-router-dom';
import { IcLogoEmpty } from '../../../../assets/svg';
import EditCardRoom from '../../../../components/CardRoom/EditCardRoom';
import ProgressCardRoom from '../../../../components/CardRoom/ProgressCardRoom';
import BtnSmallStroke from '../../../../components/common/Button/Cta/SmallStroke/BtnSmallStroke';
import useGetActiveRoom from '../../../../hooks/queries/member/useGetActiveRoom';
import DateCheck from '../../../../components/DateCheck/DateCheck';
import { ActiveRoomArrayType } from '../../../../types/member';
import * as S from './DetailProgress.style';
import LeftIconHeader from '../../../../components/LeftIconHeader/LeftIconHeader';
import EmptyView from '../EmptyView/EmptyView';

const DetailProgressRoom = () => {
const navigate = useNavigate();
Expand Down Expand Up @@ -40,11 +39,7 @@ const DetailProgressRoom = () => {
{Array.isArray(data) && data.length > 0 ? (
<S.RoomWrapper>{data.map((item, index) => renderRoomCard(item, index))}</S.RoomWrapper>
) : (
<S.EmptyWrapper title='진행중인 선물방'>
<IcLogoEmpty style={{ width: '8rem', height: '6.4rem' }} />
<S.EmptyText>준비했던 선물이 없어요</S.EmptyText>
<BtnSmallStroke customStyle={{ margin: '1.6rem' }}>새로운 선물 준비하기</BtnSmallStroke>
</S.EmptyWrapper>
<EmptyView title='진행중인 선물방' />
)}
</>
</S.DetailProgressRoomWrapper>
Expand Down
Loading

0 comments on commit f4340de

Please sign in to comment.