diff --git a/src/app/page.test.tsx b/src/app/page.test.tsx --- a/src/app/page.test.tsx +++ b/src/app/page.test.tsx @@ -78,7 +78,8 @@ it('renders recent topics', async () => { const page = await HomePage() render(page) - expect(screen.getByText('Welcome to Barazo Forums')).toBeInTheDocument() + const matches = screen.getAllByText('Welcome to Barazo Forums') + expect(matches.length).toBeGreaterThan(0) }) it('renders category navigation', async () => { diff --git a/src/app/page.tsx b/src/app/page.tsx --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -25,14 +25,16 @@ export default async function HomePage() { let categoriesResult: CategoriesResponse = { categories: [] } - let topicsResult: TopicsResponse = { topics: [], cursor: null } + let recentTopics: TopicsResponse = { topics: [], cursor: null } + let popularTopics: TopicsResponse = { topics: [], cursor: null } let publicSettings: PublicSettings | null = null let apiError = false try { - ;[categoriesResult, topicsResult, publicSettings] = await Promise.all([ + ;[categoriesResult, recentTopics, popularTopics, publicSettings] = await Promise.all([ getCategories(), - getTopics({ limit: 20, sort: 'latest' }), + getTopics({ limit: 10, sort: 'latest' }), + getTopics({ limit: 10, sort: 'popular' }), getPublicSettings(), ]) } catch { @@ -96,7 +98,14 @@ )} {/* Recent Topics */} - + + + {/* Popular Topics */} + {popularTopics.topics.length > 0 && ( +
+ +
+ )} )}