From b5a041e9e7cd839c5ae6d95fd480f0b51fd0710d Mon Sep 17 00:00:00 2001 From: MOON <50370479+jangmoonwon@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:25:45 +0900 Subject: [PATCH] =?UTF-8?q?FE-29=20:twisted=5Frightwards=5Farrows:=20?= =?UTF-8?q?=EB=B8=8C=EB=9E=9C=EC=B9=98=20=EC=B5=9C=EC=8B=A0=ED=99=94=20(#1?= =?UTF-8?q?60)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * FE-46 ✨공용 컴포넌트 헤더 뒤로가기 함수 추가 (#135) (#136) * :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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * :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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * FE-56 :sparkles: 댓글 수정 API --------- * 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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- --------- * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- * FE-32 🔀검색 페이지 메인 머지 (#107) * 💄FE-33 검색 페이지 UI (#10) * .nvmrc 버전 수정 * 폰트 및 공용컬러 추가 (#6) * font-family 추가 * tailwind common color 추가 * color 명 변경 * lang 수정 --------- * :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 오류 해결 중 --------- * 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 수정 --------- * :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 오류 해결 중 --------- * 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 수정 --------- * :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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * :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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * FE-56 :sparkles: 댓글 수정 API --------- * 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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- --------- * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- * .http 파일 삭제 --------- * FE-32 🔀브랜치 최신화 (#110) * .nvmrc 버전 수정 * 폰트 및 공용컬러 추가 (#6) * font-family 추가 * tailwind common color 추가 * color 명 변경 * lang 수정 --------- * :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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * :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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * FE-56 :sparkles: 댓글 수정 API --------- * 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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- --------- * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- * .http 파일 삭제 * merge main --------- * FE-32 검색페이지 메인 충돌 수정 (#112) * .nvmrc 버전 수정 * 폰트 및 공용컬러 추가 (#6) * font-family 추가 * tailwind common color 추가 * color 명 변경 * lang 수정 --------- * :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 수정 * :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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * :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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * FE-56 :sparkles: 댓글 수정 API --------- * 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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- --------- * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- --------- --------- * FE-27 :twisted_rightwards_arrows: 마이페이지 머지 요청 (#100) * 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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- --------- * 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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- --------- * 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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- --------- * 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주석 추가 --------- * 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유효성검사 에러 메세지 안뜨는 버그 수정 --------- * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- * :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컴포넌트… Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: MOON Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 Co-authored-by: JeonYumin <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: 전유민 Co-authored-by: kich555 <79491683+kich555@users.noreply.github.com> Co-authored-by: morrison * FE-29 :twisted_rightwards_arrows: 로그인, 간편 로그인 수정 사항 반영 요청 (#140) * :sparkles: 네이버 post api 추가 * :sparkles: 구글 post api 추가 * :wrench: 라우팅 수정 * :sparkles: 네이버 로그인 훅 추가 및 라우팅, 에러 핸들링 구현 * :sparkles: 구글 로그인 훅 추가 및 라우팅, 에러 핸들링 구현 * :sparkles: 네이버 간편 로그인 리다이렉트 설정 * :sparkles: 구글 간편 로그인 리다이렉트 설정 * :wrench: 환경 변수 적용: 네이버, 구글, 카카오 로그인 URL 업데이트 * :wrench: 가입하기 경로 수정 * :wrench: 로그인 훅 라우팅 수정 * :wrench: 로그인 훅 에러처리 로직 수정 * FE-27 :twisted_rightwards_arrows: 마이페이지 main 머지 요청 (#147) * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-27 :hammer: 충돌오류 수정 * FE-27 :hammer: 충돌내역 수정 * FE-27 :twisted_rightwards_arrows: 충돌오류 수정 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: MOON Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: MOON Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: MOON Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 Co-authored-by: JeonYumin <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN * FE-27 :twisted_rightwards_arrows: 충돌에러 수정 (#113) Co-authored-by: morrison * 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: 전유민 * :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: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> * 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: 전유민 * :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: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> * 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: 전유민 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * .http 파일 삭제 --------- Co-authored-by: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-32 🔀브랜치 최신화 (#110) * .nvmrc 버전 수정 * 폰트 및 공용컬러 추가 (#6) * font-family 추가 * tailwind common color 추가 * color 명 변경 * lang 수정 --------- Co-authored-by: 전유민 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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-20 🐛 소개 페이지 main merge (#151) * FE-13 🐛 메인 페이지 테스트 기반 오류 수정 (#156) * FE-15 :sparkles: 오늘의 에피그램 조회용 데이터 스키마 정의 * FE-15 :sparkles: 오늘의 에피그램 조회 api 생성 * FE-15 :sparkles: 오늘의 에피그램 useQuery 커스텀 훅 구현 * FE-15 :hammer: EpigramCard 컴포넌트 수정 테스트 데이터 제거 props 생성 * FE-15 :sparkles: 오늘의 에피그램 컴포넌트 생성 * FE-15 :fire: api 함수 불필요한 부분 제거 * FE-18 :sparkles: 최근 댓글 조회 데이터 스키마 정의 * FE-18 :sparkles: 최근 댓글 조회 api 생성 * FE-18 :sparkles: 댓글 조회 관리용 커스텀 훅 생성 * FE-18 :fire: 공용 컴포넌트 댓글 카드 테스트 데이터 제거 데이터를 props로 받도록 수정 * FE-18 :sparkles: RecentComment 컴포넌트 생성 * FE-17 :sparkles: 최근 에피그램 조회 데이터 스키마 정의 * FE-17 :sparkles: 최근 에피그램 조회 api 생성 * FE-17 :sparkles: 에피그램 조회 관리용 커스텀 훅 생성 * FE-17 :sparkles: RecentEpigram 컴포넌트 생성 * FE-17 :fire: 공용컴포넌트 테스트 데이터 제거 * FE-17 :sparkles: 최근 에피그램 더보기 버튼 구현 * FE-17 :sparkles: 최근 에피그램 클릭 시 상세 페이지 이동 * FE-17 :lipstick: 더보기 버튼 스타일 수정 * FE-18 :sparkles: 최근 댓글 더보기 기능 구현 * FE-14 ✨ 메인페이지 ui 구현 (#121) * FE-14 :sparkles: 메인 페이지 레이아웃 파일 생성 * FE-14 :lipstick: 로컬 테스트를 위해 테스트 이미지 삽입 * FE-14 :lipstick: 메인 페이지 레이아웃 수정 * FE-14 :lipstick: 컴포넌트 제목 추가 * FE-14 :fire: 에피그램 카드 사이즈 수정 * FE-14 :lipstick: 컴포넌트 간의 gap 수정 * FE-14 :lipstick: 오늘의 감정 ui 수정 * FE-14 :lipstick: FAB icon 생성 * FE-14 :sparkles: FAB 버튼 생성 * FE-13 🔀 브랜치 최신화 (#124) * FE-32 🔀검색 페이지 메인 머지 (#107) * 💄FE-33 검색 페이지 UI (#10) * .nvmrc 버전 수정 * 폰트 및 공용컬러 추가 (#6) * font-family 추가 * tailwind common color 추가 * color 명 변경 * lang 수정 --------- Co-authored-by: 전유민 * :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: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> * 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: 전유민 * :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: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> * 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: 전유민 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * .http 파일 삭제 --------- Co-authored-by: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-32 🔀브랜치 최신화 (#110) * .nvmrc 버전 수정 * 폰트 및 공용컬러 추가 (#6) * font-family 추가 * tailwind common color 추가 * color 명 변경 * lang 수정 --------- Co-authored-by: 전유민 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * .http 파일 삭제 * merge main --------- Co-authored-by: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-32 검색페이지 메인 충돌 수정 (#112) * .nvmrc 버전 수정 * 폰트 및 공용컬러 추가 (#6) * font-family 추가 * tailwind common color 추가 * color 명 변경 * lang 수정 --------- Co-authored-by: 전유민 * :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 수정 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 --------- Co-authored-by: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 --------- Co-authored-by: 전유민 Co-authored-by: JeonYumin94 <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: MOON Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-27 :twisted_rightwards_arrows: 마이페이지 머지 요청 (#100) * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * FE-56 :sparkles: 댓글 수정 API --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-51 :twisted_rightwards_arrows: 공용 API 최신화 (충돌수정) (#98) --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 * FE-27 :hammer: 충돌오류 수정 * FE-27 :hammer: 충돌내역 수정 * FE-27 :twisted_rightwards_arrows: 충돌오류 수정 --------- Co-authored-by: MOON <50370479+jangmoonwon@users.noreply.github.com> Co-authored-by: MOON Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: NEWJIN * 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: 우지석 * 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: 우지석 * FE-71♻️ epic브랜치 코드리뷰 반영 (#76) * FE-71♻️ token,interceptor 로직 수정 * FE-71♻️ AddEpigram 코드리뷰 반영 * FE-71🔥 테스트용 상세페이지 삭제 * FE-71♻️ onKeyDown -> onKeyUp 수정 --------- Co-authored-by: 우지석 * :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: BaseUr… --------- Co-authored-by: imsoohyeok <160010477+imsoohyeok@users.noreply.github.com> Co-authored-by: NEWJIN <109906670+newjinlee@users.noreply.github.com> Co-authored-by: Jiseok Woo <115205098+jisurk@users.noreply.github.com> Co-authored-by: 우지석 Co-authored-by: JeonYumin <40783675+JeonYumin94@users.noreply.github.com> Co-authored-by: NEWJIN Co-authored-by: 전유민 Co-authored-by: kich555 <79491683+kich555@users.noreply.github.com> Co-authored-by: morrison --- package-lock.json | 8 ++ src/apis/getRecentComments.ts | 3 +- src/apis/getRecentEpigrams.ts | 3 +- src/components/Card/CommentCard.tsx | 2 +- src/components/Emotion/EmotionSelector.tsx | 23 ++- src/components/Header/Header.tsx | 12 +- src/components/epigram/EditEpigram.tsx | 13 +- src/components/main/RecentComment.tsx | 42 ++++-- src/components/main/RecentEpigram.tsx | 39 ++++- src/components/main/TodayEmotion.tsx | 11 +- src/components/main/TodayEpigram.tsx | 2 +- src/components/ui/toast.tsx | 2 +- src/hooks/useGetRecentComments.ts | 7 +- src/hooks/useGetRecentEpigrams.ts | 7 +- src/pageLayout/About/AboutPageLayout.tsx | 142 +++++++++++++++++++ src/pageLayout/About/StartButton.tsx | 43 ++++++ src/pageLayout/Epigram/AddEpigram.tsx | 2 +- src/pageLayout/Epigrams/MainLayout.tsx | 2 +- src/pageLayout/MypageLayout/MyPageLayout.tsx | 2 +- src/pageLayout/SearchLayout/SearchLayout.tsx | 2 +- src/pages/epigrams/[id]/index.tsx | 2 +- src/pages/index.tsx | 101 +------------ src/schema/recentEpigram.ts | 2 +- tailwind.config.js | 13 +- 24 files changed, 325 insertions(+), 160 deletions(-) create mode 100644 src/pageLayout/About/AboutPageLayout.tsx create mode 100644 src/pageLayout/About/StartButton.tsx diff --git a/package-lock.json b/package-lock.json index b326f467..b52b8b47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,7 @@ }, "devDependencies": { "@tanstack/eslint-plugin-query": "^5.50.0", + "@types/lodash": "^4.17.7", "@types/node": "^20.14.10", "@types/qs": "^6.9.15", "@types/react": "^18.3.3", @@ -1936,6 +1937,12 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@types/lodash": { + "version": "4.17.7", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz", + "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==", + "dev": true + }, "node_modules/@types/node": { "version": "20.14.10", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", @@ -2915,6 +2922,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" diff --git a/src/apis/getRecentComments.ts b/src/apis/getRecentComments.ts index 5f83fcca..53b48b40 100644 --- a/src/apis/getRecentComments.ts +++ b/src/apis/getRecentComments.ts @@ -1,9 +1,10 @@ import type { GetRecentCommentsResponseType } from '@/schema/recentcomment'; import httpClient from './index'; -const getRecentComments = async (limit: number): Promise => { +const getRecentComments = async (cursor: number, limit: number): Promise => { const response = await httpClient.get('/comments', { params: { + cursor, limit, }, }); diff --git a/src/apis/getRecentEpigrams.ts b/src/apis/getRecentEpigrams.ts index a2fb9f52..04db411a 100644 --- a/src/apis/getRecentEpigrams.ts +++ b/src/apis/getRecentEpigrams.ts @@ -1,9 +1,10 @@ import type { GetRecentEpigramsResponseType } from '@/schema/recentEpigram'; import httpClient from './index'; -const getRecentEpigrams = async (limit: number): Promise => { +const getRecentEpigrams = async (cursor: number | null, limit: number): Promise => { const response = await httpClient.get('/epigrams', { params: { + cursor, limit, }, }); diff --git a/src/components/Card/CommentCard.tsx b/src/components/Card/CommentCard.tsx index 45368d72..9dbdea2e 100644 --- a/src/components/Card/CommentCard.tsx +++ b/src/components/Card/CommentCard.tsx @@ -13,7 +13,7 @@ function CommentCard({ writer, content, createdAt, status }: CommentCardProps) {
- 프로필 이미지 + {`${writer.nickname}의{' '}
diff --git a/src/components/Emotion/EmotionSelector.tsx b/src/components/Emotion/EmotionSelector.tsx index 4375c3ca..57bae69a 100644 --- a/src/components/Emotion/EmotionSelector.tsx +++ b/src/components/Emotion/EmotionSelector.tsx @@ -10,7 +10,12 @@ import EmotionSaveToast from './EmotionSaveToast'; * EmotionSelector 컴포넌트는 여러 개의 EmotionIconCard를 관리하고 * 사용자의 오늘의 감정을 선택하고 저장하고 출력합니다. */ -function EmotionSelector() { + +interface EmotionSelectorProps { + onEmotionSaved: () => void; // Callback for when the emotion is saved +} + +function EmotionSelector({ onEmotionSaved }: EmotionSelectorProps) { // 반응형 디자인을 위한 미디어 쿼리 훅 const isTablet = useMediaQuery('(min-width: 768px) and (max-width: 1024px)'); const isMobile = useMediaQuery('(max-width: 767px)'); @@ -26,6 +31,8 @@ function EmotionSelector() { // 현재 선택된 감정을 관리하는 useState 훅 const [selectedEmotion, setSelectedEmotion] = useState(null); + const [showToast, setShowToast] = useState(false); // State for controlling the toast + // 오늘의 감정을 조회하기 위한 훅 const { data: emotion, error: getError, isLoading: isGetLoading } = useGetEmotion(); // 감정을 저장하기 위한 훅 @@ -49,7 +56,9 @@ function EmotionSelector() { * 감정을 서버에 저장합니다. * @param iconType - 클릭된 감정의 타입 */ + const handleCardClick = async (iconType: EmotionType) => { + let emotionChanged = false; setStates((prevStates) => { const newStates = { ...prevStates }; @@ -63,6 +72,7 @@ function EmotionSelector() { Object.keys(newStates).forEach((key) => { newStates[key as EmotionType] = key === iconType ? 'Clicked' : 'Unclicked'; }); + emotionChanged = true; } return newStates; @@ -71,7 +81,14 @@ function EmotionSelector() { // 오늘의 감정 저장 postEmotionMutation.mutate(iconType, { onSuccess: (_, clickedIconType) => { - setSelectedEmotion(clickedIconType); + if (emotionChanged) { + setSelectedEmotion(clickedIconType); + setShowToast(true); + setTimeout(() => { + setShowToast(false); + onEmotionSaved(); + }, 1000); + } }, onError: (error: unknown) => { // eslint-disable-next-line @@ -103,7 +120,7 @@ function EmotionSelector() { ))}
{/* 감정이 선택되었을 때 토스트 메시지 표시 */} - {selectedEmotion && } + {showToast && selectedEmotion && } ); } diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx index d342347f..14df0b93 100644 --- a/src/components/Header/Header.tsx +++ b/src/components/Header/Header.tsx @@ -18,9 +18,10 @@ import SHARE_ICON from '../../../public/icon/share-icon.svg'; // NOTE isButton 일 경우 textInButton의 값을 무조건 지정해줘야 합니다. // NOTE SHARE_ICON 추가 시 토스트 기능도 사용하려면 해당 컴포넌트 아래 를 추가해주세요. +// TODO 새로 바뀐 피그마 시안으로 바꿀지 추후 결정 + export interface HeaderProps { icon: 'back' | 'search' | ''; - routerPage: string; isLogo: boolean; insteadOfLogo: string; isProfileIcon: boolean; @@ -31,10 +32,15 @@ export interface HeaderProps { onClick: (e: React.MouseEvent) => void; } -function Header({ isLogo, icon, insteadOfLogo, isButton, isProfileIcon, isShareIcon, textInButton, routerPage, disabled, onClick }: HeaderProps) { +function Header({ isLogo, icon, insteadOfLogo, isButton, isProfileIcon, isShareIcon, textInButton, disabled, onClick }: HeaderProps) { const router = useRouter(); const { toast } = useToast(); + // 뒤로가기 + const handleBack = () => { + router.back(); + }; + // 페이지 이동 함수 const handleNavigateTo = (path: string) => { router.push(path); @@ -65,7 +71,7 @@ function Header({ isLogo, icon, insteadOfLogo, isButton, isProfileIcon, isShareI
{icon === 'back' && ( - )} diff --git a/src/components/epigram/EditEpigram.tsx b/src/components/epigram/EditEpigram.tsx index 1b7e5f1a..35cbe728 100644 --- a/src/components/epigram/EditEpigram.tsx +++ b/src/components/epigram/EditEpigram.tsx @@ -121,18 +121,7 @@ function EditEpigram({ epigram }: EditEpigramProps) { return ( <> -
{}} - /> +
{}} />
diff --git a/src/components/main/RecentComment.tsx b/src/components/main/RecentComment.tsx index eefdad42..868b710b 100644 --- a/src/components/main/RecentComment.tsx +++ b/src/components/main/RecentComment.tsx @@ -1,25 +1,38 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import useGetRecentComments from '@/hooks/useGetRecentComments'; import CommentCard from '@/components/Card/CommentCard'; import type { CommentType } from '@/schema/recentcomment'; +import Image from 'next/image'; import LoadMoreButton from './LoadMoreButton'; +import spinner from '../../../public/spinner.svg'; function RecentComments() { const [comments, setComments] = useState([]); - const [limit, setLimit] = useState(3); - const { data, error, isLoading } = useGetRecentComments(limit); + const [cursor, setCursor] = useState(0); + const [limit, setLimit] = useState(3); + const [isLoadingMore, setIsLoadingMore] = useState(false); + const [shouldFetch, setShouldFetch] = useState(true); - React.useEffect(() => { - if (data?.list) { - setComments(data.list); + const { data, error, isLoading } = useGetRecentComments({ cursor, limit, enabled: shouldFetch }); + + useEffect(() => { + if (data) { + setComments((prevComments) => [...prevComments, ...data.list]); + if (data.list.length > 0) { + setCursor(data.list[data.list.length - 1].id); + } + setIsLoadingMore(false); + setShouldFetch(false); } }, [data]); - const handleLoadMore = () => { - setLimit((prevLimit) => prevLimit + 4); + const loadMore = () => { + setIsLoadingMore(true); + setLimit(4); + setShouldFetch(true); }; - if (isLoading) return

로딩 중...

; + if (isLoading && comments.length === 0) return

로딩 중...

; if (error) return

{error.message}

; return ( @@ -29,9 +42,14 @@ function RecentComments() { {comments.map((comment) => ( ))} - {data?.totalCount && comments.length < data.totalCount && ( -
- + {isLoadingMore && ( +
+ 로딩중 +
+ )} + {!isLoadingMore && data?.nextCursor !== null && ( +
+
)}
diff --git a/src/components/main/RecentEpigram.tsx b/src/components/main/RecentEpigram.tsx index 4fb4d1eb..64a167bd 100644 --- a/src/components/main/RecentEpigram.tsx +++ b/src/components/main/RecentEpigram.tsx @@ -1,31 +1,51 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import { useRouter } from 'next/router'; import useGetRecentEpigrams from '@/hooks/useGetRecentEpigrams'; import EpigramCard from '@/components/Card/EpigramCard'; import { RecentEpigramType } from '@/schema/recentEpigram'; +import Image from 'next/image'; import LoadMoreButton from './LoadMoreButton'; +import spinner from '../../../public/spinner.svg'; function RecentEpigrams() { const router = useRouter(); - const [limit, setLimit] = useState(3); - const { data, error, isLoading } = useGetRecentEpigrams(limit); + const [epigrams, setEpigrams] = useState([]); + const [cursor, setCursor] = useState(0); + const [limit, setLimit] = useState(3); + const [isLoadingMore, setIsLoadingMore] = useState(false); + const [shouldFetch, setShouldFetch] = useState(true); + + const { data, error, isLoading } = useGetRecentEpigrams({ cursor, limit, enabled: shouldFetch }); + + useEffect(() => { + if (data) { + setEpigrams((prevEpigrams) => [...prevEpigrams, ...data.list]); + if (data.list.length > 0) { + setCursor(data.list[data.list.length - 1].id); + } + setIsLoadingMore(false); + setShouldFetch(false); + } + }, [data]); const handleEpigramClick = (id: number) => { router.push(`/epigrams/${id}`); }; const loadMore = () => { - setLimit((prevLimit) => prevLimit + 5); + setIsLoadingMore(true); + setLimit(5); + setShouldFetch(true); }; - if (isLoading) return

로딩 중...

; + if (isLoading && epigrams.length === 0) return

로딩 중...

; if (error) return

{error.message}

; return (

최신 에피그램

- {data?.list.map((epigram: RecentEpigramType) => ( + {epigrams.map((epigram: RecentEpigramType) => (
handleEpigramClick(epigram.id)} @@ -40,7 +60,12 @@ function RecentEpigrams() {
))} - {data && limit < data.totalCount && ( + {isLoadingMore && ( +
+ 로딩중 +
+ )} + {!isLoadingMore && data?.nextCursor !== null && (
diff --git a/src/components/main/TodayEmotion.tsx b/src/components/main/TodayEmotion.tsx index 57b9575c..7145f867 100644 --- a/src/components/main/TodayEmotion.tsx +++ b/src/components/main/TodayEmotion.tsx @@ -1,12 +1,19 @@ -import React from 'react'; +import React, { useState } from 'react'; import EmotionSelector from '../Emotion/EmotionSelector'; function TodayEmotion() { + const [isVisible, setIsVisible] = useState(true); + + const handleEmotionSaved = () => { + setIsVisible(false); + }; + + if (!isVisible) return null; return (

오늘의 감정

- ; +
); diff --git a/src/components/main/TodayEpigram.tsx b/src/components/main/TodayEpigram.tsx index ea967782..02876e8b 100644 --- a/src/components/main/TodayEpigram.tsx +++ b/src/components/main/TodayEpigram.tsx @@ -13,7 +13,7 @@ function TodayEpigram() {

오늘의 에피그램

- ; +
); diff --git a/src/components/ui/toast.tsx b/src/components/ui/toast.tsx index 01e6c912..f1dee4bb 100644 --- a/src/components/ui/toast.tsx +++ b/src/components/ui/toast.tsx @@ -21,7 +21,7 @@ const toastVariants = cva( { variants: { variant: { - default: 'border bg-background text-foreground', + default: 'border bg-white text-foreground', destructive: 'destructive group border-destructive bg-destructive text-destructive-foreground', }, }, diff --git a/src/hooks/useGetRecentComments.ts b/src/hooks/useGetRecentComments.ts index 443938a9..40ce3824 100644 --- a/src/hooks/useGetRecentComments.ts +++ b/src/hooks/useGetRecentComments.ts @@ -2,10 +2,11 @@ import { useQuery } from '@tanstack/react-query'; import getRecentComments from '@/apis/getRecentComments'; import { GetRecentCommentsResponseType } from '@/schema/recentcomment'; -const useGetRecentComments = (limit: number) => +const useGetRecentComments = ({ cursor, limit, enabled }: { cursor: number; limit: number; enabled: boolean }) => useQuery({ - queryKey: ['recentComments', limit], - queryFn: () => getRecentComments(limit), + queryKey: ['recentComments', cursor, limit], + queryFn: () => getRecentComments(cursor, limit), + enabled, }); export default useGetRecentComments; diff --git a/src/hooks/useGetRecentEpigrams.ts b/src/hooks/useGetRecentEpigrams.ts index beaaa314..19f862f9 100644 --- a/src/hooks/useGetRecentEpigrams.ts +++ b/src/hooks/useGetRecentEpigrams.ts @@ -2,10 +2,11 @@ import { useQuery } from '@tanstack/react-query'; import getRecentEpigrams from '@/apis/getRecentEpigrams'; import { GetRecentEpigramsResponseType } from '@/schema/recentEpigram'; -const useGetRecentEpigrams = (limit: number) => +const useGetRecentEpigrams = ({ cursor, limit, enabled }: { cursor: number | null; limit: number; enabled: boolean }) => useQuery({ - queryKey: ['recentEpigrams', limit], - queryFn: () => getRecentEpigrams(limit), + queryKey: ['recentEpigrams', cursor, limit], + queryFn: () => getRecentEpigrams(cursor, limit), + enabled, }); export default useGetRecentEpigrams; diff --git a/src/pageLayout/About/AboutPageLayout.tsx b/src/pageLayout/About/AboutPageLayout.tsx new file mode 100644 index 00000000..66f7ea3a --- /dev/null +++ b/src/pageLayout/About/AboutPageLayout.tsx @@ -0,0 +1,142 @@ +import React from 'react'; +import Image from 'next/image'; +import Header from '@/components/Header/Header'; +import StartButton from './StartButton'; + +function AboutLayout() { + return ( + <> +
{}} /> +
+
+
+
+
+ 나만 갖고 있기엔 +
+ 아까운 글이 있지 않나요? +
+
+ 다른 사람들과 감정을 공유해 보세요. +
+
+ 시작하기 +
+
+
더 알아보기
+
+ Arrow Down Icon +
+
+
+ +
+
+ Epigram Mobile +
+
+ Epigram Tablet +
+
+ Epigram Desktop +
+
+
+ 명언이나 글귀,
+ 토막 상식들을 공유해 보세요. +
+
+ 나만 알던 소중한 글들을 +
+ 다른 사람들에게 전파하세요. +
+
+
+ +
+
+
+ Epigram Mobile +
+
+ Epigram Tablet +
+
+ Epigram Desktop +
+
+
+
+ 감정 상태에 따라, +
+ 알맞은 위로를 받을 수 있어요. +
+
태그를 통해 글을 모아 볼 수 있어요.
+
+
+ +
+
+ Epigram Mobile +
+
+ Epigram Tablet +
+
+ Epigram Desktop +
+
+
+ 내가 요즘 어떤 감정 상태인지 +
+ 통계로 한눈에 볼 수 있어요. +
+
+ 감정 달력으로 +
내 마음에 담긴 감정을 확인해보세요 +
+
+
+
+
+
+
+
+ 사용자들이 직접 +
+ 인용한 에피그램들 +
+
+ Epigram Mobile +
+
+ Epigram Tablet +
+
+ Epigram Desktop +
+
+
+
+ +
+
+
+
+ Epigram Logo +
+
+ Epigram Logo +
+
+ Epigram Logo +
+
+ 시작하기 +
+
+ + ); +} + +export default AboutLayout; diff --git a/src/pageLayout/About/StartButton.tsx b/src/pageLayout/About/StartButton.tsx new file mode 100644 index 00000000..039a5294 --- /dev/null +++ b/src/pageLayout/About/StartButton.tsx @@ -0,0 +1,43 @@ +import React from 'react'; +import { useRouter } from 'next/router'; +import { getMe } from '@/apis/user'; + +interface StartButtonProps { + className?: string; + children: React.ReactNode; +} + +function StartButton({ className = '', children }: StartButtonProps) { + const router = useRouter(); + + const handleClick = async () => { + try { + const user = await getMe(); + if (user) { + router.push('/epigrams'); + } else { + router.push('/auth/SignIn'); + } + } catch (error) { + router.push('/auth/SignIn'); + } + }; + + return ( + + ); +} + +export default StartButton; diff --git a/src/pageLayout/Epigram/AddEpigram.tsx b/src/pageLayout/Epigram/AddEpigram.tsx index 5738f1d4..97391b8f 100644 --- a/src/pageLayout/Epigram/AddEpigram.tsx +++ b/src/pageLayout/Epigram/AddEpigram.tsx @@ -106,7 +106,7 @@ function AddEpigram() { return ( <> -
{}} /> +
{}} />
diff --git a/src/pageLayout/Epigrams/MainLayout.tsx b/src/pageLayout/Epigrams/MainLayout.tsx index ab5baa66..b805fec6 100644 --- a/src/pageLayout/Epigrams/MainLayout.tsx +++ b/src/pageLayout/Epigrams/MainLayout.tsx @@ -9,7 +9,7 @@ import FAB from '@/components/main/FAB'; function MainLayout() { return ( <> -
{}} /> +
{}} />
diff --git a/src/pageLayout/MypageLayout/MyPageLayout.tsx b/src/pageLayout/MypageLayout/MyPageLayout.tsx index b011c11f..fd1e8763 100644 --- a/src/pageLayout/MypageLayout/MyPageLayout.tsx +++ b/src/pageLayout/MypageLayout/MyPageLayout.tsx @@ -27,7 +27,7 @@ export default function MyPageLayout() { return (
-
{}} /> +
{}} />
diff --git a/src/pageLayout/SearchLayout/SearchLayout.tsx b/src/pageLayout/SearchLayout/SearchLayout.tsx index 02c68db9..e83b7785 100644 --- a/src/pageLayout/SearchLayout/SearchLayout.tsx +++ b/src/pageLayout/SearchLayout/SearchLayout.tsx @@ -100,7 +100,7 @@ function SearchLayout() { return ( <> -
{}} />; +
{}} />;
diff --git a/src/pages/epigrams/[id]/index.tsx b/src/pages/epigrams/[id]/index.tsx index 9f5424ae..ffbd6f79 100644 --- a/src/pages/epigrams/[id]/index.tsx +++ b/src/pages/epigrams/[id]/index.tsx @@ -22,7 +22,7 @@ function DetailPage() { return (
-
{}} /> +
{}} />
diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 68954158..a978cc2f 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,98 +1,7 @@ -import React from 'react'; -import Link from 'next/link'; -import Image from 'next/image'; -import { Button } from '@/components/ui/button'; +import AboutLayout from '@/pageLayout/About/AboutPageLayout'; -export default function Home() { - return ( -
- {/* Header */} -
-
-
-
- 나만 갖고 있기엔 -
- 아까운 글이 있지 않나요? -
-
다른 사람들과 감정을 공유해 보세요.
-
- - - -
-
-
더 알아보기
-
- Arrow Down Icon -
-
-
- -
- placeholder -
-
- 명언이나 글귀,
- 토막 상식들을 공유해 보세요. -
-
- 나만 알던 소중한 글들을 -
- 다른 사람들에게 전파하세요. -
-
-
- -
-
-
- 감정 상태에 따라, -
- 알맞은 위로를 받을 수 있어요. -
-
태그를 통해 글을 모아 볼 수 있어요.
-
- placeholder -
- -
- placeholder -
-
- 내가 요즘 어떤 감정 상태인지 -
- 통계로 한눈에 볼 수 있어요. -
-
- 감정 달력으로 -
내 마음에 담긴 감정을 확인해보세요 -
-
-
- -
-
- 사용자들이 직접 -
- 인용한 에피그램들 -
- placeholder - -
-
-
- Epigram Logo -
- - - -
-
-
- ); +function AboutPage() { + return ; } + +export default AboutPage; diff --git a/src/schema/recentEpigram.ts b/src/schema/recentEpigram.ts index 899fcc7f..fe664e60 100644 --- a/src/schema/recentEpigram.ts +++ b/src/schema/recentEpigram.ts @@ -18,7 +18,7 @@ const RecentEpigramSchema = z.object({ export const GetRecentEpigramsResponseSchema = z.object({ totalCount: z.number(), - nextCursor: z.number(), + nextCursor: z.number().nullable(), list: z.array(RecentEpigramSchema), }); diff --git a/tailwind.config.js b/tailwind.config.js index a8b08d2c..7274ffb8 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -50,18 +50,15 @@ module.exports = { 'sub-gray_2': '#E3E9F1', 'sub-gray_3': '#EFF3F8', }, - boxShadow: { - '3xl': '0px 0px 36px 0px rgba(0, 0, 0, 0.05)', - }, screens: { - sm: '640px', - md: '768px', - lg: '1024px', - xl: '1280px', + 'sm': '640px', + 'md': '768px', + 'lg': '1024px', + 'xl': '1280px', '2xl': '1536px', }, backgroundImage: { - stripes: 'repeating-linear-gradient(to bottom, #ffffff, #ffffff 23px, #e5e7eb 23px, #e5e7eb 24px)', + 'stripes': 'repeating-linear-gradient(to bottom, #ffffff, #ffffff 23px, #e5e7eb 23px, #e5e7eb 24px)', }, }, },