@@ -8,7 +8,7 @@ import { FaChevronLeft, FaChevronRight } from 'react-icons/fa6';
8
8
import ConfirmDialog from '@/components/shared/confirm' ;
9
9
import EmojiPicker from '@/components/shared/Review/emojipicker' ;
10
10
import Skeleton from '@/components/skeleton/skeleton' ;
11
- import { IReviewOutput } from '@/constants/types' ;
11
+ import { IReviewOutput , ReviewInt } from '@/constants/types' ;
12
12
import { fetchSingleReview } from '@/services/reviewsApi' ;
13
13
import { resolveDate } from '@/utils/date' ;
14
14
import { resolveRating } from '../../util/ratingUtils' ;
@@ -24,20 +24,6 @@ interface ReplyToReviewPageProps {
24
24
} ;
25
25
}
26
26
27
- interface ReviewInt {
28
- heading : string ;
29
- date : string ;
30
- time : string ;
31
- giver : string ;
32
- receiver : string ;
33
- reviewId : string ;
34
- receiverId : string ;
35
- giverId : string ;
36
- reaction : string ;
37
- unicode : string ;
38
- image : string ;
39
- }
40
-
41
27
export default function ReplyToReviewPage ( { params, searchParams } : ReplyToReviewPageProps ) {
42
28
const t = useTranslations ( ) ;
43
29
const router = useRouter ( ) ;
@@ -51,9 +37,7 @@ export default function ReplyToReviewPage({ params, searchParams }: ReplyToRevie
51
37
const [ currentIndex , setCurrentIndex ] = useState < number > ( 0 ) ;
52
38
const [ loading , setLoading ] = useState < boolean > ( true ) ;
53
39
const [ error , setError ] = useState < string | null > ( null ) ;
54
- const [ direction , setDirection ] = useState ( '' ) ;
55
- const [ reload , setReload ] = useState < boolean > ( false ) ;
56
- const { currentUser, autoLoginUser } = useContext ( AppContext ) ;
40
+ const { currentUser, autoLoginUser, reload, setReload } = useContext ( AppContext ) ;
57
41
58
42
const processReviews = ( data : IReviewOutput [ ] ) : ReviewInt [ ] => {
59
43
return data . map ( ( feedback ) => {
@@ -83,10 +67,9 @@ export default function ReplyToReviewPage({ params, searchParams }: ReplyToRevie
83
67
}
84
68
85
69
const getReviewData = async ( ) => {
86
- setLoading ( true ) ;
87
70
try {
88
71
logger . info ( `Fetching review data for review ID: ${ reviewId } ` ) ;
89
- setReload ( false )
72
+ setError ( null ) ;
90
73
const data = await fetchSingleReview ( reviewId ) ;
91
74
92
75
if ( data . review ) {
@@ -104,6 +87,7 @@ export default function ReplyToReviewPage({ params, searchParams }: ReplyToRevie
104
87
setError ( 'Error fetching review. Please try again later.' ) ;
105
88
} finally {
106
89
setLoading ( false ) ;
90
+ setReload ( false ) ;
107
91
}
108
92
} ;
109
93
@@ -113,14 +97,12 @@ export default function ReplyToReviewPage({ params, searchParams }: ReplyToRevie
113
97
// Scroll functions
114
98
const prevSlide = ( ) => {
115
99
if ( reviews . length > 1 && currentIndex > 0 ) {
116
- setDirection ( 'left' ) ; // Swipe to the left
117
100
setCurrentIndex ( ( prevIndex ) => prevIndex - 1 ) ;
118
101
}
119
102
} ;
120
103
121
104
const nextSlide = ( ) => {
122
105
if ( reviews . length > 1 && currentIndex < reviews . length - 1 ) {
123
- setDirection ( 'right' ) ; // Swipe to the right
124
106
setCurrentIndex ( ( prevIndex ) => prevIndex + 1 ) ;
125
107
}
126
108
} ;
0 commit comments