1- import { useEffect } from "react" ;
1+ import { useEffect , useState } from "react" ;
22import { Badge , Card , ListGroup } from "react-bootstrap" ;
33import { useDispatch , useSelector } from "react-redux" ;
44import { useParams } from "react-router" ;
@@ -12,7 +12,20 @@ import Mistaken from "./mistaken.jsx";
1212export default function FindPage ( ) {
1313 const dispatch = useDispatch ( ) ;
1414 const { slugdata : findtext } = useParams ( ) ;
15- const { data : dict , isLoading, error } = useRetrieveDiscoverQuery ( findtext , { skip : false } ) ;
15+ const [ badgePage , setBadgePage ] = useState ( 1 ) ;
16+ const [ userPage , setUserPage ] = useState ( 1 ) ;
17+ const { data : dict , isLoading, error } = useRetrieveDiscoverQuery ( {
18+ discover : findtext ,
19+ page_badges : badgePage ,
20+ page_users : userPage ,
21+ per_page : 10 ,
22+ } ,
23+ { skip : false }
24+ ) ;
25+ useEffect ( ( ) => {
26+ setBadgePage ( 1 ) ;
27+ setUserPage ( 1 ) ;
28+ } , [ findtext ] ) ;
1629 const vibe = useSelector ( ( data ) => data . area . vibe ) ;
1730
1831 // Show or Hide LoadNote
@@ -52,7 +65,7 @@ export default function FindPage() {
5265 < Card . Title className = "mb-0 ps-2 dataelem" style = { { textTransform : "capitalize" } } >
5366 Badges
5467 </ Card . Title >
55- < Card . Text className = "mb-0 ps-2 small" > Found { dict . badges . length } badge(s)</ Card . Text >
68+ < Card . Text className = "mb-0 ps-2 small" > Found { dict . pagination ?. badges_total } badge(s)</ Card . Text >
5669 < hr className = "mt-2 mb-0" />
5770 < ListGroup variant = "flush" >
5871 { dict . badges . length > 0 ? (
@@ -74,6 +87,21 @@ export default function FindPage() {
7487 < VertItem head = "No badges found" body = "Try refining your search" />
7588 ) }
7689 </ ListGroup >
90+ < div className = "d-flex justify-content-between p-2" >
91+ < button
92+ disabled = { ! dict ?. pagination ?. badges ?. has_prev }
93+ onClick = { ( ) => setBadgePage ( ( prev ) => prev - 1 ) }
94+ >
95+ Previous
96+ </ button >
97+
98+ < button
99+ disabled = { ! dict ?. pagination ?. badges ?. has_next }
100+ onClick = { ( ) => setBadgePage ( ( prev ) => prev + 1 ) }
101+ >
102+ Next
103+ </ button >
104+ </ div >
77105 </ Card . Body >
78106 </ Card >
79107 < Card className = "mb-2 vibe-border" style = { { "--vibe" : vibe } } >
@@ -103,6 +131,21 @@ export default function FindPage() {
103131 < VertItem head = "No users found" body = "Try refining your search" />
104132 ) }
105133 </ ListGroup >
134+ < div className = "d-flex justify-content-between p-2" >
135+ < button
136+ disabled = { ! dict ?. pagination ?. users ?. has_prev }
137+ onClick = { ( ) => setUserPage ( ( prev ) => prev - 1 ) }
138+ >
139+ Previous
140+ </ button >
141+
142+ < button
143+ disabled = { ! dict ?. pagination ?. users ?. has_next }
144+ onClick = { ( ) => setUserPage ( ( prev ) => prev + 1 ) }
145+ >
146+ Next
147+ </ button >
148+ </ div >
106149 </ Card . Body >
107150 </ Card >
108151 </ div >
0 commit comments