From 40c60a5f748b6160c0dfd3025c1c805e9f22f11b Mon Sep 17 00:00:00 2001 From: neil Date: Tue, 27 Dec 2022 12:52:15 +0800 Subject: [PATCH] #106 move specialized endpont usage into centralized posts store --- .../EssentialWorkshops/EssentialWorkshops.svelte | 7 ++----- .../FeaturedCourses/FeaturedCourses.svelte | 16 ++++++++++------ modules/gui/src/components/News/News.svelte | 7 ++----- modules/gui/src/libs/stores.ts | 6 ++++++ 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/modules/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte b/modules/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte index d559d35..1d64133 100644 --- a/modules/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte +++ b/modules/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte @@ -1,17 +1,14 @@ diff --git a/modules/gui/src/components/FeaturedCourses/FeaturedCourses.svelte b/modules/gui/src/components/FeaturedCourses/FeaturedCourses.svelte index 7e76fe8..68ffc6e 100644 --- a/modules/gui/src/components/FeaturedCourses/FeaturedCourses.svelte +++ b/modules/gui/src/components/FeaturedCourses/FeaturedCourses.svelte @@ -1,17 +1,21 @@ diff --git a/modules/gui/src/components/News/News.svelte b/modules/gui/src/components/News/News.svelte index 800aa9f..7b24eed 100644 --- a/modules/gui/src/components/News/News.svelte +++ b/modules/gui/src/components/News/News.svelte @@ -1,17 +1,14 @@ diff --git a/modules/gui/src/libs/stores.ts b/modules/gui/src/libs/stores.ts index 4a23a6b..acedd96 100644 --- a/modules/gui/src/libs/stores.ts +++ b/modules/gui/src/libs/stores.ts @@ -113,6 +113,12 @@ function initPosts() { const res = postsIndex.search(term, { limit }); const matchingPosts: AirtablePost[] = res.map((v) => v.item); return matchingPosts; + }, + subscribeByTag: (tag: string, cb: (posts: AirtablePost[]) => void) => { + subscribe((newPosts: AirtablePost[]) => { + const filteredPosts = newPosts.filter((post) => post.tags.includes(tag)); + cb(filteredPosts); + }); } }; }