Skip to content

Commit

Permalink
FE-27 🔀 마이페이지 브랜치 최신화 (#209)
Browse files Browse the repository at this point in the history
* FE-27 :twisted_rightwards_arrows: 마이페이지 감정 차트 리팩토링 main 머지 (#200)

* FE-34 :sparkles: 마이페이지 프로필 수정 기능 (#53)

* FE-34 :lipstick: 마이페이지 UI 초기작업

* FE-34 :sparkles: 내 정보 조회 API 연동

* FE-34 :lipstick: shadcn/ui Dialog 설치

* FE-34 :sparkles: 프로필 수정 API 연동

* FE-34 :sparkles: 이미지 실패 토스트 추가

* FE-36 :sparkles: 마이페이지 캘린더 출력 함수 (#58)

* FE-36 :lipstick: 감정달력 UI

* FE-36 :sparkles: 캘린더 함수 생성

* FE-36 :sparkles: 마이페이지 감정달력 (#65)

* FE-36 :lipstick: 감정달력 UI

* FE-36 :sparkles: 캘린더 함수 생성

* FE-36 :sparkles: 마이페이지 감정달력: 오늘 날짜 표시

* FE-36 :sparkles: 마이페이지 월 별 감정로그 조회 API 연동

* FE-36 :sparkles: 월별 감정 로그 해당 날짜에 출력

* FE-36 :lipstick: 달력 css 수정

* FE-36 :art: 마이페이지 캘린더 헤더 컴포넌트 분리

* FE-36 :sparkles: 마이페이지 감정달력 필터기능

* FE-27 :twisted_rightwards_arrows: 에픽 브랜치 최신화 (#81)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-27 :twisted_rightwards_arrows: 마이페이지 에픽 브랜치 최신화 (#85)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-27 :twisted_rightwards_arrows: 브랜치 최신화 (#86)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-37 :sparkles: 마이페이지 감정차트 (#89)

* FE-37 :recycle: 월별 감정로그 조회 코드 리팩토링

* FE-37 :sparkles: 감정 차트

* FE-37 :hammer: 상수 컨벤션 수정

* FE-27 :twisted_rightwards_arrows: 브랜치 최신화 (#99)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :lipstick: 회원가입 페이지 레이아웃 추가

* :lipstick: 간편 로그인 로고 추가

* :lipstick: 회원가입 ui 추가

* :sparkles: 회원가입 스키마 정의

* :heavy_plus_sign: 회원가입 페이지에 스키마 적용

* :lipstick: 에러 메시지 뜰 때 라벨, 인풋도 같은 에러 색깔 추가

* :memo: 유효성 검사를 통한 버튼의 비활성화 처리

* :memo: 유효성 검사에 따른 인풋 테두리 색상 처리

* :fire: AuthLayout 삭제

* :art: 회원가입 페이지 브라우저 확대시 ui 깨짐 수정

* :truck: 정규표현식 네이밍 변경

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :sparkles: 회원가입 응답 데이터 스키마 정의

* :sparkles: 회원가입 api 생성

* :sparkles: useRegisterMutation hook 생성

* :zap: 회원가입 폼에 mutaion hook 적용

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :zap: isAxiosError로 변경

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :twisted_rightwards_arrows: 충돌 해결

* :bug: postSignup 함수 추가

* :bug: postSignin 내보내는 방식 수정

* :wrench: lint 수정

* :sparkles: oauth api 생성

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* :sparkles: 카카오톡 리디렉트 uri 설정

* :sparkles: useKakaoLogin mutation hook 생성

* :zap: 네이버 구글 카카오 간편 로그인 링크 설정

* :recycle: 에러처리 로직 수정

* FE-51 :twisted_rightwards_arrows: 공용 API 머지 요청 (#92)

* FE-52  ✨에피그램 목록조회 API (#34)

* FE-52 feat: api schema 작성

* FE-52 ✨feat: getEpigrams api 작성

* FE-522 ✨fix:  default export로 변경

* FE-52 ✨test: 테스트 코드 작성

* FE-52 ✨feat: BaseUrl, TeamID 상수 추가 및 axios baseTRL 수정

* FE-52 ✨fix: schema 및 apis 파일 수정

* FE-52 ✨test:  테스트 코드 삭제

* FE-52 ✨fix: .env파일 생성 및 BaseURL 수정

* FE-52 ✨fix: limit 타입  수정(optional 삭제)

* FE-52 ✨text: 테 테스트코드 삭제

* FE-52 ✨fix: api GET요청 주소 수정('epigrams' -> '/epigrams')

* FE-53 :sparkles: 감정이모티콘 저장 스키마 정의

* FE-53 :sparkles: 오늘의 감정 저장 api 생성

* FE-53 :sparkles: getMe 함수를 사용해 로그인 상태 확인 기능 구현

* FE-53 :sparkles: 감정 한영 변환 함수

* FE-53 :sparkles: 감정 저장 후 토스트 알림 표시

* FE-53 :sparkles: 오늘의 감정 조회 api 생성

* FE-53 :hammer: 감정 한영 변환 함수 추가

+) post, get 함수 내부로 한영 변환 함수 이동

* FE-53 :sparkles: 오늘의 감정 스키마 추가 정의

* FE-53 :sparkles: 오늘의 감정 조회 함수 적용

* FE-53 :truck: 오늘의 감정 type 이름 변경

* FE-53 :sparkles: useMutation 훅 사용

* FE-53 :memo: EmotionSelector 주석 추가

* FE-53 :fire: api 함수 에러 처리 부분 제거

* FE-53 :hammer: useQuery를 사용해 오늘의 감정 조회

데이터를 조회할 때는 useQuery를 사용하는거라 함

* FE-56 :sparkles: 댓글 수정 API (#84)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-56 :sparkles: 댓글 수정 API

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-57 :sparkles: 댓글 삭제 API (#88)

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (#93)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98)

---------

Co-authored-by: imsoohyeok <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-27 :hammer: 충돌오류 수정

* FE-27 :hammer: 충돌내역 수정

* FE-27 :twisted_rightwards_arrows: 충돌오류 수정

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>
Co-authored-by: imsoohyeok <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: NEWJIN <[email protected]>

* �FE-27 :twisted_rightwards_arrows: 마이페이지 최신화 (#102)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :lipstick: 회원가입 페이지 레이아웃 추가

* :lipstick: 간편 로그인 로고 추가

* :lipstick: 회원가입 ui 추가

* :sparkles: 회원가입 스키마 정의

* :heavy_plus_sign: 회원가입 페이지에 스키마 적용

* :lipstick: 에러 메시지 뜰 때 라벨, 인풋도 같은 에러 색깔 추가

* :memo: 유효성 검사를 통한 버튼의 비활성화 처리

* :memo: 유효성 검사에 따른 인풋 테두리 색상 처리

* :fire: AuthLayout 삭제

* :art: 회원가입 페이지 브라우저 확대시 ui 깨짐 수정

* :truck: 정규표현식 네이밍 변경

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :sparkles: 회원가입 응답 데이터 스키마 정의

* :sparkles: 회원가입 api 생성

* :sparkles: useRegisterMutation hook 생성

* :zap: 회원가입 폼에 mutaion hook 적용

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :zap: isAxiosError로 변경

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :twisted_rightwards_arrows: 충돌 해결

* :bug: postSignup 함수 추가

* :bug: postSignin 내보내는 방식 수정

* :wrench: lint 수정

* :sparkles: oauth api 생성

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* :sparkles: 카카오톡 리디렉트 uri 설정

* :sparkles: useKakaoLogin mutation hook 생성

* :zap: 네이버 구글 카카오 간편 로그인 링크 설정

* :recycle: 에러처리 로직 수정

* FE-51 :twisted_rightwards_arrows: 공용 API 머지 요청 (#92)

* FE-52  ✨에피그램 목록조회 API (#34)

* FE-52 feat: api schema 작성

* FE-52 ✨feat: getEpigrams api 작성

* FE-522 ✨fix:  default export로 변경

* FE-52 ✨test: 테스트 코드 작성

* FE-52 ✨feat: BaseUrl, TeamID 상수 추가 및 axios baseTRL 수정

* FE-52 ✨fix: schema 및 apis 파일 수정

* FE-52 ✨test:  테스트 코드 삭제

* FE-52 ✨fix: .env파일 생성 및 BaseURL 수정

* FE-52 ✨fix: limit 타입  수정(optional 삭제)

* FE-52 ✨text: 테 테스트코드 삭제

* FE-52 ✨fix: api GET요청 주소 수정('epigrams' -> '/epigrams')

* FE-53 :sparkles: 감정이모티콘 저장 스키마 정의

* FE-53 :sparkles: 오늘의 감정 저장 api 생성

* FE-53 :sparkles: getMe 함수를 사용해 로그인 상태 확인 기능 구현

* FE-53 :sparkles: 감정 한영 변환 함수

* FE-53 :sparkles: 감정 저장 후 토스트 알림 표시

* FE-53 :sparkles: 오늘의 감정 조회 api 생성

* FE-53 :hammer: 감정 한영 변환 함수 추가

+) post, get 함수 내부로 한영 변환 함수 이동

* FE-53 :sparkles: 오늘의 감정 스키마 추가 정의

* FE-53 :sparkles: 오늘의 감정 조회 함수 적용

* FE-53 :truck: 오늘의 감정 type 이름 변경

* FE-53 :sparkles: useMutation 훅 사용

* FE-53 :memo: EmotionSelector 주석 추가

* FE-53 :fire: api 함수 에러 처리 부분 제거

* FE-53 :hammer: useQuery를 사용해 오늘의 감정 조회

데이터를 조회할 때는 useQuery를 사용하는거라 함

* FE-56 :sparkles: 댓글 수정 API (#84)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-56 :sparkles: 댓글 수정 API

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-57 :sparkles: 댓글 삭제 API (#88)

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (#93)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98)

---------

Co-authored-by: imsoohyeok <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>
Co-authored-by: imsoohyeok <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: NEWJIN <[email protected]>

* FE-27 :twisted_rightwards_arrows: 브랜치 최신화 (충돌수정) (#111)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :lipstick: 회원가입 페이지 레이아웃 추가

* :lipstick: 간편 로그인 로고 추가

* :lipstick: 회원가입 ui 추가

* :sparkles: 회원가입 스키마 정의

* :heavy_plus_sign: 회원가입 페이지에 스키마 적용

* :lipstick: 에러 메시지 뜰 때 라벨, 인풋도 같은 에러 색깔 추가

* :memo: 유효성 검사를 통한 버튼의 비활성화 처리

* :memo: 유효성 검사에 따른 인풋 테두리 색상 처리

* :fire: AuthLayout 삭제

* :art: 회원가입 페이지 브라우저 확대시 ui 깨짐 수정

* :truck: 정규표현식 네이밍 변경

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :sparkles: 회원가입 응답 데이터 스키마 정의

* :sparkles: 회원가입 api 생성

* :sparkles: useRegisterMutation hook 생성

* :zap: 회원가입 폼에 mutaion hook 적용

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :zap: isAxiosError로 변경

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :twisted_rightwards_arrows: 충돌 해결

* :bug: postSignup 함수 추가

* :bug: postSignin 내보내는 방식 수정

* :wrench: lint 수정

* :sparkles: oauth api 생성

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* :sparkles: 카카오톡 리디렉트 uri 설정

* :sparkles: useKakaoLogin mutation hook 생성

* :zap: 네이버 구글 카카오 간편 로그인 링크 설정

* :recycle: 에러처리 로직 수정

* FE-51 :twisted_rightwards_arrows: 공용 API 머지 요청 (#92)

* FE-52  ✨에피그램 목록조회 API (#34)

* FE-52 feat: api schema 작성

* FE-52 ✨feat: getEpigrams api 작성

* FE-522 ✨fix:  default export로 변경

* FE-52 ✨test: 테스트 코드 작성

* FE-52 ✨feat: BaseUrl, TeamID 상수 추가 및 axios baseTRL 수정

* FE-52 ✨fix: schema 및 apis 파일 수정

* FE-52 ✨test:  테스트 코드 삭제

* FE-52 ✨fix: .env파일 생성 및 BaseURL 수정

* FE-52 ✨fix: limit 타입  수정(optional 삭제)

* FE-52 ✨text: 테 테스트코드 삭제

* FE-52 ✨fix: api GET요청 주소 수정('epigrams' -> '/epigrams')

* FE-53 :sparkles: 감정이모티콘 저장 스키마 정의

* FE-53 :sparkles: 오늘의 감정 저장 api 생성

* FE-53 :sparkles: getMe 함수를 사용해 로그인 상태 확인 기능 구현

* FE-53 :sparkles: 감정 한영 변환 함수

* FE-53 :sparkles: 감정 저장 후 토스트 알림 표시

* FE-53 :sparkles: 오늘의 감정 조회 api 생성

* FE-53 :hammer: 감정 한영 변환 함수 추가

+) post, get 함수 내부로 한영 변환 함수 이동

* FE-53 :sparkles: 오늘의 감정 스키마 추가 정의

* FE-53 :sparkles: 오늘의 감정 조회 함수 적용

* FE-53 :truck: 오늘의 감정 type 이름 변경

* FE-53 :sparkles: useMutation 훅 사용

* FE-53 :memo: EmotionSelector 주석 추가

* FE-53 :fire: api 함수 에러 처리 부분 제거

* FE-53 :hammer: useQuery를 사용해 오늘의 감정 조회

데이터를 조회할 때는 useQuery를 사용하는거라 함

* FE-56 :sparkles: 댓글 수정 API (#84)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-56 :sparkles: 댓글 수정 API

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-57 :sparkles: 댓글 삭제 API (#88)

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (#93)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98)

---------

Co-authored-by: imsoohyeok <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>
Co-authored-by: JeonYumin <[email protected]>
Co-authored-by: imsoohyeok <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: NEWJIN <[email protected]>

* FE-27 :twisted_rightwards_arrows: 충돌에러 수정 (#113)

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

* FE-27 :truck: 마이페이지 ui 관련 폴더 이동 (#114)

* �FE-38 :sparkles: 마이페이지 내 에피그램 목록 조회 (#126)

* FE-38 :sparkles: 마이페이지 내 에피그램 조회

* FE-38 :lipstick: 내 에피그램 없을 때 UI

* FE-38 :sparkles: 내 에피그램 목록 더보기 구현

* FE-38 :sparkles: 내 에피그램 목록 더보기 구현

* FE-38 :recycle: 내 에피그램 목록 조회 코드 리팩토링

* FE-38 :sparkles: 에피그램 등록 및 상세페이지 이동 구현

* FE-27 :twisted_rightwards_arrows: 브랜치 최신화 (#127)

* FE-32 🔀검색 페이지 메인 머지 (#107)

* 💄FE-33 검색 페이지 UI (#10)

* .nvmrc 버전 수정

* 폰트 및 공용컬러 추가 (#6)

* font-family 추가

* tailwind common color 추가

* color 명 변경

* lang 수정

---------

Co-authored-by: 전유민 <[email protected]>

* :lipstick: 공용 컴포넌트 shadcn ui 추가 (#7)

* :lipstick: Feat: shadcn-ui init

* :lipstick: Feat: add toast ui

* Feat: add textarea ui

* Feat: add switch ui

* Feat: add radio-group ui

* Feat: add label ui

* Feat: add input ui

* Feat: add form ui

* Feat: add button ui

* Feat: add dropdown-menu ui

* Feat: add card ui

* Feat: add badge ui

* Feat: add avatar ui

* Feat: add alert dialog ui

* Chore: add eslint rules

* Chore: add shadcn ui

* ✨Feat: SearchBar UI 초안 완성

* styles: tailwind css 폰트 사이즈 추가

* feat: RecentSearches UI 초안 완성

* �styles: SearchResults UI 수정

* �styles: RecentSearches UI 수정

* ✨styles: 반응형  UI 추가

* FE-33 fix: build 오류 수정 중

* FE-33 fix: build 오류 해결 중

* FE-33 fix: build 오류 해결 중

* FE-33 fix: build 오류 해결 중

* fix: build 오류 해결 중

---------

Co-authored-by: 전유민 <[email protected]>
Co-authored-by: JeonYumin94 <[email protected]>
Co-authored-by: MOON <[email protected]>

* FE-65  ✨최근 검색어 기능 (#51)

* FE-65 ✨feat: 최근 검색어 기능 구현

* FE-65 ✨feat: 검색바와 연동하여 즉시 반영되도록 수정

* FE-65 ✨feat: debounce를 위한 lodash 라이브러리 설치

* FE-65 ✨feat: debounce 기능 적용(++lodash 라이브러리)

* FE-65 ✨feat: useEffectt로 debouncedSearch함수 의존성 설정

* FE-65 ✨feat: useCallback 대신 useRef로 변경

* FE-65 ✨fix:: debounce 기능 제거(불필요)

* FE-65 ✨feat:  focus될 때 placeholder 사라지게 수정 및 UI 수정

* FE-65 ✨feat:  isInitialMount 선언 및 주석 추가

* FE-65 ✨fix: 주석 수정

* FE-65 ✨feat: 최근 검색어 클릭 시 그 검색어로 검색되는  기능

* FE-65 styles: 주석 추가

* FE-74  ✨검색 결과 기능 (#73)

* FE-74 fix: 사용하지 않는 lodash 라이브러리 삭제

* FE-74 ✨feat: 테스트 용 api 코드 가져오기

* FE-74 ✨feat: 검색 결과 기능 구현

* FE-74 ✨fix: 중복된 key, href 제거 및 규칙 무시 주석 추가

* FE-74 ✨test: 테스트 데이터 추가

* FE-74 ✨feat: 검색어 하이라이팅 및 순서 기능 추가

* FE-74 ✨fix:  주석 수정 및 api 파일 삭제

* FE-74 ✨styles:  주석 추가

* FE-74 ✨fix: 멘토링  내용 주석으로  추가

* FE-32 🔀 epic브랜치 최신화 (#77)

* .nvmrc 버전 수정

* 폰트 및 공용컬러 추가 (#6)

* font-family 추가

* tailwind common color 추가

* color 명 변경

* lang 수정

---------

Co-authored-by: 전유민 <[email protected]>

* :lipstick: 공용 컴포넌트 shadcn ui 추가 (#7)

* :lipstick: Feat: shadcn-ui init

* :lipstick: Feat: add toast ui

* Feat: add textarea ui

* Feat: add switch ui

* Feat: add radio-group ui

* Feat: add label ui

* Feat: add input ui

* Feat: add form ui

* Feat: add button ui

* Feat: add dropdown-menu ui

* Feat: add card ui

* Feat: add badge ui

* Feat: add avatar ui

* Feat: add alert dialog ui

* Chore: add eslint rules

* Chore: add shadcn ui

* FE-48 📰 공용 컴포넌트 face emoji svg 파일 생성

* FE-48 :art: 감정 이모티콘 폴더 구조 변경

* FE-48 :sparkles: 감정 이모티콘 카드 컴포넌트 ui 생성

* FE-48 :sparkles: 감정 이모티콘 상태에 따른 클래스 설정

* FE-48 :lipstick: 감정 이모티콘 카드 컴포넌트 ui 수정

* FE-48 :sparkles: 감정 이모티콘 카드 클릭 이벤트 구현

- EmotionIconCardContainer를 사용해 상태관리와 이벤트 처리 (Clicked<->UnClicked)

* FE-48 📝 컴포넌트 이름 변경

명확한 의미 전달을 위해 컴포넌트 이름 변경

* FE-48 :sparkles: 감정 이모티콘 상태 변화 동기화 구

감정 카드를 클릭할 때 상태가 올바르게 전환되고, 다른 카드의 상태도 동기화되는 기능 구현

* FE-48 :sparkles: EmotionSelector 컴포넌트 동적 크기 변경 구현

useMediaQuery 훅 생성: 화면의 크기가 변경될 때마다 리스너 추가 및 제거

* FE-48 :fire: 출력 확인을 위한 테스트 컴포넌트 삭제

* FE-48 :hammer: EmotionTypes 인터페이스 정의

emotion 관련 컴포넌트에서 해당 인터페이스를 import하여 사용하게 구현

* FE-59 :sparkles: 에피그램 카드 ui 구현

tailwind css를 확장해 줄무늬 배경 이미지 구현

* FE-59 :sparkles: 에피그램 카드 반응현 디자인 구현

* FE-59 :lipstick: 에피그램 카드 글씨체 적용

* FE-59 :fire: 에피그램 카드 테스트 코드 삭제

* FE-59 :fire: 테스트 흔적 삭제

* FE-58 :sparkles: 공용 컴포넌트 댓글 카드 기본 ui 구현

* FE-58 :lipstick: 공용 컴포넌트 반응형 디자인 적용

* FE-58 :fire: 댓글 카드 테스트 코드 삭제

* FE-58 :lips: 댓글 카드 관련 인터페이스, 스타일 분리

* FE-50 ✨공용컴포넌트 헤더 구현 (#19)

* FE-5050✨ feat:  헤더 부분 기능 초안

* FE-50 ✨styles: 주석 추가

* FE-50 ✨styles: 주석 추추가

* FE-5050 ✨test: 테스트 코드

* FE-50 ✨fix: 테스트 코드 삭제

* FE-50 ✨feat: 공유 이미지 추가 및 현재 URL 복사 기능 추가

* FE-50 ✨styles: U셋 중 하나가 빠지더라도 안무너지게 UI 수정

* FE-50 ✨comment:  주석 수정 및 추가

* FE-50 ✨fix: 테스트 코드 삭제

* FE-50 ✨fix:  함수명 컨벤션에 맞게 변경

* FE-50 ✨fix: types 폴더에 interface 정의

* FE-50 fix: build 오류 수정

* FE-61 🔨 eslint 규칙 수정

* FE-61 🔥 InteractiveEmotionIconCard 삭제

단순 래핑 기능밖에 없는 컴포넌트 삭제 / emotionselector에서 emotioniconcard를 직접 사용하도록 수정

* FE-61 🔨 EpigramCard 사이즈 재정의

base -> xs로 변경

* FE-61 📝 공용 컴포넌트 테스트 텍스트 주석 추가

* FE-61 🔨 CommentCard 타입 내부 정의

* FE-61 :truck: 감정 카드 폴더 구조 변경

* FE-61 📝 감정 카드, 감정 셀렉터 주석 추가

* FE-61 :fire: 댓글 카드 디폴트 프롭 삭제

* FE-62 ✨fix:  주석 수정 및 타입 수정 (#27)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* build 오류 해결

* build 오류 해결 중

---------

Co-authored-by: 전유민 <[email protected]>
Co-authored-by: JeonYumin94 <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: NEWJIN <[email protected]>

* FE-75  ✨무한 스크롤, 검색 결과 URL에 저장 기능 구현 (#104)

* FE-75 ✨styles: tailwind .config 파일 메인과 통합

* FE-75 ✨feat: 공용 컴포넌트 Header 추가

* FE-75 ✨refactor: useMemo 사용

* FE-75 ✨feat: URL에 검색 결과  저장

* FE-75 ✨styles: 로딩 스타일 구현

* FE-75 ✨feat: 실제 api 추가

* FE-75 ✨feat: api 기능 구현

* FE-75 ✨feat: 무한 스크롤 구현

* FE-75 ✨fix: 의존성 배열에서 로딩 상태 제거

* FE-75 ✨styles: 주석 추가

* FE-75 ✨feat:: 사용자마다 최근 검색어 관리할 수 있게 변경

* FE-75 ✨fix: 검색 전 검색 결과가  나오지 않도록 수정

* FE-32 🔀브랜치 최신화 (#105)

* .nvmrc 버전 수정

* 폰트 및 공용컬러 추가 (#6)

* font-family 추가

* tailwind common color 추가

* color 명 변경

* lang 수정

---------

Co-authored-by: 전유민 <[email protected]>

* :lipstick: 공용 컴포넌트 shadcn ui 추가 (#7)

* :lipstick: Feat: shadcn-ui init

* :lipstick: Feat: add toast ui

* Feat: add textarea ui

* Feat: add switch ui

* Feat: add radio-group ui

* Feat: add label ui

* Feat: add input ui

* Feat: add form ui

* Feat: add button ui

* Feat: add dropdown-menu ui

* Feat: add card ui

* Feat: add badge ui

* Feat: add avatar ui

* Feat: add alert dialog ui

* Chore: add eslint rules

* Chore: add shadcn ui

* FE-48 📰 공용 컴포넌트 face emoji svg 파일 생성

* FE-48 :art: 감정 이모티콘 폴더 구조 변경

* FE-48 :sparkles: 감정 이모티콘 카드 컴포넌트 ui 생성

* FE-48 :sparkles: 감정 이모티콘 상태에 따른 클래스 설정

* FE-48 :lipstick: 감정 이모티콘 카드 컴포넌트 ui 수정

* FE-48 :sparkles: 감정 이모티콘 카드 클릭 이벤트 구현

- EmotionIconCardContainer를 사용해 상태관리와 이벤트 처리 (Clicked<->UnClicked)

* FE-48 📝 컴포넌트 이름 변경

명확한 의미 전달을 위해 컴포넌트 이름 변경

* FE-48 :sparkles: 감정 이모티콘 상태 변화 동기화 구

감정 카드를 클릭할 때 상태가 올바르게 전환되고, 다른 카드의 상태도 동기화되는 기능 구현

* FE-48 :sparkles: EmotionSelector 컴포넌트 동적 크기 변경 구현

useMediaQuery 훅 생성: 화면의 크기가 변경될 때마다 리스너 추가 및 제거

* FE-48 :fire: 출력 확인을 위한 테스트 컴포넌트 삭제

* FE-48 :hammer: EmotionTypes 인터페이스 정의

emotion 관련 컴포넌트에서 해당 인터페이스를 import하여 사용하게 구현

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-59 :sparkles: 에피그램 카드 ui 구현

tailwind css를 확장해 줄무늬 배경 이미지 구현

* FE-59 :sparkles: 에피그램 카드 반응현 디자인 구현

* FE-59 :lipstick: 에피그램 카드 글씨체 적용

* FE-59 :fire: 에피그램 카드 테스트 코드 삭제

* FE-59 :fire: 테스트 흔적 삭제

* FE-58 :sparkles: 공용 컴포넌트 댓글 카드 기본 ui 구현

* FE-58 :lipstick: 공용 컴포넌트 반응형 디자인 적용

* FE-58 :fire: 댓글 카드 테스트 코드 삭제

* FE-58 :lips: 댓글 카드 관련 인터페이스, 스타일 분리

* FE-60 :sparkles: react hook form, zod 추가

* FE-50 ✨공용컴포넌트 헤더 구현 (#19)

* FE-5050✨ feat:  헤더 부분 기능 초안

* FE-50 ✨styles: 주석 추가

* FE-50 ✨styles: 주석 추추가

* FE-5050 ✨test: 테스트 코드

* FE-50 ✨fix: 테스트 코드 삭제

* FE-50 ✨feat: 공유 이미지 추가 및 현재 URL 복사 기능 추가

* FE-50 ✨styles: U셋 중 하나가 빠지더라도 안무너지게 UI 수정

* FE-50 ✨comment:  주석 수정 및 추가

* FE-50 ✨fix: 테스트 코드 삭제

* FE-50 ✨fix:  함수명 컨벤션에 맞게 변경

* FE-50 ✨fix: types 폴더에 interface 정의

* FE-50 fix: build 오류 수정

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* FE-61 🔨 eslint 규칙 수정

* FE-61 🔥 InteractiveEmotionIconCard 삭제

단순 래핑 기능밖에 없는 컴포넌트 삭제 / emotionselector에서 emotioniconcard를 직접 사용하도록 수정

* FE-61 🔨 EpigramCard 사이즈 재정의

base -> xs로 변경

* FE-61 📝 공용 컴포넌트 테스트 텍스트 주석 추가

* FE-61 🔨 CommentCard 타입 내부 정의

* FE-61 :truck: 감정 카드 폴더 구조 변경

* FE-61 📝 감정 카드, 감정 셀렉터 주석 추가

* FE-61 :fire: 댓글 카드 디폴트 프롭 삭제

* FE-62 ✨fix:  주석 수정 및 타입 수정 (#27)

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :lipstick: 회원가입 페이지 레이아웃 추가

* :lipstick: 간편 로그인 로고 추가

* :lipstick: 회원가입 ui 추가

* :sparkles: 회원가입 스키마 정의

* :heavy_plus_sign: 회원가입 페이지에 스키마 적용

* :lipstick: 에러 메시지 뜰 때 라벨, 인풋도 같은 에러 색깔 추가

* :memo: 유효성 검사를 통한 버튼의 비활성화 처리

* :memo: 유효성 검사에 따른 인풋 테두리 색상 처리

* :fire: AuthLayout 삭제

* :art: 회원가입 페이지 브라우저 확대시 ui 깨짐 수정

* :truck: 정규표현식 네이밍 변경

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :sparkles: 회원가입 응답 데이터 스키마 정의

* :sparkles: 회원가입 api 생성

* :sparkles: useRegisterMutation hook 생성

* :zap: 회원가입 폼에 mutaion hook 적용

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :zap: isAxiosError로 변경

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :twisted_rightwards_arrows: 충돌 해결

* :bug: postSignup 함수 추가

* :bug: postSignin 내보내는 방식 수정

* :wrench: lint 수정

* build 오류 해결

* build 오류 해결 중

* :sparkles: oauth api 생성

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* :sparkles: 카카오톡 리디렉트 uri 설정

* :sparkles: useKakaoLogin mutation hook 생성

* :zap: 네이버 구글 카카오 간편 로그인 링크 설정

* :recycle: 에러처리 로직 수정

* FE-51 :twisted_rightwards_arrows: 공용 API 머지 요청 (#92)

* FE-52  ✨에피그램 목록조회 API (#34)

* FE-52 feat: api schema 작성

* FE-52 ✨feat: getEpigrams api 작성

* FE-522 ✨fix:  default export로 변경

* FE-52 ✨test: 테스트 코드 작성

* FE-52 ✨feat: BaseUrl, TeamID 상수 추가 및 axios baseTRL 수정

* FE-52 ✨fix: schema 및 apis 파일 수정

* FE-52 ✨test:  테스트 코드 삭제

* FE-52 ✨fix: .env파일 생성 및 BaseURL 수정

* FE-52 ✨fix: limit 타입  수정(optional 삭제)

* FE-52 ✨text: 테 테스트코드 삭제

* FE-52 ✨fix: api GET요청 주소 수정('epigrams' -> '/epigrams')

* FE-53 :sparkles: 감정이모티콘 저장 스키마 정의

* FE-53 :sparkles: 오늘의 감정 저장 api 생성

* FE-53 :sparkles: getMe 함수를 사용해 로그인 상태 확인 기능 구현

* FE-53 :sparkles: 감정 한영 변환 함수

* FE-53 :sparkles: 감정 저장 후 토스트 알림 표시

* FE-53 :sparkles: 오늘의 감정 조회 api 생성

* FE-53 :hammer: 감정 한영 변환 함수 추가

+) post, get 함수 내부로 한영 변환 함수 이동

* FE-53 :sparkles: 오늘의 감정 스키마 추가 정의

* FE-53 :sparkles: 오늘의 감정 조회 함수 적용

* FE-53 :truck: 오늘의 감정 type 이름 변경

* FE-53 :sparkles: useMutation 훅 사용

* FE-53 :memo: EmotionSelector 주석 추가

* FE-53 :fire: api 함수 에러 처리 부분 제거

* FE-53 :hammer: useQuery를 사용해 오늘의 감정 조회

데이터를 조회할 때는 useQuery를 사용하는거라 함

* FE-56 :sparkles: 댓글 수정 API (#84)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-56 :sparkles: 댓글 수정 API

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-57 :sparkles: 댓글 삭제 API (#88)

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (#93)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98)

---------

Co-authored-by: imsoohyeok <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* .http 파일 삭제

---------

Co-authored-by: 전유민 <[email protected]>
Co-authored-by: JeonYumin94 <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: MOON <[email protected]>
Co-authored-by: NEWJIN <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-32 🔀브랜치 최신화 (#110)

* .nvmrc 버전 수정

* 폰트 및 공용컬러 추가 (#6)

* font-family 추가

* tailwind common color 추가

* color 명 변경

* lang 수정

---------

Co-authored-by: 전유민 <[email protected]>

* :lipstick: 공용 컴포넌트 shadcn ui 추가 (#7)

* :lipstick: Feat: shadcn-ui init

* :lipstick: Feat: add toast ui

* Feat: add textarea ui

* Feat: add switch ui

* Feat: add radio-group ui

* Feat: add label ui

* Feat: add input ui

* Feat: add form ui

* Feat: add button ui

* Feat: add dropdown-menu ui

* Feat: add card ui

* Feat: add badge ui

* Feat: add avatar ui

* Feat: add alert dialog ui

* Chore: add eslint rules

* Chore: add shadcn ui

* FE-48 📰 공용 컴포넌트 face emoji svg 파일 생성

* FE-48 :art: 감정 이모티콘 폴더 구조 변경

* FE-48 :sparkles: 감정 이모티콘 카드 컴포넌트 ui 생성

* FE-48 :sparkles: 감정 이모티콘 상태에 따른 클래스 설정

* FE-48 :lipstick: 감정 이모티콘 카드 컴포넌트 ui 수정

* FE-48 :sparkles: 감정 이모티콘 카드 클릭 이벤트 구현

- EmotionIconCardContainer를 사용해 상태관리와 이벤트 처리 (Clicked<->UnClicked)

* FE-48 📝 컴포넌트 이름 변경

명확한 의미 전달을 위해 컴포넌트 이름 변경

* FE-48 :sparkles: 감정 이모티콘 상태 변화 동기화 구

감정 카드를 클릭할 때 상태가 올바르게 전환되고, 다른 카드의 상태도 동기화되는 기능 구현

* FE-48 :sparkles: EmotionSelector 컴포넌트 동적 크기 변경 구현

useMediaQuery 훅 생성: 화면의 크기가 변경될 때마다 리스너 추가 및 제거

* FE-48 :fire: 출력 확인을 위한 테스트 컴포넌트 삭제

* FE-48 :hammer: EmotionTypes 인터페이스 정의

emotion 관련 컴포넌트에서 해당 인터페이스를 import하여 사용하게 구현

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-59 :sparkles: 에피그램 카드 ui 구현

tailwind css를 확장해 줄무늬 배경 이미지 구현

* FE-59 :sparkles: 에피그램 카드 반응현 디자인 구현

* FE-59 :lipstick: 에피그램 카드 글씨체 적용

* FE-59 :fire: 에피그램 카드 테스트 코드 삭제

* FE-59 :fire: 테스트 흔적 삭제

* FE-58 :sparkles: 공용 컴포넌트 댓글 카드 기본 ui 구현

* FE-58 :lipstick: 공용 컴포넌트 반응형 디자인 적용

* FE-58 :fire: 댓글 카드 테스트 코드 삭제

* FE-58 :lips: 댓글 카드 관련 인터페이스, 스타일 분리

* FE-60 :sparkles: react hook form, zod 추가

* FE-50 ✨공용컴포넌트 헤더 구현 (#19)

* FE-5050✨ feat:  헤더 부분 기능 초안

* FE-50 ✨styles: 주석 추가

* FE-50 ✨styles: 주석 추추가

* FE-5050 ✨test: 테스트 코드

* FE-50 ✨fix: 테스트 코드 삭제

* FE-50 ✨feat: 공유 이미지 추가 및 현재 URL 복사 기능 추가

* FE-50 ✨styles: U셋 중 하나가 빠지더라도 안무너지게 UI 수정

* FE-50 ✨comment:  주석 수정 및 추가

* FE-50 ✨fix: 테스트 코드 삭제

* FE-50 ✨fix:  함수명 컨벤션에 맞게 변경

* FE-50 ✨fix: types 폴더에 interface 정의

* FE-50 fix: build 오류 수정

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* FE-61 🔨 eslint 규칙 수정

* FE-61 🔥 InteractiveEmotionIconCard 삭제

단순 래핑 기능밖에 없는 컴포넌트 삭제 / emotionselector에서 emotioniconcard를 직접 사용하도록 수정

* FE-61 🔨 EpigramCard 사이즈 재정의

base -> xs로 변경

* FE-61 📝 공용 컴포넌트 테스트 텍스트 주석 추가

* FE-61 🔨 CommentCard 타입 내부 정의

* FE-61 :truck: 감정 카드 폴더 구조 변경

* FE-61 📝 감정 카드, 감정 셀렉터 주석 추가

* FE-61 :fire: 댓글 카드 디폴트 프롭 삭제

* FE-62 ✨fix:  주석 수정 및 타입 수정 (#27)

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :lipstick: 회원가입 페이지 레이아웃 추가

* :lipstick: 간편 로그인 로고 추가

* :lipstick: 회원가입 ui 추가

* :sparkles: 회원가입 스키마 정의

* :heavy_plus_sign: 회원가입 페이지에 스키마 적용

* :lipstick: 에러 메시지 뜰 때 라벨, 인풋도 같은 에러 색깔 추가

* :memo: 유효성 검사를 통한 버튼의 비활성화 처리

* :memo: 유효성 검사에 따른 인풋 테두리 색상 처리

* :fire: AuthLayout 삭제

* :art: 회원가입 페이지 브라우저 확대시 ui 깨짐 수정

* :truck: 정규표현식 네이밍 변경

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :sparkles: 회원가입 응답 데이터 스키마 정의

* :sparkles: 회원가입 api 생성

* :sparkles: useRegisterMutation hook 생성

* :zap: 회원가입 폼에 mutaion hook 적용

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :zap: isAxiosError로 변경

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* :twisted_rightwards_arrows: 충돌 해결

* :bug: postSignup 함수 추가

* :bug: postSignin 내보내는 방식 수정

* :wrench: lint 수정

* build 오류 해결

* build 오류 해결 중

* :sparkles: oauth api 생성

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* :sparkles: 카카오톡 리디렉트 uri 설정

* :sparkles: useKakaoLogin mutation hook 생성

* :zap: 네이버 구글 카카오 간편 로그인 링크 설정

* :recycle: 에러처리 로직 수정

* FE-51 :twisted_rightwards_arrows: 공용 API 머지 요청 (#92)

* FE-52  ✨에피그램 목록조회 API (#34)

* FE-52 feat: api schema 작성

* FE-52 ✨feat: getEpigrams api 작성

* FE-522 ✨fix:  default export로 변경

* FE-52 ✨test: 테스트 코드 작성

* FE-52 ✨feat: BaseUrl, TeamID 상수 추가 및 axios baseTRL 수정

* FE-52 ✨fix: schema 및 apis 파일 수정

* FE-52 ✨test:  테스트 코드 삭제

* FE-52 ✨fix: .env파일 생성 및 BaseURL 수정

* FE-52 ✨fix: limit 타입  수정(optional 삭제)

* FE-52 ✨text: 테 테스트코드 삭제

* FE-52 ✨fix: api GET요청 주소 수정('epigrams' -> '/epigrams')

* FE-53 :sparkles: 감정이모티콘 저장 스키마 정의

* FE-53 :sparkles: 오늘의 감정 저장 api 생성

* FE-53 :sparkles: getMe 함수를 사용해 로그인 상태 확인 기능 구현

* FE-53 :sparkles: 감정 한영 변환 함수

* FE-53 :sparkles: 감정 저장 후 토스트 알림 표시

* FE-53 :sparkles: 오늘의 감정 조회 api 생성

* FE-53 :hammer: 감정 한영 변환 함수 추가

+) post, get 함수 내부로 한영 변환 함수 이동

* FE-53 :sparkles: 오늘의 감정 스키마 추가 정의

* FE-53 :sparkles: 오늘의 감정 조회 함수 적용

* FE-53 :truck: 오늘의 감정 type 이름 변경

* FE-53 :sparkles: useMutation 훅 사용

* FE-53 :memo: EmotionSelector 주석 추가

* FE-53 :fire: api 함수 에러 처리 부분 제거

* FE-53 :hammer: useQuery를 사용해 오늘의 감정 조회

데이터를 조회할 때는 useQuery를 사용하는거라 함

* FE-56 :sparkles: 댓글 수정 API (#84)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 UI추가 (#44)

* FE-72 ✨ 에피그램 등록 api연동 (#52)

* FE-72✨ 글작성페이지 스키마 추가

* FE-72✨ form태그 Form컴포넌트로 변경

* FE-72✨ 태그 저장기능 추가

* FE-72✨ 에피그램 등록 api연동

* FE-72✨ 에피그램 등록시 해당 에피그램 페이지로 이동 기능 추가

* FE-72✨ 등록 중일때의 로직추가

* FE-72✨  toast-> alert-dailog로 변경

* FE-72📝 TODO주석 추가

---------

Co-authored-by: 우지석 <[email protected]>

* FE-73✨ 유효성검사 추가 (#66)

* FE-73♻️  Tag관리 함수 훅으로 분리

* FE-73✨  RadioGroup 로직 수정

* FE-73✨ 유효성검사 추가

* FE-73♻️  저자 본인 선택시의  로직 변경

* FE-73✨ 중복 태그 검사 로직 추가

* FE-73♻️ 출처 유효성(optional)검사 수정

* FE-73✨  필수항목 입력했을때 버튼 활성화

* FE-73🐛 태그를 입력했다가 지웠을때 버튼 활성화되있는 버그 수정

* FE-73🐛 useEffect 의존성배열 lint problem 해결

* FE-73🐛 url유효성검사 에러 메세지 안뜨는 버그 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-71♻️ epic브랜치 코드리뷰 반영 (#76)

* FE-71♻️  token,interceptor 로직 수정

* FE-71♻️  AddEpigram 코드리뷰 반영

* FE-71🔥 테스트용 상세페이지 삭제

* FE-71♻️  onKeyDown -> onKeyUp 수정

---------

Co-authored-by: 우지석 <[email protected]>

* FE-56 :sparkles: 댓글 수정 API

---------

Co-authored-by: MOON <[email protected]>
Co-authored-by: Jiseok Woo <[email protected]>
Co-authored-by: 우지석 <[email protected]>

* FE-57 :sparkles: 댓글 삭제 API (#88)

* FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (#93)

* FE-29 :twisted_rightwards_arrows: 로그인 페이지 머지 요청 (#39)

* :heavy_plus_sign: 이미지 파일 추가

* :lipstick: 로그인 페이지 레이아웃 생성

* :lipstick: 로그인 페이지 UI 생성 및 반응형 디자인 구현

* FE-60 :sparkles: react hook form, zod 추가

* FE-60 :lipstick: 로그인 폼 스타일 수정

- 텍스트 인풋 테두리
- 로그인 버튼

* FE-60 :recycle: 로그인 스키마 분리

* :sparkles: 로그인 응답 데이터 스키마 정의

* :sparkles: 로그인 api 생성

* :sparkles: 요청과 응답에 관한 인터셉터 추가

* :sparkles: useSignin mutation hook 생성

* :zap: useSignin hook 로그인 폼에 적용

* :fire: AuthLayout 삭제

* :art: onSubmit 함수 인라인으로 정의

* :recycle: 응답 인터셉터의 에러 처리 및 토큰 갱신 로직 개선

* :recycle: postSignin api 에러처리 로직 삭제

* :fire: useSignin hook 삭제

* :truck: useSigninMutation hook으로 이름 변경 및 파일 이동

* :sparkles: Toaster 컴포넌트 추가

* :sparkles: toast로 에러메시지 띄우기

* FE-71 🔀 에피그램 작성 페이지 (#71)

* FE-64💄 글작성 페이지 U…
  • Loading branch information
12 people authored Aug 6, 2024
1 parent 4a78dfa commit d524bea
Show file tree
Hide file tree
Showing 17 changed files with 193 additions and 113 deletions.
7 changes: 7 additions & 0 deletions src/apis/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,10 @@ httpClient.interceptors.response.use(
);

export default httpClient;

export const logout = () => {
localStorage.removeItem('accessToken');
localStorage.removeItem('refreshToken');

window.location.href = '/auth/SignIn';
};
8 changes: 4 additions & 4 deletions src/apis/postGoogleOauth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import httpClient from '.';
const getGoogleIdToken = async (code: string) => {
const response = await axios.post('https://oauth2.googleapis.com/token', {
code,
client_id: process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID_TEST,
client_secret: process.env.NEXT_PUBLIC_GOOGLE_CLIENT_SECRET_TEST,
redirect_uri: process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI_TEST,
client_id: process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID,
client_secret: process.env.NEXT_PUBLIC_GOOGLE_CLIENT_SECRET,
redirect_uri: process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI,
grant_type: 'authorization_code',
});

Expand All @@ -19,7 +19,7 @@ const postGoogleOauth = async (code: string) => {
const idToken = tokenResponse.id_token;

const response = await httpClient.post('/auth/signIn/GOOGLE', {
redirectUri: process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI_TEST,
redirectUri: process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI,
token: idToken,
});

Expand Down
30 changes: 30 additions & 0 deletions src/components/Card/UserProfileModal.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import React from 'react';
import { Dialog, DialogContent, DialogTrigger } from '@/components/ui/dialog_dim';
import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';

interface UserProfileModalProps {
username: string;
profileImage: string;
children: React.ReactNode;
}

function UserProfileModal({ username, profileImage, children }: UserProfileModalProps) {
return (
<Dialog>
<DialogTrigger asChild>{children}</DialogTrigger>
<DialogContent className='sm:max-w-[425px] bg-white'>
<div className='flex items-center space-x-4 p-6'>
<Avatar className='h-12 w-12'>
<AvatarImage src={profileImage} alt={username} />
<AvatarFallback>{username[0]}</AvatarFallback>
</Avatar>
<div>
<h4 className='text-lg font-medium'>{username}</h4>
</div>
</div>
</DialogContent>
</Dialog>
);
}

export default UserProfileModal;
45 changes: 19 additions & 26 deletions src/components/epigram/Comment/CommentItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import Image from 'next/image';
import { CommentType } from '@/schema/comment';
import { textSizeStyles, gapStyles, paddingStyles, contentWidthStyles } from '@/styles/CommentCardStyles';
import getCustomRelativeTime from '@/lib/dateUtils';
import useDeleteCommentMutation from '@/hooks/useDeleteCommentHook';
import { useToast } from '@/components/ui/use-toast';
import { Button } from '@/components/ui/button';
import useDeleteCommentMutation from '@/hooks/useDeleteCommentHook';
import UserProfileModal from '@/components/Card/UserProfileModal';
import DeleteAlertModal from '../DeleteAlertModal';
import CommentTextarea from './CommentTextarea';

Expand All @@ -18,9 +18,16 @@ interface CommentItemProps {
}

function CommentItem({ comment, status, onEditComment, isEditing, epigramId }: CommentItemProps) {
const deleteCommentMutation = useDeleteCommentMutation();
const { toast } = useToast();
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
const deleteCommentMutation = useDeleteCommentMutation({
onSuccess: () => {
setIsDeleteModalOpen(false);
},
});

const handleDeleteComment = async () => {
deleteCommentMutation.mutate({ commentId: comment.id, epigramId });
};

const handleEditClick = () => {
onEditComment(comment.id);
Expand All @@ -31,32 +38,18 @@ function CommentItem({ comment, status, onEditComment, isEditing, epigramId }: C
return <CommentTextarea epigramId={epigramId} editingComment={comment} onEditComplete={() => onEditComment(0)} />;
}

const handleDeleteComment = async () => {
try {
await deleteCommentMutation.mutateAsync(comment.id);
setIsDeleteModalOpen(false);
toast({
title: '댓글이 삭제되었습니다.',
variant: 'destructive',
});
} catch (error) {
toast({
title: '댓글 삭제 실패했습니다.',
variant: 'destructive',
});
}
};

return (
<div
className={`h-auto bg-slate-100 border-t border-slate-300 flex-col justify-start items-start gap-2.5 inline-flex w-[360px] md:w-[384px] lg:w-[640px] ${paddingStyles.sm} ${paddingStyles.md} ${paddingStyles.lg}`}
>
<div className='h-full justify-start items-start gap-4 inline-flex'>
<div className='w-12 h-12 relative'>
<div className='w-12 h-12 bg-zinc-300 rounded-full overflow-hidden flex items-center justify-center'>
<Image src={comment.writer.image || '/ProfileTestImage.jpg'} alt='프로필 이미지' layout='fill' objectFit='cover' className='rounded-full' />
<UserProfileModal username={comment.writer.nickname} profileImage={comment.writer.image || '/ProfileTestImage.jpg'}>
<div className='w-12 h-12 relative cursor-pointer rounded-full'>
<div>
<Image src={comment.writer.image || '/ProfileTestImage.jpg'} alt='프로필 이미지' layout='fill' objectFit='cover' className='rounded-full' />
</div>
</div>
</div>
</UserProfileModal>
<div className={`flex-col justify-start items-start ${gapStyles.sm} ${gapStyles.md} ${gapStyles.lg} inline-flex ${contentWidthStyles.sm} ${contentWidthStyles.md} ${contentWidthStyles.lg}`}>
<div className='justify-between items-center w-full inline-flex'>
<div className='justify-start items-start gap-2 flex'>
Expand All @@ -69,14 +62,14 @@ function CommentItem({ comment, status, onEditComment, isEditing, epigramId }: C
{status === 'edit' && (
<div className='justify-start items-start gap-4 flex'>
<Button
className={`w-3 text-neutral-700 leading-[18px] cursor-pointer ${textSizeStyles.sm.action} ${textSizeStyles.md.action} ${textSizeStyles.lg.action}`}
className={`h-5 p-0 text-neutral-700 leading-[18px] cursor-pointer ${textSizeStyles.sm.action} ${textSizeStyles.md.action} ${textSizeStyles.lg.action}`}
onClick={handleEditClick}
type='button'
>
수정
</Button>
<Button
className={`w-3 text-red-400 leading-[18px] cursor-pointer ${textSizeStyles.sm.action} ${textSizeStyles.md.action} ${textSizeStyles.lg.action}`}
className={`h-5 p-0 text-red-400 leading-[18px] cursor-pointer ${textSizeStyles.sm.action} ${textSizeStyles.md.action} ${textSizeStyles.lg.action}`}
onClick={() => setIsDeleteModalOpen(true)}
type='button'
>
Expand Down
4 changes: 2 additions & 2 deletions src/components/main/FAB.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ function FAB() {
<button
type='button'
onClick={scrollToTop}
className='fixed z-10 bottom-20 right-6 w-12 h-12 md:w-16 md:h-16 bg-blue-900 rounded-full flex items-center justify-center shadow-lg'
className='fixed z-10 bottom-[80px] right-6 w-12 h-12 md:w-16 md:h-16 bg-blue-900 rounded-full flex items-center justify-center shadow-lg'
aria-label='Scroll to top'
>
<Image src='/icon/FAB-icon-lg.svg' alt='Scroll to top' width={24} height={24} className='md:w-16 md:h-16' />
<Image src='/icon/FAB-icon-lg.svg' alt='Scroll to top' width={24} height={24} className='w-full h-full' />
</button>
);
}
Expand Down
65 changes: 65 additions & 0 deletions src/components/ui/dialog_dim.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import * as React from 'react';
import * as DialogPrimitive from '@radix-ui/react-dialog';
import { X } from 'lucide-react';

import cn from '@/lib/utils';

const Dialog = DialogPrimitive.Root;

const DialogTrigger = DialogPrimitive.Trigger;

const DialogPortal = DialogPrimitive.Portal;

const DialogClose = DialogPrimitive.Close;

const DialogOverlay = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Overlay>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>>(({ className, ...props }, ref) => (
<DialogPrimitive.Overlay
ref={ref}
className={cn('fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className)}
{...props}
/>
));
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;

const DialogContent = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Content>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>>(({ className, children, ...props }, ref) => (
<DialogPortal>
<DialogOverlay />
<DialogPrimitive.Content
ref={ref}
className={cn(
'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',
className,
)}
{...props}
>
{children}
<DialogPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground'>
<X className='h-4 w-4' />
<span className='sr-only'>Close</span>
</DialogPrimitive.Close>
</DialogPrimitive.Content>
</DialogPortal>
));
DialogContent.displayName = DialogPrimitive.Content.displayName;

function DialogHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {
return <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />;
}
DialogHeader.displayName = 'DialogHeader';

function DialogFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {
return <div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />;
}
DialogFooter.displayName = 'DialogFooter';

const DialogTitle = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Title>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>>(({ className, ...props }, ref) => (
<DialogPrimitive.Title ref={ref} className={cn('text-lg font-semibold leading-none tracking-tight', className)} {...props} />
));
DialogTitle.displayName = DialogPrimitive.Title.displayName;

const DialogDescription = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Description>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>>(({ className, ...props }, ref) => (
<DialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />
));
DialogDescription.displayName = DialogPrimitive.Description.displayName;

export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription };
37 changes: 23 additions & 14 deletions src/hooks/useDeleteCommentHook.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,36 @@
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { deleteComment } from '@/apis/epigramComment';
import { toast } from '@/components/ui/use-toast';
import queries from '@/apis/queries';

const useDeleteCommentMutation = () => {
const queryClient = useQueryClient();
interface DeleteCommentVariables {
commentId: number;
epigramId?: number;
}

return useMutation({
mutationFn: (commentId: number) => deleteComment(commentId),
onSuccess: () => {
// 댓글 목록 쿼리 무효화
queryClient.invalidateQueries({ queryKey: ['epigramComments'] });
const useDeleteCommentMutation = (options?: { onSuccess?: (variables: DeleteCommentVariables) => void }) => {
const queryClient = useQueryClient();

// 성공 메시지 표시
return useMutation<unknown, Error, DeleteCommentVariables>({
mutationFn: ({ commentId }) => deleteComment(commentId),
onSuccess: (_, variables) => {
if (variables.epigramId) {
queryClient.invalidateQueries({
queryKey: queries.epigramComment.getComments(variables.epigramId).queryKey,
});
}
toast({
title: '댓글 삭제 성공',
description: '댓글이 성공적으로 삭제되었습니다.',
title: '댓글이 삭제되었습니다.',
variant: 'destructive',
});

if (options?.onSuccess) {
options.onSuccess(variables);
}
},
onError: (error) => {
// 에러 메시지 표시
onError: () => {
toast({
title: '댓글 삭제 실패',
description: `댓글 삭제 중 오류가 발생했습니다: ${error instanceof Error ? error.message : '알 수 없는 오류'}`,
title: '댓글 삭제 실패했습니다.',
variant: 'destructive',
});
},
Expand Down
2 changes: 1 addition & 1 deletion src/hooks/useEpigramCommentsQueryHook.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const useEpigramCommentsQuery = (epigramId: number) =>
useInfiniteQuery<CommentResponseType, Error, InfiniteData<CommentResponseType>>({
...queries.epigramComment.getComments(epigramId),
initialPageParam: undefined,
getNextPageParam: (lastPage: CommentResponseType) => lastPage.nextCursor ?? undefined,
getNextPageParam: (lastPage) => lastPage.nextCursor ?? undefined,
});

export default useEpigramCommentsQuery;
8 changes: 4 additions & 4 deletions src/pageLayout/About/AboutPageLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ function AboutLayout() {
<>
<Header icon='search' isLogo insteadOfLogo='' isProfileIcon isShareIcon={false} isButton={false} textInButton='' disabled={false} onClick={() => {}} />
<main className='w-full h-[3000px] lg:h-[5000px] relative bg-slate-100'>
<section className='absolute w-full h-[676px] lg:h-[900px] left-0 bg-stripes'>
<section className='absolute w-full h-[676px] lg:h-[900px] left-0 top-[1px] bg-stripes'>
<div className='absolute left-1/2 transform -translate-x-1/2 top-[200px] lg:top-[320px] flex-col justify-start items-center gap-12 inline-flex'>
<div className='flex-col justify-start items-center gap-[8px] md:gap-[24px] lg:gap-[40px] flex'>
<div className='text-center text-zinc-700 text-[24px] md:text-[32px] lg:text-[40px] font-normal font-iropkeBatang leading-[40px] md:leading-[48px] lg:leading-[64px]'>
Expand Down Expand Up @@ -75,12 +75,12 @@ function AboutLayout() {
</div>
</section>

<section className='absolute w-[312px] md:w-[385px] lg:w-[1195px] left-1/2 transform -translate-x-1/2 top-[1938px] md:top-[2031px] lg:top-[2825px] justify-center items-end gap-[40px] lg:gap-[80px] inline-flex'>
<section className='absolute w-[312px] md:w-[385px] lg:w-[1188px] flex-col lg:flex-row left-1/2 transform -translate-x-1/2 top-[1938px] md:top-[2031px] lg:top-[2825px] justify-center lg:items-end gap-[40px] lg:gap-[80px] inline-flex'>
<div className='block md:hidden lg:hidden'>
<Image src='/AboutPage/Mobile/AboutEpigram3.png' alt='Epigram Mobile' width={312} height={210} />
<Image className='w-[312px] h-[210px]' src='/AboutPage/Mobile/AboutEpigram3.png' alt='Epigram Mobile' width={312} height={210} />
</div>
<div className='hidden md:block lg:hidden'>
<Image src='/AboutPage/Tablet/AboutEpigram3.png' alt='Epigram Tablet' width={384} height={240} />
<Image className='w-[384px] h-[240px]' src='/AboutPage/Tablet/AboutEpigram3.png' alt='Epigram Tablet' width={384} height={240} />
</div>
<div className='hidden md:hidden lg:block'>
<Image className='w-[744px] h-[388px]' src='/AboutPage/Desktop/AboutEpigram3.png' alt='Epigram Desktop' width={744} height={388} />
Expand Down
8 changes: 4 additions & 4 deletions src/pageLayout/Epigram/EpigramFigure.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ function EpigramFigure({ epigram, currentUserId }: EpigramFigureProps) {
<div className='flex justify-between'>
<div className='flex gap-2'>
{epigram.tags.map((tag) => (
<p key={tag.id} className='text-gray-400 text-base lg:text-xl font-normal'>
#{tag.name}
</p>
<Link key={tag.id} href={`/search?q=${tag.name}`} passHref>
<span className='text-gray-400 text-base lg:text-xl font-normal cursor-pointer hover:underline'>#{tag.name}</span>
</Link>
))}
</div>
{isAuthor && <MoreOptionsMenu epigram={epigram.id} />}
</div>
<blockquote className=''>
<blockquote>
<p className='text-2xl lg:text-3xl font-normal'>{epigram.content}</p>
</blockquote>
<figcaption className='text-gray-400 text-right text-base lg:text-2xl font-normal'>-{epigram.author}-</figcaption>
Expand Down
2 changes: 2 additions & 0 deletions src/pageLayout/Epigrams/MainLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import TodayEmotion from '@/components/main/TodayEmotion';
import RecentEpigrams from '@/components/main/RecentEpigram';
import RecentComments from '@/components/main/RecentComment';
import FAB from '@/components/main/FAB';
import AddEpigramFAB from '../Feed/AddEpigramFAB';

function MainLayout() {
return (
Expand All @@ -26,6 +27,7 @@ function MainLayout() {
</section>
</div>
</main>
<AddEpigramFAB />
<FAB />
</>
);
Expand Down
2 changes: 1 addition & 1 deletion src/pageLayout/Feed/AddEpigramFAB.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ function AddEpigramFAB() {
variant='default'
size='lg'
onClick={handleAddEpigramClick}
className='z-10 h-12 lg:h-16 px-3.5 lg:px-5 py-3 lg:py-4 bg-[#2c394d] text-white rounded-[100px] shadow-lg justify-center items-center gap-1 inline-flex fixed bottom-40 right-6 cursor-pointer'
className='z-10 bottom-[140px] md:bottom-[160px] right-6 h-12 lg:h-16 px-3.5 lg:px-5 py-3 lg:py-4 bg-[#2c394d] text-white rounded-[100px] shadow-lg justify-center items-center gap-1 inline-flex fixed cursor-pointer'
role='button'
aria-label='Add Epigram'
tabIndex={0}
Expand Down
21 changes: 7 additions & 14 deletions src/pageLayout/MypageLayout/MyContent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -104,26 +104,19 @@ export default function MyContent({ user }: MyContentProps) {
};

// 댓글 삭제
const deleteCommentMutation = useDeleteCommentMutation();
const handleDeleteComment = async (commentId: number) => {
try {
await deleteCommentMutation.mutateAsync(commentId);
const deleteCommentMutation = useDeleteCommentMutation({
onSuccess: ({ commentId }) => {
setComments((prev) => ({
totalCount: prev.totalCount - 1,
nextCursor: prev.nextCursor,
list: prev.list.filter((comment) => comment.id !== commentId),
}));
setCommentCount((prev) => prev - 1);
toast({
title: '댓글이 삭제되었습니다.',
variant: 'destructive',
});
} catch (error) {
toast({
title: '댓글 삭제 실패했습니다.',
variant: 'destructive',
});
}
},
});

const handleDeleteComment = async (commentId: number) => {
deleteCommentMutation.mutate({ commentId });
};

// 댓글 수정
Expand Down
Loading

0 comments on commit d524bea

Please sign in to comment.