Skip to content

Commit

Permalink
[Deploy] 5차 스프린트 배포 테스트 (#164)
Browse files Browse the repository at this point in the history
* style : 전역 디자인 시스템 세팅

* style : 전역 디자인 시스템 세팅

* chore : 이슈 템플릿 수정

* refactor: build-test.yml 파일 수정 (#14)

- node_modules 캐싱 기능 추가
- main, dev 브랜치 push, PR 시 빌드 테스트 돌아가도록 수정

Co-authored-by: wukddang <[email protected]>

* feature: deploy.yml 파일 추가 (#15)

* feature: deploy.yml 파일 추가
- main 브랜치에 push할 때 S3로 파일 업로드

* fix: pre-push 코드 수정

* fix: deploy.yml 파일 수정
- build폴더가 아닌 dist 폴더로 수정

---------

Co-authored-by: wukddang <[email protected]>

* [Style] 모바일 레이아웃 작업 (#19)

* style : 모바일 레이아웃 작업

* chore : 이슈, pr 템플릿 docs 수정

* style: HeroImage, AlertText 공통 컴포넌트 제작 (#24)

* style: HeroImage 추가

* style: AlertText

* style: Input 공통 컴포넌트  (#26)

* style: HeroImage 추가

* style: AlertText

* style: Input

* feature: Button 공통 컴포넌트 제작 (#20)

* feature: 네이버, 카카오 아이콘 컴포넌트 추가

* feature: NormalButton 컴포넌트 추가

* feature: palette, typo 스타일 수정

* feature:  Divider, Text 공통 컴포넌트 추가

* feature: IconButtons 추가
- 관심사, 네이버, 카카오, 특정 주제, 랜덤 매칭 버튼

* feature: Button 컴포넌트 사용법 + timeStamp 유틸 함수 추가

* feature: RandomMatchingJoin 버튼 추가

---------

Co-authored-by: wukddang <[email protected]>

* style : flexbox 컴포넌트 제작 (#32)

* style : spacing 컴포넌트 생성 (#33)

* [Feature] mock service worker settings (#29)

* deploy: 초기 배포 (#23)

* style : 전역 디자인 시스템 세팅

* style : 전역 디자인 시스템 세팅

* chore : 이슈 템플릿 수정

* refactor: build-test.yml 파일 수정 (#14)

- node_modules 캐싱 기능 추가
- main, dev 브랜치 push, PR 시 빌드 테스트 돌아가도록 수정

Co-authored-by: wukddang <[email protected]>

* feature: deploy.yml 파일 추가 (#15)

* feature: deploy.yml 파일 추가
- main 브랜치에 push할 때 S3로 파일 업로드

* fix: pre-push 코드 수정

* fix: deploy.yml 파일 수정
- build폴더가 아닌 dist 폴더로 수정

---------

Co-authored-by: wukddang <[email protected]>

* [Style] 모바일 레이아웃 작업 (#19)

* style : 모바일 레이아웃 작업

* chore : 이슈, pr 템플릿 docs 수정

---------

Co-authored-by: judahhh <[email protected]>
Co-authored-by: wukddang <[email protected]>

* chore : mock service worker 설치 및 세팅

* chore : mock service worder setting

---------

Co-authored-by: Changuk Woo <[email protected]>
Co-authored-by: wukddang <[email protected]>

* style: BottomSheet 컴포넌트 제작 (#34)

* feature: Timer 컴포넌트 추가 + d3.js 라이브러리 설치

* feature: BottomSheet 컴포넌트 추가

* feature: RandomMatchingJoinButton props 수정

* feature: framer-motion 설치 + 애니메이션 효과 추가

* refactor: BottomSheet 폴더 변경

* refactor: isDarkMode 필수 타입으로 수정

* refactor: AlertText, HeroImage 폴더 구조 변경

* refactor: BottomSheet 컴포넌트 분리

* feature: Avatar 컴포넌트 제작

* refactor: RandomMatchingSheet 컴포넌트 이벤트 props 추가

* fix: package-lock.json 파일 오류 수정

---------

Co-authored-by: wukddang <[email protected]>

* [Style/] navigation bar 컴포넌트 제작 (#37)

* style : 네비게이션 바 디자인

* style : 네비게이션 바 디자인 및 라우팅 처리

* fix : 프로필 이미지를 Avatar 컴포넌트를 이용하도록 수정

* chore : 타입 에러 해결

* chore : 홈 페이지에 네비게이션 바 예시 제거

* style: CountNumber 공통 컴포넌트 제작 (#38)

* style: CountNumber

* feat: Input Wrapper 추가.

* chore : CountNumber 폴더 구조 변경

* style: InputTimer 공통 컴포넌트 제작 (#41)

* style: CountNumber

* feat: Input Wrapper 추가.

* style: InputTimer 제작

* style : 로딩 컴포넌트 제작 (#47)

* style: WhiteSelectorButton, DarkSelectorButton 공통 컴포넌트  (#46)

* style: whiteselectorButton

* refactor: 불필요 주석 삭제

* style: darkselectorbutton

* Update src/components/common/DarkSelectorButton/index.tsx

* Update src/components/common/WhiteSelectorButton/index.tsx

* fix: font-weight 오타 수정

---------

Co-authored-by: Changuk Woo <[email protected]>
Co-authored-by: wukddang <[email protected]>

* style: ListRow 컴포넌트 제작 (#43)

* refactor: Style prefix 붙이도록 수정

* refactor: Divider 컴포넌트 수정 + 웹 폰트 수정
- Divider 컴포넌트가 확장성 있도록 수정
- 웹 폰트 오타 수정

* feature: AdminListRow 컴포넌트 추가
- 관리자 페이지에 사용되는 ListRow 컴포넌트

* feature: ProfileListRow 컴포넌트 추가
- 프로필 페이지에 사용되는 ListRow

---------

Co-authored-by: wukddang <[email protected]>

* style: �useToast 커스텀 훅 제작 (#48)

* feature: useToast 커스텀 훅 추가

* refactor: RandomMatchingJoinButton으로 이름 변경

* feature: Layout 컴포넌트에 ToastContainer 설정

* refactor: NormalButton 컴포넌트 수정
- isDarkMode props 받도록 수정

* fix: RandomMatchingJoin.tsx 파일 오류 수정

* fix: 파일명 오류 수정

---------

Co-authored-by: wukddang <[email protected]>

* [Style] Modal 컴포넌트 제작 (#52)

* chore : zustand 설치 및 store 폴더 생성

* feat : 모달창 전역 상태 추가

* style : 모달창 컴포넌트 제작

* fix: package.json 쉼표 오류

* �fix: package-lock.json 쉼표 오류

* fix : 모달창 type 받아 분기 처리

* fix : type 에러 수정

* chore : 주석 제거

* fix: isDarkMode 옵셔널로 수정

---------

Co-authored-by: Changuk Woo <[email protected]>
Co-authored-by: wukddang <[email protected]>

* style: selector button 공통 컴포넌트  (#55)

* refactor: white,dark selectorbutton erase

* style: selectorbutton

* style: selectorbutton re

* style: Appbar, Card, GradationBackground, PageContainer 컴포넌트 추가 + Home 페이지 레이아웃 추가 (#57)

* refactor: CountNumber, Input 위치 변경

* refactor: Avatar 컴포넌트 props 타입 수정 + tsdoc 추가

* feature: Tip 컴포넌트 추가

* feature: AppHeader 컴포넌트 추가

* refactor: IconButtonType 수정 + 클릭 효과 속성 추가

* feature: Profile 페이지 라우팅 추가

* refactor: AppHeader 높이값 받도록 수정

* style: typo, palette, Layout, global 파일 수정

* refactor: RandomMatchingSheet 동적으로 변하도록 수정

* refactor: NormalButton 폴더 변경 + 클릭 시 배경 변경 타입 추가

* refactor: tsdoc 추가

* feature: GradationBackground 컴포넌트 추가

* refactor: NavigationBar 라우팅 + position: sticky로 수정

* feature: PageContainer 컴포넌트 추가

* feature: AvatarGroup 컴포넌트 추가

* feature: Card 컴포넌트 추가

* feature: Home 페이지 레이아웃 추가

* refactor: tsdoc 추가

* fix: merge conflict 해결용 파일 추가

* fix: NormalButton 파일 에러 수정

---------

Co-authored-by: wukddang <[email protected]>

* style: PageHeader 컴포넌트 제작 (#59)

* feature: ExitIcon 컴포넌트 추가

* feature: BackChevron 컴포넌트 추가

* feature: PageHeader 컴포넌트 추가

* refactor: 사용하지 않는 코드 제거

* refactor: tsdoc 추가

* refactor: tsdoc 추가 + exitClick으로 props명 변경

* refactor: PageHeader border-bottom 수정

---------

Co-authored-by: wukddang <[email protected]>

* [Style] chatting bubble 컴포넌트 제작 및 소켓 라이브러리 설치 (#65)

* style : chatting bubble 컴포넌트 publishing

* chore : 소켓 라이브러리 stomp 설치 및 세팅

* style: BusinessCardContainer 공통 컴포넌트 (재PR) (#62)

* feat: businesscardcontainer

* style: Text 컴포넌트 textColor 속성 추가

* test: API Test 코드 (#76)

* feat: businesscardcontainer

* style: Text 컴포넌트 textColor 속성 추가

* style: alerttext, countnumber 수정

* style: selectorbutton 수정

* style: customselectorbutton

* refactor: 필수 prop 설정

* style: selectorbuttoncontainer

* refactor: 함수컴포넌트 구조 변경

* refactor: react 삭제

* test: APITest 코드

* test: retest (#78)

* fix: vite 설정 (cors) (#80)

* test: retest

* fix: vite 설정 (cors)

* fix: cors 재설정 (#82)

* test: retest

* fix: vite 설정 (cors)

* fix: cors2

* fix: vite 설정 변경 (#84)

Co-authored-by: wukddang <[email protected]>

* fix: axios 파일 수정 (#86)

Co-authored-by: wukddang <[email protected]>

* fix: REST API 주소 코드 수정 (#92)

Co-authored-by: wukddang <[email protected]>

* refactor: AlertText, CountNumber 공통 컴포넌트 수정 (#68)

* feat: businesscardcontainer

* style: Text 컴포넌트 textColor 속성 추가

* style: alerttext, countnumber 수정

* refactor: pr 수정사항 반영

* refactor: styled emotion 코드 통일성 적용

* feature: HomePage 다크모드 기능 추가 + Card 컴포넌트 분리 + timerWorker 추가 (#94)

* style: DARK_GRADIENT 색 추가

* feature: 다크모드/화이트모드 설정을 위한 ThemeStore 추가

* feature: ParticularTopicButton에 이동하는 props 추가

* feature: AppHeader 컴포넌트 다크모드 설정 기능 추가

* feature: PageContainer 컴포넌트 다크모드 props 추가

* refactor: Card 컴포넌트 코드 분리

* refactor: Tip 컴포넌트 주석 제거 + import문 수정

* feature: timerWorker 추가 + TimerStore 추가
- 백그라운드에서 동작하는 웹 워커로 타이머 동작
- 새로고침을 해도 계속 동작하지만 어플리케이션을 종료하면 동작 종료
- 현재 동기적으로 코드가 작동하고 있어서, indexedDB를 사용해서 비동기 동작을 지원하도록 수정할 계획

* feature: 다크모드 추가
- GradationBackground, NavigationBar, Home 페이지

* refactor: 사용하지 않는 코드 제거

* refactor: Card 컴포넌트 수정
-undefined값을 가지는 time props 수정
- navigationType 에러 수정

* refactor: AppHeader 컴포넌트 수정
- cursor: pointer 스타일 추가

* refactor: Styled prefix 사용하도록 PR 관련 코드 수정

---------

Co-authored-by: wukddang <[email protected]>

* style: LoginPage 레이아웃 작성 (#96)

* feat: businesscardcontainer

* style: Text 컴포넌트 textColor 속성 추가

* style: alerttext, countnumber 수정

* style: selectorbutton 수정

* style: customselectorbutton

* refactor: 필수 prop 설정

* style: selectorbuttoncontainer

* refactor: 함수컴포넌트 구조 변경

* refactor: react 삭제

* style: LoginPage 레이아웃 작성

* refactor: 이미지 경로 변경

* refactor: pr 수정사항 반영

* refactor: LoginImage 경로 변경

* style: naver, kakao Button 텍스트 위치 수정

* refactor: frament 제거

* style: 배경색 skyblue 적용. 불필요 fragment 제거.

* feature: NotFoundPage 제작 (#102)

* refactor: font-family를 동적으로 변경하도록 수정
- 600 미만이면 'Pretendard-Regular'
- 600 이상이면 'Pretendard'

* feature: NotFound 페이지 제작
- NotFoundIcon 추가

* fix: GradationBackground 에 isDarkMode props 추가

---------

Co-authored-by: wukddang <[email protected]>

* refactor: SelectorButton 공통 컴포넌트 수정 (#70)

* feat: businesscardcontainer

* style: Text 컴포넌트 textColor 속성 추가

* style: alerttext, countnumber 수정

* style: selectorbutton 수정

* refactor: pr 수정사항 반영

* refactor: prop 명 변경

* refactor: 변수명 수정

* refactor: pr 재수정

* style: CustomSelectorButton 공통 컴포넌트 (#71)

* feat: businesscardcontainer

* style: Text 컴포넌트 textColor 속성 추가

* style: alerttext, countnumber 수정

* style: selectorbutton 수정

* style: customselectorbutton

* refactor: 필수 prop 설정

* refactor: pr 수정사항 반영

* refactor: 속성명 수정

* style: SelectorButtonContainer 공통 컴포넌트  (#72)

* feat: businesscardcontainer

* style: Text 컴포넌트 textColor 속성 추가

* style: alerttext, countnumber 수정

* style: selectorbutton 수정

* style: customselectorbutton

* refactor: 필수 prop 설정

* style: selectorbuttoncontainer

* refactor: 함수컴포넌트 구조 변경

* refactor: react 삭제

* refactor: pr 수정사항 반영

* refactor: Input 컴포넌트 ref, onchange 추가 (#90)

* refactor: Input 컴포넌트 ref, onchange 추가

* refactor: pr 수정사항 반영

* feature: 로그인 페이지 OAuth 연결 + 반응형 레이아웃 구성 (#107)

* feature: LoginPendingPage 컴포넌트 추가
- App.tsx에 라우팅 추가

* refactor: 네이버, 카카오 버튼 props 수정
- moveToOAuthProvider props 받도록 수정

* refactor: HeroImage 크기 수정

* feature: LoginPending 페이지 추가
- zustand-persist로 현재 OAuth provider를 저장하도록 설정
- Status Code가 400이면 회원가입 페이지로 가도록 라우팅

* fix: 회원가입 리다이렉트 상태코드 404로 변경

* refactor: 로그인 페이지 반응형 구현
- Spacing 컴포넌트 css props 받도록 리팩토링
- max-width: 280px인 갤럭시 폴드를 중심으로 리팩토링

* refactor: 로그인 페이지 폰트 크기 반응형으로 수정

* feature: 로그인 리다이렉팅 시 authCode를 state에 담도록 수정

---------

Co-authored-by: wukddang <[email protected]>

* hotfix: VITE_BASE_URL 환경변수 설정 (#113)

* fix: VITE_BASE_URL 환경변수 설정

* fix: 띄어쓰기 오류 수정

---------

Co-authored-by: wukddang <[email protected]>

* fix: OAuth 로그인 오류 처리

* [Feature] 사용자의 닉네임, 관심사 정보 등록 페이지 구현 (#119)

* style : RegisterInput 공통 컴포넌트 제작

* feat : 유저 정보 등록 페이지 기능 구현

* fix : Oauth 로그인 후 authCode와 token을 받아와 넘겨주도록 수정

* chore : 사용되지 않는 import 문 삭제

* chore : msw 버전에 따른 import 수정

* chore : 사용되지 않은 변수 에러 해결

* chore : 주석 제거

* chore : 닉네임 중복 요청 react-query로 수정

* chore : 사용되지 않은 import 문 제거

* feature: ChatList 페이지 레이아웃 제작 + 반응형 디자인 (#97)

* refactor: Home 레이아웃 수정
- PageContainer 스타일을 동적으로 받도록 수정

* refactor: PageContainer 컴포넌트 수정
- style props 받을 수 있도록 수정
- 다크모드 받을 수 있도록 수정

* refactor: 반응형 디자인
- AppHeader: max-width: 280px일 때 텍스트 폰트 줄이도록 수정
- Avatar: max-width: 280px일 때 아바타 크기 줄이도록 수정

* refactor: PageHeader 컴포넌트 수정
- max-width: 414px로 가지도록 수정
- cursor: pointer 가지도록 수정

* refactor: AvatarGroup 수정
- style props 받도록 수정
- AvatarGroup이 높이를 가지도록 수정

* refactor: Card 컴포넌트 수정
- PageContainer 수정에 따른 리팩토링

* feature: ChatList 페이지 구현
- chatRoomList 더미데이터 추가
- ChatRoomBubbles: chatRoomList를 받아서 ChatRoomBubble 렌더링
- ChatRoomBubble: 채팅방 생성 시점 기준 1일 이후를 D-Day로 설정한 타이머 추가
- max-width: 280px일 때 column이 하나로만 나오도록 반응형 디자인

* refactor: ChatRoomBubble 빌드 오류 수정

* fix: merge conflict 해결

* refactor: Card 컴포넌트의 Styled 태그 코드들 하단으로 이동

* hotfix: VITE_BASE_URL 환경변수 설정 (#113)

* fix: VITE_BASE_URL 환경변수 설정

* fix: 띄어쓰기 오류 수정

---------

Co-authored-by: wukddang <[email protected]>

* feature: 이전대화방 MSW 설정 + framer-motion 효과 추가
- /api/v1/histories로 이전 대화방 목록 요청하도록 세팅 (+useQuery)
- 로컬에서도 MSW 동작할 수 있도록 설정

---------

Co-authored-by: wukddang <[email protected]>

* [Fix] 관심사 버튼 해제 시 전역 store에 반영되지 않는 문제  해결 (#121)

* fix : axios 요청이 가지 않는 에러 해결

* chore : 주석 제거

* fix : 관심사 버튼 해제 시 전역 store에 반영되지 않는 문제 해결

* feature: 관리자 페이지 '승인 대기 목록', '사용자 신고 내역' 레이아웃작업, 컴포넌트 제작 (mergeX, draft 미적용) (#105)

* style: AdminAppHeader 컴포넌트 추가

* style: AdminNavigationBar 컴포넌트 생성

* style: AdminNavigationBar 색 변경

* feat: AdminTabs 컴포넌트 추가

* refactor: 컴포넌트 변수명 변경

* refactor: 컴포넌트 변수명 변경

* feat: AdminApprovalList 컴포넌트 추가

* feat: outerwrapper 제거

* feat: AdminReportListRow 컴포넌트 예시 추가

* feat: AdminReportList 컴포넌트 예시 추가

* feat: AdminTabs 컴포넌트로 다른 컴포넌트들 연결 및 디자인 수정, 변수명 수정

* refactor: admin 컴포넌트 이전

* refactor: eslint 에러 수정

* refactor: import 경로 변경

---------

Co-authored-by: Changuk Woo <[email protected]>

* feature: 관리자 페이지 레이아웃, 기능 구현 (mergeX, draft) (#116)

* style: AdminAppHeader 컴포넌트 추가

* style: AdminNavigationBar 컴포넌트 생성

* style: AdminNavigationBar 색 변경

* feat: AdminTabs 컴포넌트 추가

* refactor: 컴포넌트 변수명 변경

* refactor: 컴포넌트 변수명 변경

* feat: AdminApprovalList 컴포넌트 추가

* feat: outerwrapper 제거

* feat: AdminReportListRow 컴포넌트 예시 추가

* feat: AdminReportList 컴포넌트 예시 추가

* feat: AdminTabs 컴포넌트로 다른 컴포넌트들 연결 및 디자인 수정, 변수명 수정

* refactor: admin 컴포넌트 이전

* refactor: eslint 에러 수정

* refactor: import 경로 변경

* feat: AdminApprovalInfo 컴포넌트 1

* style: 예시 이미지 추가

* feat: AdminApprovalInfo 컴포넌트 추가 1

* feat: input text fontweight 속성 추가

* style: Input 속성 추가

* style: AdminApprovalInfo 컴포넌트 디자인 2

* style: AdminReportInfo 컴포넌트 1

* refactor: props명 수정

* style: AdminReportInfo 컴포넌트 1

* style: AdminReportInfoListRow 컴포넌트

* feat: useModal 컴포넌트 적용, 기타 스타일 수정

* feat: AdminReportInfo 컴포넌트 userModal 적용

* refactor: 불필요 컴포넌트 삭제

* refactor: 이름 수정

* feat: AdminReportListRow 속성 추가

* feat: 관리자페이지 신고자 목록 클릭 시, 정보 출력

* feat: AdminReportList 특정 목록 클릭 시, 해당 AdminReportInfo 출력

* feat: AdminReportList mockdata 추가, 함수 연결

* refactor: 이름 예시 변경

* refactor: 변수명 수정 (adminapprovalinfo와 구분)

* feat: AdminTabs 승인 탭 추가

* refactor: 변수명 수정(구별필요)

* feat: 승인 페이지 이름 적용,  불필요 컴포넌트 제거

* refactor: mock data 적용. 변수명 수정.

* feat: 승인페이지 mock data 적용. 목록 클릭 함수 추가. interface 추가.

* feat: adminapprovallistrow onclick 함수 속성 추가

* style: ListRow의 ListContainer 가운데 정렬

* style: 중복 HomeNavigationBar 제거

* feat: AdminInfo 컴포넌트 AdminPageHeader컴포넌트 적용

* feat: AdminPageHeader 컴포넌트 추가

* style: Admin 컴포넌트 스타일 수정(폰트,cursor,가운데정렬등)

* style: Input component padding 속성추가

* feat: adminlogin 컴포넌트 추가

* feat: adminapprovalinfo input 텍스트로 변경 (+스타일 적용)

* style: 관리자 페이지 스타일 피그마 세부 적용

* chore : 개발 단계에서 토큰을 볼 수 있도록 수정

* chore : 잘못 import 된 import 문 제거

* chore : lint 에러 수정

* feature: 프로필 페이지 제작 (#109)

* refactor: Modal 컴포넌트 관련 코드 리팩토링
- useModal: acceptText, cancelText 받도록 수정
- Modal: framer-motion으로 애니메이션 효과 추가

* refactor: tsdoc 추가 + CSS 스타일 수정
- tsdoc: NaverIcon, KakaoIcon
- CSS 스타일 수정: AppHeader,Avatar, BackChevron

* refactor: CSS 스타일 수정
- Divider: width, height props string으로 타입 수정
- InterestButton: width props string으로 수정
- NavigationBar: Text 컴포넌트 사용하도록 수정

* refactor: tsdoc 추가 + emotion 코드 위치 변경
- emotion 코드 위치 변경: ProfileListRow, PageContainer, PageHeader
- tsdoc 추가: Text 컴포넌트

* refactor: Home 페이지 fragment 제거

* feature: ProfileDefault 페이지 제작
- useModal: 로그아웃, 계정 삭제 시 모달 사용
- useNavigate: 뒤로가기, 프로필 수정, 회사 정보 변경, 로그아웃, 계정 삭제에 라우팅 기능 추가
- 페이지 레이아웃 작업
- ProfileEdit: 기존 테스트 코드 제거

* refactor: BusinessCardContainer 공백 제거

* refactor: StyleList 관련 conflict 해결

* feature: 프로필 페이지 반응형 디자인 제작
- 갤럭시 Fold에서 적절하게 보이도록 미디어 쿼리 사용

* refactor: 사용하지 않는 파일 제거 + 반응형 디자인
- 모달 버튼의 폰트 크기 수정

* feature: 프로필 페이지 다크모드 코드 추가

* feature: Modal 컴포넌트 다크모드 추가

* feature: 404 페이지에서 홈으로 라우팅하게 수정

* fix: msw 2 버전으로 수정

* fix: authTokens이 없어서 생기는 오류 수정

* feature: 레이아웃 깨지는 부분 수정

* fix: useAuthTokens 주석 처리

* chore: msw 2.0.5 버전으로 수정

* Update handlers.ts

---------

Co-authored-by: wukddang <[email protected]>
Co-authored-by: from1to2 <[email protected]>
Co-authored-by: DaHyeonJu <[email protected]>

* [Feature] 실시간 채팅 기능 및 상대방 프로필 클릭 시 상대방 프로필 조회 기능 (#125)

* chore : 충돌 수정

* chore : 충돌 수정

* chore : 충돌 수정

* fix : 에러 주석 처리

* fix : 채팅방 통신 수정

* style : 채팅 버블 스타일 변경 및 첫 렌더 링 시 스크롤 맨 아래로 이동

* feat : 채팅방에서 상대방 프로필 클릭 시 정보 조회 기능 추가

* chore : 사용되지 않는 import 문 제거

* Update handlers.ts

* Update handlers.ts

* [Fix] 카카오 로그인 성공 시 토큰 불러오는 함수 무한루프 제거 (#127)

* chore : lint 에러 수정

* fix : 함수 무한루프 돌던 것 수정

* chore : lint 에러 수정

* chore : lint 에러 수정

* Update index.tsx (#129)

* chore : baseURL 중복 제거

* chore : prettier 에러 수정

* feature: 관리자 페이지 MSW를 활용한 API 명세와 테스트 (#117)

* style: AdminAppHeader 컴포넌트 추가

* style: AdminNavigationBar 컴포넌트 생성

* style: AdminNavigationBar 색 변경

* feat: AdminTabs 컴포넌트 추가

* refactor: 컴포넌트 변수명 변경

* refactor: 컴포넌트 변수명 변경

* feat: AdminApprovalList 컴포넌트 추가

* feat: outerwrapper 제거

* feat: AdminReportListRow 컴포넌트 예시 추가

* feat: AdminReportList 컴포넌트 예시 추가

* feat: AdminTabs 컴포넌트로 다른 컴포넌트들 연결 및 디자인 수정, 변수명 수정

* refactor: admin 컴포넌트 이전

* refactor: eslint 에러 수정

* refactor: import 경로 변경

* feat: AdminApprovalInfo 컴포넌트 1

* style: 예시 이미지 추가

* feat: AdminApprovalInfo 컴포넌트 추가 1

* feat: input text fontweight 속성 추가

* style: Input 속성 추가

* style: AdminApprovalInfo 컴포넌트 디자인 2

* style: AdminReportInfo 컴포넌트 1

* refactor: props명 수정

* style: AdminReportInfo 컴포넌트 1

* style: AdminReportInfoListRow 컴포넌트

* feat: useModal 컴포넌트 적용, 기타 스타일 수정

* feat: AdminReportInfo 컴포넌트 userModal 적용

* refactor: 불필요 컴포넌트 삭제

* refactor: 이름 수정

* feat: AdminReportListRow 속성 추가

* feat: 관리자페이지 신고자 목록 클릭 시, 정보 출력

* feat: AdminReportList 특정 목록 클릭 시, 해당 AdminReportInfo 출력

* feat: AdminReportList mockdata 추가, 함수 연결

* refactor: 이름 예시 변경

* refactor: 변수명 수정 (adminapprovalinfo와 구분)

* feat: AdminTabs 승인 탭 추가

* refactor: 변수명 수정(구별필요)

* feat: 승인 페이지 이름 적용,  불필요 컴포넌트 제거

* refactor: mock data 적용. 변수명 수정.

* feat: 승인페이지 mock data 적용. 목록 클릭 함수 추가. interface 추가.

* feat: adminapprovallistrow onclick 함수 속성 추가

* feat: msw handlers interface 파일들

* feat: 관리자페이지 - MSW 활용한 API request, response 명세. API 테스트.

* style: 오류 관련 주석 처리

* feat: AdminPageHeader

* feat: 관리자페이지 승인요청 사용자들 목록 불러오기 MSW API 요청 코드 완료. 테스트 완료.

* feat: 관리자페이지 신고당한자 목록 API 코드 추가. 테스트 완료.

* feat: 관리자페이지 승인요청자 세부정보 출력 1

* refactor: 불필요 코드 삭제

* refactor: 불필요코드 제거 2

* [Feature] 회사 정보 등록 페이지 구현 (#132)

* feat : 회사 이메일 인증 및 직무 정보 등록 페이지 구현

* feat : 회사 정보 등록 페이지 구현

* chore : 안 쓰이는 변수 제거

* [Fix] provider 대문자로 수정 및 회사 등록 페이지 form 별로 예외 처리 (#135)

* fix : provider 대문자로 수정 및 회사 정보 등록 페이지 각 폼 별로 분기 처리

* chore : 사용되지 않는 데이터 제거

* chore : console.log(response) 삭제

* fix: login 페이지 스크롤 속성 추가 (#140)

* style: AdminAppHeader 컴포넌트 추가

* style: AdminNavigationBar 컴포넌트 생성

* style: AdminNavigationBar 색 변경

* feat: AdminTabs 컴포넌트 추가

* refactor: 컴포넌트 변수명 변경

* refactor: 컴포넌트 변수명 변경

* feat: AdminApprovalList 컴포넌트 추가

* feat: outerwrapper 제거

* feat: AdminReportListRow 컴포넌트 예시 추가

* feat: AdminReportList 컴포넌트 예시 추가

* feat: AdminTabs 컴포넌트로 다른 컴포넌트들 연결 및 디자인 수정, 변수명 수정

* refactor: admin 컴포넌트 이전

* refactor: eslint 에러 수정

* refactor: import 경로 변경

* feat: AdminApprovalInfo 컴포넌트 1

* style: 예시 이미지 추가

* feat: AdminApprovalInfo 컴포넌트 추가 1

* feat: input text fontweight 속성 추가

* style: Input 속성 추가

* style: AdminApprovalInfo 컴포넌트 디자인 2

* style: AdminReportInfo 컴포넌트 1

* refactor: props명 수정

* style: AdminReportInfo 컴포넌트 1

* style: AdminReportInfoListRow 컴포넌트

* feat: useModal 컴포넌트 적용, 기타 스타일 수정

* feat: AdminReportInfo 컴포넌트 userModal 적용

* refactor: 불필요 컴포넌트 삭제

* refactor: 이름 수정

* feat: AdminReportListRow 속성 추가

* feat: 관리자페이지 신고자 목록 클릭 시, 정보 출력

* feat: AdminReportList 특정 목록 클릭 시, 해당 AdminReportInfo 출력

* feat: AdminReportList mockdata 추가, 함수 연결

* refactor: 이름 예시 변경

* refactor: 변수명 수정 (adminapprovalinfo와 구분)

* feat: AdminTabs 승인 탭 추가

* refactor: 변수명 수정(구별필요)

* feat: 승인 페이지 이름 적용,  불필요 컴포넌트 제거

* refactor: mock data 적용. 변수명 수정.

* feat: 승인페이지 mock data 적용. 목록 클릭 함수 추가. interface 추가.

* feat: adminapprovallistrow onclick 함수 속성 추가

* feat: msw handlers interface 파일들

* feat: 관리자페이지 - MSW 활용한 API request, response 명세. API 테스트.

* style: 오류 관련 주석 처리

* feat: AdminPageHeader

* feat: 관리자페이지 승인요청 사용자들 목록 불러오기 MSW API 요청 코드 완료. 테스트 완료.

* feat: 관리자페이지 신고당한자 목록 API 코드 추가. 테스트 완료.

* feat: 관리자페이지 승인요청자 세부정보 출력 1

* refactor: 불필요 코드 삭제

* refactor: 불필요코드 제거 2

* feat: 숨겨진 관리자 로그인 버튼 추가

* feat: 관리자 페이지 라우터 설정

* feat: 관리자페이지 로그인  MSW API 요청 코드 추가, 관리자페이지 로그인 UI(react hook form)

* refactor: 타입 오류 임시 주석처리

* refactor: import문 삭제

* feat: 관리자페이지 로그인 api 요청 1

* feat: 관리자페이지 로그인 API 요청 2

* feat: 관리자 로그인 페이지 post API 요청

* feat: 관리자 로그인 페이지 이동

* feat: 관리자 페이지 이동

* feat: 관리자 로그인 페이지 - 피그마 디자인, 구현

* feat: 문구수정

* refactor: useNavigate, api 요청 주소 변경

* feat: 관리자로그인페이지 디자인 수정 - emotion, register속성 적용

* feat: 관리자 승인 처리 API 요청.

* feat: scroll

* 🐛 [Bug]: OAuth 인증 코드 분리 로직 추가 (#141)

* [Chore]: 불필요한 개행 제거

- lint fix

* [Feature]: 최초 로그인 여부 전역 상태 추가

- isNewUser, setIsNewUser

* [Feature]: LoginPending에 분기 처리

* [Chore]: 회원가입 완료 후 isNewUser 초기화

* chore : useEffect 의존성 배열 제거

* fix : eslint 에러 수정

* fix : navigate state 넘기는 방식 수정

* feature: 관리자 페이지 로그인 (현재까지 진행 사항 PR) (#131)

* style: AdminAppHeader 컴포넌트 추가

* style: AdminNavigationBar 컴포넌트 생성

* style: AdminNavigationBar 색 변경

* feat: AdminTabs 컴포넌트 추가

* refactor: 컴포넌트 변수명 변경

* refactor: 컴포넌트 변수명 변경

* feat: AdminApprovalList 컴포넌트 추가

* feat: outerwrapper 제거

* feat: AdminReportListRow 컴포넌트 예시 추가

* feat: AdminReportList 컴포넌트 예시 추가

* feat: AdminTabs 컴포넌트로 다른 컴포넌트들 연결 및 디자인 수정, 변수명 수정

* refactor: admin 컴포넌트 이전

* refactor: eslint 에러 수정

* refactor: import 경로 변경

* feat: AdminApprovalInfo 컴포넌트 1

* style: 예시 이미지 추가

* feat: AdminApprovalInfo 컴포넌트 추가 1

* feat: input text fontweight 속성 추가

* style: Input 속성 추가

* style: AdminApprovalInfo 컴포넌트 디자인 2

* style: AdminReportInfo 컴포넌트 1

* refactor: props명 수정

* style: AdminReportInfo 컴포넌트 1

* style: AdminReportInfoListRow 컴포넌트

* feat: useModal 컴포넌트 적용, 기타 스타일 수정

* feat: AdminReportInfo 컴포넌트 userModal 적용

* refactor: 불필요 컴포넌트 삭제

* refactor: 이름 수정

* feat: AdminReportListRow 속성 추가

* feat: 관리자페이지 신고자 목록 클릭 시, 정보 출력

* feat: AdminReportList 특정 목록 클릭 시, 해당 AdminReportInfo 출력

* feat: AdminReportList mockdata 추가, 함수 연결

* refactor: 이름 예시 변경

* refactor: 변수명 수정 (adminapprovalinfo와 구분)

* feat: AdminTabs 승인 탭 추가

* refactor: 변수명 수정(구별필요)

* feat: 승인 페이지 이름 적용,  불필요 컴포넌트 제거

* refactor: mock data 적용. 변수명 수정.

* feat: 승인페이지 mock data 적용. 목록 클릭 함수 추가. interface 추가.

* feat: adminapprovallistrow onclick 함수 속성 추가

* feat: msw handlers interface 파일들

* feat: 관리자페이지 - MSW 활용한 API request, response 명세. API 테스트.

* style: 오류 관련 주석 처리

* feat: AdminPageHeader

* feat: 관리자페이지 승인요청 사용자들 목록 불러오기 MSW API 요청 코드 완료. 테스트 완료.

* feat: 관리자페이지 신고당한자 목록 API 코드 추가. 테스트 완료.

* feat: 관리자페이지 승인요청자 세부정보 출력 1

* refactor: 불필요 코드 삭제

* refactor: 불필요코드 제거 2

* feat: 숨겨진 관리자 로그인 버튼 추가

* feat: 관리자 페이지 라우터 설정

* feat: 관리자페이지 로그인  MSW API 요청 코드 추가, 관리자페이지 로그인 UI(react hook form)

* refactor: 타입 오류 임시 주석처리

* refactor: import문 삭제

* feat: 관리자페이지 로그인 api 요청 1

* feat: 관리자페이지 로그인 API 요청 2

* feat: 관리자 로그인 페이지 post API 요청

* feat: 관리자 로그인 페이지 이동

* feat: 관리자 페이지 이동

* feat: 관리자 로그인 페이지 - 피그마 디자인, 구현

* feat: 문구수정

* refactor: useNavigate, api 요청 주소 변경

* feat: 관리자로그인페이지 디자인 수정 - emotion, register속성 적용

* feat: 관리자 승인 처리 API 요청.

* feat: 관리자 승인요청, 신고 API 요청

* refactor: dev pull

* feat: Admin Inquiry 추가

* style: 문의페이지 아이콘 추가

* refactor: import 절대 경로 수정

* refactor: MSW handler /api 경로 삭제

* Fix: 관리자 페이지 API 요청 주소 수정 (#152)

* style: AdminAppHeader 컴포넌트 추가

* style: AdminNavigationBar 컴포넌트 생성

* style: AdminNavigationBar 색 변경

* feat: AdminTabs 컴포넌트 추가

* refactor: 컴포넌트 변수명 변경

* refactor: 컴포넌트 변수명 변경

* feat: AdminApprovalList 컴포넌트 추가

* feat: outerwrapper 제거

* feat: AdminReportListRow 컴포넌트 예시 추가

* feat: AdminReportList 컴포넌트 예시 추가

* feat: AdminTabs 컴포넌트로 다른 컴포넌트들 연결 및 디자인 수정, 변수명 수정

* refactor: admin 컴포넌트 이전

* refactor: eslint 에러 수정

* refactor: import 경로 변경

* feat: AdminApprovalInfo 컴포넌트 1

* style: 예시 이미지 추가

* feat: AdminApprovalInfo 컴포넌트 추가 1

* feat: input text fontweight 속성 추가

* style: Input 속성 추가

* style: AdminApprovalInfo 컴포넌트 디자인 2

* style: AdminReportInfo 컴포넌트 1

* refactor: props명 수정

* style: AdminReportInfo 컴포넌트 1

* style: AdminReportInfoListRow 컴포넌트

* feat: useModal 컴포넌트 적용, 기타 스타일 수정

* feat: AdminReportInfo 컴포넌트 userModal 적용

* refactor: 불필요 컴포넌트 삭제

* refactor: 이름 수정

* feat: AdminReportListRow 속성 추가

* feat: 관리자페이지 신고자 목록 클릭 시, 정보 출력

* feat: AdminReportList 특정 목록 클릭 시, 해당 AdminReportInfo 출력

* feat: AdminReportList mockdata 추가, 함수 연결

* refactor: 이름 예시 변경

* refactor: 변수명 수정 (adminapprovalinfo와 구분)

* feat: AdminTabs 승인 탭 추가

* refactor: 변수명 수정(구별필요)

* feat: 승인 페이지 이름 적용,  불필요 컴포넌트 제거

* refactor: mock data 적용. 변수명 수정.

* feat: 승인페이지 mock data 적용. 목록 클릭 함수 추가. interface 추가.

* feat: adminapprovallistrow onclick 함수 속성 추가

* feat: msw handlers interface 파일들

* feat: 관리자페이지 - MSW 활용한 API request, response 명세. API 테스트.

* style: 오류 관련 주석 처리

* feat: AdminPageHeader

* feat: 관리자페이지 승인요청 사용자들 목록 불러오기 MSW API 요청 코드 완료. 테스트 완료.

* feat: 관리자페이지 신고당한자 목록 API 코드 추가. 테스트 완료.

* feat: 관리자페이지 승인요청자 세부정보 출력 1

* refactor: 불필요 코드 삭제

* refactor: 불필요코드 제거 2

* feat: 숨겨진 관리자 로그인 버튼 추가

* feat: 관리자 페이지 라우터 설정

* feat: 관리자페이지 로그인  MSW API 요청 코드 추가, 관리자페이지 로그인 UI(react hook form)

* refactor: 타입 오류 임시 주석처리

* refactor: import문 삭제

* feat: 관리자페이지 로그인 api 요청 1

* feat: 관리자페이지 로그인 API 요청 2

* feat: 관리자 로그인 페이지 post API 요청

* feat: 관리자 로그인 페이지 이동

* feat: 관리자 페이지 이동

* feat: 관리자 로그인 페이지 - 피그마 디자인, 구현

* feat: 문구수정

* refactor: useNavigate, api 요청 주소 변경

* feat: 관리자로그인페이지 디자인 수정 - emotion, register속성 적용

* feat: 관리자 승인 처리 API 요청.

* feat: 관리자 승인요청, 신고 API 요청

* refactor: dev pull

* feat: Admin Inquiry 추가

* style: 문의페이지 아이콘 추가

* refactor: import 절대 경로 수정

* refactor: MSW handler /api 경로 삭제

* fix: 관리자 페이지 Admin API 요청 주소 수정

* feature: 관리자 페이지 - 문의 리스트 컴포넌트 추가, 문의 상세 페이지 추가 (#153)

* style: AdminAppHeader 컴포넌트 추가

* style: AdminNavigationBar 컴포넌트 생성

* style: AdminNavigationBar 색 변경

* feat: AdminTabs 컴포넌트 추가

* refactor: 컴포넌트 변수명 변경

* refactor: 컴포넌트 변수명 변경

* feat: AdminApprovalList 컴포넌트 추가

* feat: outerwrapper 제거

* feat: AdminReportListRow 컴포넌트 예시 추가

* feat: AdminReportList 컴포넌트 예시 추가

* feat: AdminTabs 컴포넌트로 다른 컴포넌트들 연결 및 디자인 수정, 변수명 수정

* refactor: admin 컴포넌트 이전

* refactor: eslint 에러 수정

* refactor: import 경로 변경

* feat: AdminApprovalInfo 컴포넌트 1

* style: 예시 이미지 추가

* feat: AdminApprovalInfo 컴포넌트 추가 1

* feat: input text fontweight 속성 추가

* style: Input 속성 추가

* style: AdminApprovalInfo 컴포넌트 디자인 2

* style: AdminReportInfo 컴포넌트 1

* refactor: props명 수정

* style: AdminReportInfo 컴포넌트 1

* style: AdminReportInfoListRow 컴포넌트

* feat: useModal 컴포넌트 적용, 기타 스타일 수정

* feat: AdminReportInfo 컴포넌트 userModal 적용

* refactor: 불필요 컴포넌트 삭제

* refactor: 이름 수정

* feat: AdminReportListRow 속성 추가

* feat: 관리자페이지 신고자 목록 클릭 시, 정보 출력

* feat: AdminReportList 특정 목록 클릭 시, 해당 AdminReportInfo 출력

* feat: AdminReportList mockdata 추가, 함수 연결

* refactor: 이름 예시 변경

* refactor: 변수명 수정 (adminapprovalinfo와 구분)

* feat: AdminTabs 승인 탭 추가

* refactor: 변수명 수정(구별필요)

* feat: 승인 페이지 이름 적용,  불필요 컴포넌트 제거

* refactor: mock data 적용. 변수명 수정.

* feat: 승인페이지 mock data 적용. 목록 클릭 함수 추가. interface 추가.

* feat: adminapprovallistrow onclick 함수 속성 추가

* feat: msw handlers interface 파일들

* feat: 관리자페이지 - MSW 활용한 API request, response 명세. API 테스트.

* style: 오류 관련 주석 처리

* feat: AdminPageHeader

* feat: 관리자페이지 승인요청 사용자들 목록 불러오기 MSW API 요청 코드 완료. 테스트 완료.

* feat: 관리자페이지 신고당한자 목록 API 코드 추가. 테스트 완료.

* feat: 관리자페이지 승인요청자 세부정보 출력 1

* refactor: 불필요 코드 삭제

* refactor: 불필요코드 제거 2

* feat: 숨겨진 관리자 로그인 버튼 추가

* feat: 관리자 페이지 라우터 설정

* feat: 관리자페이지 로그인  MSW API 요청 코드 추가, 관리자페이지 로그인 UI(react hook form)

* refactor: 타입 오류 임시 주석처리

* refactor: import문 삭제

* feat: 관리자페이지 로그인 api 요청 1

* feat: 관리자페이지 로그인 API 요청 2

* feat: 관리자 로그인 페이지 post API 요청

* feat: 관리자 로그인 페이지 이동

* feat: 관리자 페이지 이동

* feat: 관리자 로그인 페이지 - 피그마 디자인, 구현

* feat: 문구수정

* refactor: useNavigate, api 요청 주소 변경

* feat: 관리자로그인페이지 디자인 수정 - emotion, register속성 적용

* feat: 관리자 승인 처리 API 요청.

* feat: 관리자 승인요청, 신고 API 요청

* refactor: dev pull

* feat: Admin Inquiry 추가

* style: 문의페이지 아이콘 추가

* refactor: import 절대 경로 수정

* refactor: MSW handler /api 경로 삭제

* feat: 관리자페이지 문의 API, UI - 1

* feat: 관리자 페이지 문의 상세 페이지 추가

* feat: 관리자 페이지 문의 UI, API 추가 2

* [Feature]: BE OAuth 인증 로직 변경에 따른 적용 (#154)

* [Chore]: isNewUser 전역 상태 및 Setter 제거(#145)

* [Feature]: useEffect 내부 분기 처리 로직 제거 (#145)

* [Feature]: 2차 인증 로직 구현 (#145)

* [Fix]: 회원가입 요청 body 수정 (#145)

* [Fix]: setIsNewUser 추가 제거 (#145)

* [Fix]: 셀렉터 변경 (#145)

- 관심사 / 직무 선택 상황에 각각 활용할 수 있도록 변경 (type 프롭)
- 직무 선택 정보를 저장하는 JobStore 상태 Store 정의
- 매우매우 하드코딩이라 리팩토링 필요

* [Fix]: 회사 정보 등록 시 액세스 토큰 대신 userId를 전송하도록 변경 (#145)

* [Chore]: 로그인 요청 성공 시 응답 데이터 저장 또는 전달 (#145)

- 스토리지에 저장 또는 홈 페이지로 전달
- 어떤 정보를 저장하고 전달할지는 논의 필요

* [Fix]: 회사 정보 등록 시 전달하는 formData 수정 (#145)

* [Feature]: 로그인 상태가 아니면 로그인 페이지로 이동하도록 변경 (#145)

* [Chore]: onSuccess 로직 변경 (#145)

- 이제 응답으로 accessToken이 전송되지 않아 해당 코드 제거

* [Chore]: 회사 정보 등록 완료 시 로그인 페이지 리다이렉트 (#145)

* [Feature]: 헤더 구성 정보 로그인한 계정 기반으로 표시하도록 일부 수정 (#145)

* [Chore]: 로그아웃 적용 (#145)

- 선언형 로직으로 변경 필요

* [Fix]: InqueryImage import 경로 수정

- Build Error fix

* feature: 관리자 페이지 UI 개편 (#157)

* style: AdminAppHeader 컴포넌트 추가

* style: AdminNavigationBar 컴포넌트 생성

* style: AdminNavigationBar 색 변경

* feat: AdminTabs 컴포넌트 추가

* refactor: 컴포넌트 변수명 변경

* refactor: 컴포넌트 변수명 변경

* feat: AdminApprovalList 컴포넌트 추가

* feat: outerwrapper 제거

* feat: AdminReportListRow 컴포넌트 예시 추가

* feat: AdminReportList 컴포넌트 예시 추가

* feat: AdminTabs 컴포넌트로 다른 컴포넌트들 연결 및 디자인 수정, 변수명 수정

* refactor: admin 컴포넌트 이전

* refactor: eslint 에러 수정

* refactor: import 경로 변경

* feat: AdminApprovalInfo 컴포넌트 1

* style: 예시 이미지 추가

* feat: AdminApprovalInfo 컴포넌트 추가 1

* feat: input text fontweight 속성 추가

* style: Input 속성 추가

* style: AdminApprovalInfo 컴포넌트 디자인 2

* style: AdminReportInfo 컴포넌트 1

* refactor: props명 수정

* style: AdminReportInfo 컴포넌트 1

* style: AdminReportInfoListRow 컴포넌트

* feat: useModal 컴포넌트 적용, 기타 스타일 수정

* feat: AdminReportInfo 컴포넌트 userModal 적용

* refactor: 불필요 컴포넌트 삭제

* refactor: 이름 수정

* feat: AdminReportListRow 속성 추가

* feat: 관리자페이지 신고자 목록 클릭 시, 정보 출력

* feat: AdminReportList 특정 목록 클릭 시, 해당 AdminReportInfo 출력

* feat: AdminReportList mockdata 추가, 함수 연결

* refactor: 이름 예시 변경

* refactor: 변수명 수정 (adminapprovalinfo와 구분)

* feat: AdminTabs 승인 탭 추가

* refactor: 변수명 수정(구별필요)

* feat: 승인 페이지 이름 적용,  불필요 컴포넌트 제거

* refactor: mock data 적용. 변수명 수정.

* feat: 승인페이지 mock data 적용. 목록 클릭 함수 추가. interface 추가.

* feat: adminapprovallistrow onclick 함수 속성 추가

* feat: msw handlers interface 파일들

* feat: 관리자페이지 - MSW 활용한 API request, response 명세. API 테스트.

* style: 오류 관련 주석 처리

* feat: AdminPageHeader

* feat: 관리자페이지 승인요청 사용자들 목록 불러오기 MSW API 요청 코드 완료. 테스트 완료.

* feat: 관리자페이지 신고당한자 목록 API 코드 추가. 테스트 완료.

* feat: 관리자페이지 승인요청자 세부정보 출력 1

* refactor: 불필요 코드 삭제

* refactor: 불필요코드 제거 2

* feat: 숨겨진 관리자 로그인 버튼 추가

* feat: 관리자 페이지 라우터 설정

* feat: 관리자페이지 로그인  MSW API 요청 코드 추가, 관리자페이지 로그인 UI(react hook form)

* refactor: 타입 오류 임시 주석처리

* refactor: import문 삭제

* feat: 관리자페이지 로그인 api 요청 1

* feat: 관리자페이지 로그인 API 요청 2

* feat: 관리자 로그인 페이지 post API 요청

* feat: 관리자 로그인 페이지 이동

* feat: 관리자 페이지 이동

* feat: 관리자 로그인 페이지 - 피그마 디자인, 구현

* feat: 문구수정

* refactor: useNavigate, api 요청 주소 변경

* feat: 관리자로그인페이지 디자인 수정 - emotion, register속성 적용

* feat: 관리자 승인 처리 API 요청.

* feat: 관리자 승인요청, 신고 API 요청

* refactor: dev pull

* feat: Admin Inquiry 추가

* style: 문의페이지 아이콘 추가

* refactor: import 절대 경로 수정

* refactor: MSW handler /api 경로 삭제

* feat: 관리자페이지 문의 API, UI - 1

* feat: 관리자 페이지 문의 상세 페이지 추가

* feat: 관리자 페이지 문의 UI, API 추가 2

* feat: 관리자 문의 컴포넌트 수정

* feat: 관리자 페이지 탭 구조 개편

* feat: 불필요 라우팅 삭제

* feat: 문의 페이지 헤더 추가

* feat: 관리자 신고페이지 목록

* feat: 관리자 페이지 개편

* feat: 변수명사용-빌드

* refactor: import문 정렬 (dev pull)

* [Feature] 이전 채팅방 디테일 페이지 구현 (#147)

* feat : 이전 채팅방 Detail 페이지 구현

* chore : 주석제거

* fix : 이전 채팅방이 없을 때 처리

* chore : dev 브랜치 merge 과정에서 충돌 해결

* chore : import 문 lint 에러 수정

* [Feature] fcm 서비스 워커 세팅 및 랜덤 매칭 성공 시 web push 기능 구현 (#148)

* feat : firebase 설치 및 service worker 설정

* chore : dev 브랜치 충돌 수정 반영

* feat : 서버에서 fcm push 받았을 경우 웹푸시 알림구현

* feat : 포그라운드 시 알림 처리

* feat : 서비스 워커에서 push 받았을 경우 indexedDB에 상태 저장

* chore : 주석제거

* chore : 사용되지 않는 함수 제거

* chore : 사용되지 않는 매개변수 제거

* chore : 사용되지 않는 함수 제거

* feat : 매칭 로직 수정 및 서버에서 유저의 상태 받아오기

* fix : 매칭 시작시간 정보가 없을 경우 현재 시간을 매칭 시작 시간으로 세팅

* chore : 사용되지 않는 props 제거

* [Feat] 마이 프로필 페이지 조회 기능 (#162)

* feat : 마이 프로필 페이지 조회 기능

* style : 프로필 이미지 url 삽입 및 이메일 텍스트 fontWeight 축소

* Update App.tsx

* Update AdminReportInfo.tsx

* chore : props 변수명 불일치 수정

* chore : import문 lint 에러 수정

---------

Co-authored-by: Changuk Woo <[email protected]>
Co-authored-by: wukddang <[email protected]>
Co-authored-by: from1to2 <[email protected]>
Co-authored-by: Cheshier <[email protected]>
  • Loading branch information
5 people authored Nov 26, 2023
1 parent 81d6b36 commit 31dc427
Show file tree
Hide file tree
Showing 37 changed files with 1,679 additions and 368 deletions.
734 changes: 711 additions & 23 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"axios": "^1.5.1",
"d3": "^7.8.5",
"emotion-reset": "^3.0.1",
"firebase": "^8.10.0",
"framer-motion": "^10.16.4",
"http-proxy-middleware": "^2.0.6",
"react": "^18.2.0",
Expand Down
61 changes: 61 additions & 0 deletions public/firebase-messaging-sw.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
self.addEventListener('install', function (e) {
console.log('fcm sw install..')
self.skipWaiting()
})

self.addEventListener('activate', function (e) {
console.log('fcm sw activate..')
})

self.addEventListener('push', function (e) {
console.log('push: ', e.data.json())
if (!e.data.json()) return

const resultData = e.data.json().notification
const notificationTitle = resultData.title
const notificationOptions = {
body: resultData.body,
icon: resultData.image,
tag: resultData.tag,
...resultData,
}
self.registration.showNotification(notificationTitle, notificationOptions)
console.log('push: ', { resultData, notificationTitle, notificationOptions })
//indexedDB에 상태 저장하는 기능 추가
saveDataToIndexedDB('isMatchingSuccess', true)
})

// IndexedDB에 데이터를 저장하는 함수
function saveDataToIndexedDB(key, value) {
const request = indexedDB.open('matching-database')

request.onupgradeneeded = function (event) {
const db = event.target.result

db.createObjectStore('my-store', { autoIncrement: true })
}

request.onsuccess = function (event) {
const db = event.target.result
const tx = db.transaction('my-store', 'readwrite')
const store = tx.objectStore('my-store')
store.put(value, key)

tx.oncomplete = function () {
db.close()
}
}

request.onerror = function (event) {
console.error('Error opening IndexedDB:', event.target.error)
}
}

self.addEventListener('notificationclick', function (event) {
console.log('notification click')
const url = '/'
event.notification.close()

// eslint-disable-next-line no-undef
event.waitUntil(clients.openWindow(url))
})
10 changes: 0 additions & 10 deletions setupProxy.ts
Original file line number Diff line number Diff line change
@@ -1,10 +0,0 @@
// import { createProxyMiddleware } from 'http-proxy-middleware'

// module.exports = (app) => {
// app.use(
// createProxyMiddleware('/api/chat-stomp', {
// target: process.env.VITE_BASE_URL,
// ws: true,
// }),
// )
// }
16 changes: 14 additions & 2 deletions src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
import './firebase-messaging-sw.ts'

import { useEffect } from 'react'
import { Route, Routes } from 'react-router-dom'

import Layout from '@/components/layouts/Layout'
import AdminPage from '@/pages/admin'
import AdminLoginPage from '@/pages/admin/AdminLogin'
import ChatListPage from '@/pages/chatList'
import ChatListDetailPage from '@/pages/chatListDetail'
import ChattingPage from '@/pages/chatting'
import HomePage from '@/pages/home'
import LandingPage from '@/pages/landing'
Expand All @@ -14,9 +18,17 @@ import ProfilePage from '@/pages/profile'
import PrivateRoute from '@/pages/redirect/PrivateRoute'
import RegisterPage from '@/pages/register'

import AdminInquiry from './pages/admin/AdminInquiry'
import { getToken } from './firebase-messaging-sw.ts'

const App = () => {
const firebaseMessageToken = async () => {
const token = await getToken()
console.log('token === ', token)
//추후 서버에 토큰을 저장하는 기능을 여기에 추가
}
useEffect(() => {
firebaseMessageToken()
}, [])
return (
<Routes>
<Route element={<Layout />}>
Expand All @@ -25,6 +37,7 @@ const App = () => {
<Route path={'/profile/*'} element={<ProfilePage />} />
<Route path={'/chatting'} element={<ChattingPage />} />
<Route path={'/chat-list'} element={<ChatListPage />} />
<Route path={'/chat-list-detail'} element={<ChatListDetailPage />} />
<Route path={'*'} element={<NotFoundPage />}></Route>
</Route>

Expand All @@ -39,7 +52,6 @@ const App = () => {

<Route element={<PrivateRoute auth={true} superAuth={true} />}>
<Route path={'/admin/*'} element={<AdminPage />}></Route>
<Route path={'/admin/inquiry'} element={<AdminInquiry />}></Route>
<Route path={'*'} element={<NotFoundPage />}></Route>
</Route>
<Route path={'*'} element={<NotFoundPage />}></Route>
Expand Down
7 changes: 7 additions & 0 deletions src/apis/adminReport/AdminReportApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ const AdminReportAPI = {
data: response.data,
}
},
GET_REPORTERS_LIST: async () => {
const response = await axiosAPI.get(`/v1/reporters`)

return {
data: response.data,
}
},
GET_REPORT_INFO: async () => {
const response = await axiosAPI.get(`/v1/reports/:reportId`)
return {
Expand Down
1 change: 1 addition & 0 deletions src/apis/axios.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ axiosAPI.interceptors.request.use(
// axios 설정값에 대해 작성합니다.

config.headers['Authorization'] = `Bearer ${localStorage.getItem('jwt')}`

return config
},
function (error) {
Expand Down
4 changes: 1 addition & 3 deletions src/apis/chatList/ChatListApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ const ChatListApi = {
// TODO: zustand로 AccessToken 받아서 요청하기 (백엔드 개발 완료 후)
GET_CHAT_LIST: async () => {
const response = await axiosAPI.get(`/v1/histories`)
return {
data: response.data,
}
return response.data
},
}

Expand Down
4 changes: 2 additions & 2 deletions src/apis/queryClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ export const queryClient = new QueryClient({
},
queryCache: new QueryCache({
onError: () => {
alert('에러 발생! 올바른 경로로 서비스를 이용해주세요.')
window.location.href = '/'
// alert('에러 발생! 올바른 경로로 서비스를 이용해주세요.')
// window.location.href = '/'
},
}),
})
23 changes: 16 additions & 7 deletions src/components/chatList/ChatRoomBubbles.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import styled from '@emotion/styled'
import { useNavigate } from 'react-router-dom'

import ChatRoomBubble from './ChatRoomBubble'

Expand All @@ -18,8 +19,9 @@ const StyledChatRoomBubbleWrapper = styled.div`
padding: 30% 5% 5%;
}
`

const ChatRoomBubbleWrapper = styled.span``
type ChatRoom = {
id: string
title: string
participants: string[]
createdAt: string
Expand All @@ -31,17 +33,24 @@ type ChatRoomBubblesProps = {
}

const ChatRoomBubbles = ({ chatRoomList, isDarkMode }: ChatRoomBubblesProps) => {
const navigate = useNavigate()
return (
<StyledChatRoomBubbleWrapper>
{chatRoomList.map((chatRoom, idx) => {
return (
<ChatRoomBubble
<ChatRoomBubbleWrapper
key={idx}
title={chatRoom.title}
participants={chatRoom.participants}
createdAt={chatRoom.createdAt}
isDarkMode={isDarkMode}
/>
onClick={() => {
navigate('/chat-list-detail', { state: { chatroomId: chatRoom.id } })
}}
>
<ChatRoomBubble
title={chatRoom.title}
participants={chatRoom.participants}
createdAt={chatRoom.createdAt}
isDarkMode={isDarkMode}
/>
</ChatRoomBubbleWrapper>
)
})}
</StyledChatRoomBubbleWrapper>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,12 @@ const ParticularTopicButton = ({
flex: 1,
}}
>
<Text font={'Body_18'} fontWeight={500} letterSpacing={-2} style={{ marginBottom: 4 }}>
<Text
font={'Body_18'}
fontWeight={500}
letterSpacing={-2}
style={{ color: getSecondTextColor, marginBottom: 4 }}
>
{'특정 주제로 대화하기'}
</Text>
<Text
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import { PiTimerBold } from 'react-icons/pi'

import { Text, TextWrapper } from '@/components/common/Text'
import { palette } from '@/styles/palette'
import { getTimeDelta } from '@/utils/getTimeStamp'

// import { getTimeDelta } from '@/utils/getTimeStamp'
import { StyledIconButtonWrapper, StyledIconWrapper } from '.'

type RandomMatchingButtonProps = {
date: string
date?: string
isDarkMode: boolean
onClick: () => void
}
Expand All @@ -20,7 +20,7 @@ type RandomMatchingButtonProps = {
* @param onClick - 랜덤매칭 버튼 클릭 이벤트
*/

const RandomMatchingButton = ({ date, isDarkMode, onClick }: RandomMatchingButtonProps) => {
const RandomMatchingButton = ({ isDarkMode, onClick }: RandomMatchingButtonProps) => {
const setButtonType = isDarkMode ? 'random-matching-dark' : 'random-matching'

return (
Expand Down Expand Up @@ -70,7 +70,7 @@ const RandomMatchingButton = ({ date, isDarkMode, onClick }: RandomMatchingButto
alignItems: 'center',
}}
>
{'마지막 채팅: '} {`${getTimeDelta(date)}`}
{/* {'마지막 채팅: '} {`${getTimeDelta(date)}`} */}
</Text>
</TextWrapper>
<StyledIconWrapper
Expand Down
12 changes: 6 additions & 6 deletions src/components/common/Buttons/NormalButton/NormalButtonStyles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -153,14 +153,14 @@ export const NormalButtonStyles: Record<NormalButtonType, NormalButtonStyle> = {
borderRadius: 50,
},
matching: {
width: 123,
height: 45,
fontColor: palette.WHITE,
backgroundColor: palette.TERTIARY,
font: 'Body_14',
width: 63,
height: 30,
fontColor: palette.GRAY300,
backgroundColor: palette.GRAY100,
font: 'Body_12',
fontWeight: 500,
letterSpacing: -1,
boxShadow: '0px 4px 20px rgba(0, 0, 0, 0.15)',

borderRadius: 8,
},
'matching-dark': {
Expand Down
15 changes: 9 additions & 6 deletions src/components/common/ListRow/AdminInquiryList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,34 @@ import { useQuery } from '@tanstack/react-query'

import AdminInquiryAPI from '@/apis/adminInquiry/AdminInquiryApi'
import AdminApprovalListRow from '@/components/common/ListRow/AdminApprovalListRow'
import AdminPageHeader from '@/pages/admin/components/AdminPageHeader'
import { palette } from '@/styles/palette'

interface AdminInquiryListProps {
onApproveSelectUserName: (nickname: string) => void
onInquirySelectUserName: (nickname: string) => void
}
interface InquiryListData {
inquiryRequestUser: string
inquiryRequestDate: string
onApproveSelectUserName: (nickname: string) => void
onInquirySelectUserName: (nickname: string) => void
}
interface InquiryListData {
approvalRequestUser: string
approvalRequestUserStatus: string
}

const AdminInquiryList = ({ onApproveSelectUserName }: AdminInquiryListProps) => {
const AdminInquiryList = ({ onInquirySelectUserName }: AdminInquiryListProps) => {
// API 요청 코드
const { data, isSuccess } = useQuery(['AdminInquiryList'], AdminInquiryAPI.GET_INQUIRY_LIST)

const handlePersonApproval = (nickname: string) => {
onApproveSelectUserName(nickname)
const handlePersonInquiry = (inquiryNickname: string) => {
onInquirySelectUserName(inquiryNickname)
}
const inquiryDatas = data?.data.inquiries

return (
<AdminInquiryListContainerOuterWrapper>
<AdminPageHeader username={'불편 사항 처리'}></AdminPageHeader>
<AdminInquiryListContainer>
{isSuccess &&
inquiryDatas.map((inquiryListData: InquiryListData, index: number) => (
Expand All @@ -38,7 +40,7 @@ const AdminInquiryList = ({ onApproveSelectUserName }: AdminInquiryListProps) =>
nickname={inquiryListData.inquiryRequestUser}
infoMessage={inquiryListData.inquiryRequestDate}
isDarkMode={false}
onClick={() => handlePersonApproval(inquiryListData.inquiryRequestUser)}
onClick={() => handlePersonInquiry(inquiryListData.inquiryRequestUser)}
/>
))}
</AdminInquiryListContainer>
Expand All @@ -48,6 +50,7 @@ const AdminInquiryList = ({ onApproveSelectUserName }: AdminInquiryListProps) =>
const AdminInquiryListContainerOuterWrapper = styled.div`
background-color: ${palette.WHITE};
width: 100%;
height: 662px;
`
const AdminInquiryListContainer = styled.div`
background-color: ${palette.WHITE};
Expand Down
Loading

0 comments on commit 31dc427

Please sign in to comment.