diff --git a/modules/gui/src/components/PackageReviews/PackageReviews.svelte b/modules/gui/src/components/PackageReviews/PackageReviews.svelte index bf765b7..d7d6a11 100644 --- a/modules/gui/src/components/PackageReviews/PackageReviews.svelte +++ b/modules/gui/src/components/PackageReviews/PackageReviews.svelte @@ -6,8 +6,12 @@ import type { Review } from '@tea/ui/types'; export let reviews: Review[]; + export let showLimit = 9; + let showMore = false; + const getColReviews = (n: number) => { - return reviews.filter((_item, i) => (i - n) % 3 === 0); + const showReviews = reviews.filter((_item, i) => (i - n) % 3 === 0); + return showMore ? showReviews : showReviews.slice(0, showLimit / 3); }; let col1: Review[] = []; @@ -26,22 +30,27 @@
REVIEWS ({reviews.length})
-
+
{#each col1 as review}
{/each}
-
+
{#each col2 as review}
{/each}
-
+
{#each col3 as review}
{/each}
+{#if showLimit <= reviews.length && showMore === false} + +{/if} diff --git a/modules/gui/src/libs/api/mock.ts b/modules/gui/src/libs/api/mock.ts index ac91c9e..89f2c1b 100644 --- a/modules/gui/src/libs/api/mock.ts +++ b/modules/gui/src/libs/api/mock.ts @@ -172,7 +172,7 @@ export async function getFeaturedPackages(): Promise { export async function getPackageReviews(full_name: string): Promise { console.log(`generating reviews for ${full_name}`); - const reviewCount = _.random(7, 21); + const reviewCount = _.random(9, 21); const reviews: Review[] = []; for (let i = 0; i < reviewCount; i++) { diff --git a/modules/gui/src/libs/api/tauri.ts b/modules/gui/src/libs/api/tauri.ts index af8e6d3..e94c21d 100644 --- a/modules/gui/src/libs/api/tauri.ts +++ b/modules/gui/src/libs/api/tauri.ts @@ -71,8 +71,9 @@ export async function getFeaturedPackages(): Promise { export async function getPackageReviews(full_name: string): Promise { console.log(`getting reviews for ${full_name}`); - const reviews: Review[] = await mock.getPackageReviews(full_name); - + const reviews: Review[] = await get( + `packages/${full_name.replaceAll('/', ':')}/reviews` + ); return reviews; } diff --git a/modules/gui/src/routes/packages/[slug]/+page.svelte b/modules/gui/src/routes/packages/[slug]/+page.svelte index d6bc051..ee5eacb 100644 --- a/modules/gui/src/routes/packages/[slug]/+page.svelte +++ b/modules/gui/src/routes/packages/[slug]/+page.svelte @@ -1,9 +1,10 @@