Compare commits
2 Commits
989d1c0546
...
52175cdeab
| Author | SHA1 | Date | |
|---|---|---|---|
| 52175cdeab | |||
| d2570b9228 |
@@ -64,8 +64,8 @@ export default function Home() {
|
|||||||
queryKey: ['tracks', filters, page, sortBy, searchQuery],
|
queryKey: ['tracks', filters, page, sortBy, searchQuery],
|
||||||
queryFn: () => getTracks({
|
queryFn: () => getTracks({
|
||||||
...filters,
|
...filters,
|
||||||
skip: page * limit,
|
skip: searchQuery ? 0 : page * limit, // Reset skip when searching
|
||||||
limit: searchQuery ? 10000 : limit, // Load more for search to work across all results
|
limit: searchQuery ? 500 : limit, // Load max 500 for search
|
||||||
sort_by: sortBy
|
sort_by: sortBy
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
@@ -377,7 +377,7 @@ export default function Home() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Pagination */}
|
{/* Pagination */}
|
||||||
{totalPages > 1 && (
|
{!searchQuery && totalPages > 1 && (
|
||||||
<div className="mt-8 flex items-center justify-between">
|
<div className="mt-8 flex items-center justify-between">
|
||||||
<button
|
<button
|
||||||
onClick={() => setPage(p => Math.max(0, p - 1))}
|
onClick={() => setPage(p => Math.max(0, p - 1))}
|
||||||
@@ -402,6 +402,14 @@ export default function Home() {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* Search results count */}
|
||||||
|
{searchQuery && (
|
||||||
|
<div className="mt-4 text-center text-sm text-slate-600">
|
||||||
|
{filteredTracks.length} résultat{filteredTracks.length > 1 ? 's' : ''} trouvé{filteredTracks.length > 1 ? 's' : ''}
|
||||||
|
{tracksData && tracksData.tracks.length >= 500 && ' (recherche limitée aux 500 premiers résultats)'}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -60,7 +60,12 @@ function getApiClient() {
|
|||||||
|
|
||||||
// Tracks
|
// Tracks
|
||||||
export async function getTracks(params: FilterParams & { skip?: number; limit?: number }): Promise<TracksResponse> {
|
export async function getTracks(params: FilterParams & { skip?: number; limit?: number }): Promise<TracksResponse> {
|
||||||
const response = await getApiClient().get('/api/tracks', { params })
|
const response = await getApiClient().get('/api/tracks', {
|
||||||
|
params,
|
||||||
|
paramsSerializer: {
|
||||||
|
indexes: null, // Use instruments=value1&instruments=value2 instead of instruments[0]=value1
|
||||||
|
}
|
||||||
|
})
|
||||||
return response.data
|
return response.data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user