diff --git a/materialious/src/lib/api/youtubejs/subscriptions.ts b/materialious/src/lib/api/youtubejs/subscriptions.ts index 7cc1e2f4..e3dd1de2 100644 --- a/materialious/src/lib/api/youtubejs/subscriptions.ts +++ b/materialious/src/lib/api/youtubejs/subscriptions.ts @@ -142,6 +142,10 @@ export async function parseChannelRSS(channelId: string): Promise { } } +export async function clearFeedYTjs() { + await localDb.subscriptionFeed.clear(); +} + export async function getFeedYTjs(maxResults: number, page: number): Promise { let channelSubscriptions: ChannelSubscriptions[]; diff --git a/materialious/src/routes/(app)/+layout.svelte b/materialious/src/routes/(app)/+layout.svelte index ffd9bdc0..30a6f769 100644 --- a/materialious/src/routes/(app)/+layout.svelte +++ b/materialious/src/routes/(app)/+layout.svelte @@ -44,6 +44,7 @@ import Author from '$lib/components/Author.svelte'; import Toast from '$lib/components/Toast.svelte'; import { isOwnBackend } from '$lib/shared'; + import { clearFeedYTjs } from '$lib/api/youtubejs/subscriptions'; let { children } = $props(); @@ -187,10 +188,14 @@ loginError = true; } - function logout() { - if (isOwnBackend()?.internalAuth && isYTBackend()) { - rawMasterKeyStore.set(undefined); - fetch('/api/user/logout', { method: 'DELETE' }); + async function logout() { + if (isYTBackend()) { + await clearFeedYTjs(); + + if (isOwnBackend()?.internalAuth) { + rawMasterKeyStore.set(undefined); + fetch('/api/user/logout', { method: 'DELETE' }); + } } authStore.set(null);