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);
+ });
}
};
}