From 2537d35b1e309f8ffd6982b07656bd4bd78eabec Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 23 Dec 2022 11:55:53 +0800 Subject: [PATCH] #53 finalize reviews layout --- .../PackageReviews/PackageReviews.svelte | 17 ++++++++++---- modules/gui/src/libs/api/mock.ts | 2 +- modules/gui/src/libs/api/tauri.ts | 5 +++-- .../src/routes/packages/[slug]/+page.svelte | 22 +++++++++---------- 4 files changed, 27 insertions(+), 19 deletions(-) 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 @@