File tree Expand file tree Collapse file tree 3 files changed +48
-8
lines changed Expand file tree Collapse file tree 3 files changed +48
-8
lines changed Original file line number Diff line number Diff line change 1+ import client from './client' ;
2+
3+ export interface UnreadLetters {
4+ data : number ;
5+ message : string ;
6+ timestamp : string ;
7+ }
8+
9+ export const getUnreadLettersCount = async ( ) : Promise < UnreadLetters > => {
10+ try {
11+ const response = await client . get ( '/api/letters/unread/count' ) ;
12+ console . log ( '📩 안 읽은 편지 개수 데이터' , response ) ;
13+ return response . data ;
14+ } catch ( error ) {
15+ console . error ( '❌안 읽은 편지 개수를 받아오던 중 에러가 발생했습니다' , error ) ;
16+ throw new Error ( '안 읽은 편지 개수 조회 실패' ) ;
17+ }
18+ } ;
Original file line number Diff line number Diff line change 1- import { useEffect } from 'react' ;
1+ import { useEffect , useState } from 'react' ;
22
3- import { useIncomingLettersStore } from '@/stores/incomingLettersStore ' ;
3+ import { getUnreadLettersCount } from '@/apis/unreadLetters ' ;
44
55import FloatingLetters from './FloatingLetters' ;
66import GoToLetterBoard from './GoToLetterBoard' ;
77import GoToLetterBox from './GoToLetterBox' ;
88import NewLetterModal from './NewLetterModal' ;
99
1010const HomeRight = ( ) => {
11- const { arrivedCount, fetchIncomingLetters } = useIncomingLettersStore ( ) ;
11+ const [ arrivedCount , setArrivedCount ] = useState < number > ( 0 ) ;
12+
1213 useEffect ( ( ) => {
13- fetchIncomingLetters ( ) ;
14- } , [ fetchIncomingLetters ] ) ;
14+ const fetchUnreadCount = async ( ) => {
15+ try {
16+ const result = await getUnreadLettersCount ( ) ;
17+ setArrivedCount ( result . data ) ;
18+ } catch ( error ) {
19+ console . error ( '❌ 안 읽은 편지 개수를 불러오는 데 실패했습니다:' , error ) ;
20+ }
21+ } ;
22+ fetchUnreadCount ( ) ;
23+ } , [ ] ) ;
1524
1625 return (
1726 < div className = "flex h-screen w-full max-w-150 min-w-[300px] flex-shrink-0 grow snap-start flex-col items-center overflow-x-hidden pt-5" >
Original file line number Diff line number Diff line change 1- import { useIncomingLettersStore } from '@/stores/incomingLettersStore' ;
1+ import { useEffect , useState } from 'react' ;
2+
3+ import { getUnreadLettersCount } from '@/apis/unreadLetters' ;
24
3- //TODO: 내 편지함 상세 조회에서 해당 편지를 조회하면 arrivedCount가 1 감소하도록
45const NewLetterModal = ( ) => {
5- const arrivedCount = useIncomingLettersStore ( ( state ) => state . arrivedCount ) ;
6+ const [ arrivedCount , setArrivedCount ] = useState < number > ( 0 ) ;
7+
8+ useEffect ( ( ) => {
9+ const fetchUnreadCount = async ( ) => {
10+ try {
11+ const result = await getUnreadLettersCount ( ) ;
12+ setArrivedCount ( result . data ) ;
13+ } catch ( error ) {
14+ console . error ( '❌ 안 읽은 편지 개수를 불러오는 데 실패했습니다:' , error ) ;
15+ }
16+ } ;
17+ fetchUnreadCount ( ) ;
18+ } , [ ] ) ;
619
720 return (
821 < p className = "text-gray-60 body-b absolute top-30 mb-10 w-fit animate-pulse rounded-full bg-white px-6 py-4" >
You can’t perform that action at this time.
0 commit comments