From 0ac94efb6a330066a180f521f5388c90b176532a Mon Sep 17 00:00:00 2001 From: Bojan Mojsilovic Date: Mon, 6 Nov 2023 15:54:54 +0100 Subject: [PATCH] Fix for settings reset --- src/contexts/SettingsContext.tsx | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/contexts/SettingsContext.tsx b/src/contexts/SettingsContext.tsx index 836b43a..9eef415 100644 --- a/src/contexts/SettingsContext.tsx +++ b/src/contexts/SettingsContext.tsx @@ -339,7 +339,8 @@ export const SettingsProvider = (props: { children: ContextChildren }) => { getDefaultSettings(subid) }; - const loadSettings = (pubkey: string | undefined) => { + const loadSettings = (pubkey: string | undefined, then?: () => void) => { + if (!pubkey) { return; } @@ -439,6 +440,7 @@ export const SettingsProvider = (props: { children: ContextChildren }) => { updateStore('defaultFeed', () => store.availableFeeds[0]); + then && then(); unsub(); return; }); @@ -516,23 +518,22 @@ export const SettingsProvider = (props: { children: ContextChildren }) => { // addAvailableFeed(trendingFeed, true, false); // } - const fwr = initFeeds?.find(f => f.hex === feedLatestWithReplies.hex && f.includeReplies === feedLatestWithReplies.includeReplies); + loadSettings(publicKey, () => { + const fwr = initFeeds?.find(f => f.hex === feedLatestWithReplies.hex && f.includeReplies === feedLatestWithReplies.includeReplies); - // Add active user's feed if it's missing - // @ts-ignore - if (!fwr) { - addAvailableFeed(feedLatestWithReplies, true, false); - } + // Add active user's feed if it's missing + // @ts-ignore + if (!fwr) { + addAvailableFeed(feedLatestWithReplies, true, false); + } - // Add active user's feed if it's missing - // @ts-ignore - if (initFeeds && !initFeeds.find(f => f.hex === feedLatest.hex && f.includeReplies === feedLatest.includeReplies)) { - addAvailableFeed(feedLatest, true, false); - } - setTimeout(() => { - loadSettings(publicKey); - }, 100); + // Add active user's feed if it's missing + // @ts-ignore + if (initFeeds && !initFeeds.find(f => f.hex === feedLatest.hex && f.includeReplies === feedLatest.includeReplies)) { + addAvailableFeed(feedLatest, true, false); + } + }); }); createEffect(() => {