This commit is contained in:
2026-02-12 19:59:03 +08:00
parent 1f1516ae20
commit d049f682f5
3 changed files with 252 additions and 8 deletions

View File

@@ -30,8 +30,8 @@ const ForumList = () => {
getAnnouncements(),
getStarUsers()
])
setAnnouncements(announceRes.results || announceRes.data || [])
setStarUsers(starRes.data || [])
setAnnouncements(Array.isArray(announceRes) ? announceRes : (announceRes.results || announceRes.data || []))
setStarUsers(Array.isArray(starRes) ? starRes : (starRes.data || []))
} catch (err) {
console.error('Fetch extra data failed', err)
}
@@ -54,7 +54,16 @@ const ForumList = () => {
}
const res = await getTopics(params)
const newTopics = res.results || res.data || [] // Adjust based on API response structure
let newTopics: any[] = []
let hasNextPage = false
if (Array.isArray(res)) {
newTopics = res
hasNextPage = false
} else {
newTopics = res.results || res.data || []
hasNextPage = !!res.next
}
if (reset) {
setTopics(newTopics)
@@ -62,12 +71,9 @@ const ForumList = () => {
setTopics(prev => [...prev, ...newTopics])
}
// Check if more data exists (assuming standard pagination)
if (res.next || newTopics.length === 10) { // 10 is default page size usually
setHasMore(true)
setHasMore(hasNextPage)
if (hasNextPage) {
setPage(currentPage + 1)
} else {
setHasMore(false)
}
} catch (error) {
console.error(error)