diff --git a/src/components/Views/ProfileSubscriptions/ProfileSubscriptions.tsx b/src/components/Views/ProfileSubscriptions/ProfileSubscriptions.tsx index f43445f7..083e7978 100644 --- a/src/components/Views/ProfileSubscriptions/ProfileSubscriptions.tsx +++ b/src/components/Views/ProfileSubscriptions/ProfileSubscriptions.tsx @@ -29,18 +29,16 @@ export const ProfileSubscriptions = () => { const [searchQuery, setSearchQuery] = createSignal('') createEffect(() => { - if (subscriptions()) { - const { authors, topics } = subscriptions() - const fdata = [...authors, ...topics] - if (fdata) { - setFollowing(fdata) - if (subscriptionFilter() === 'authors') { - setFiltered(fdata.filter((s) => 'name' in s)) - } else if (subscriptionFilter() === 'topics') { - setFiltered(fdata.filter((s) => 'title' in s)) - } else { - setFiltered(fdata) - } + const { authors, topics } = subscriptions + if (authors || topics) { + const fdata = [...(authors || []), ...(topics || [])] + setFollowing(fdata) + if (subscriptionFilter() === 'authors') { + setFiltered(fdata.filter((s) => 'name' in s)) + } else if (subscriptionFilter() === 'topics') { + setFiltered(fdata.filter((s) => 'title' in s)) + } else { + setFiltered(fdata) } } }) diff --git a/src/context/following.tsx b/src/context/following.tsx index 6200c681..ad93eaaf 100644 --- a/src/context/following.tsx +++ b/src/context/following.tsx @@ -10,7 +10,7 @@ interface FollowingContextType { loading: Accessor followers: Accessor> subscriptions: AuthorFollowsResult - setSubscriptions: (subscriptions: AuthorFollows) => void + setSubscriptions: (subscriptions: AuthorFollowsResult) => void setFollowing: (what: FollowingEntity, slug: string, value: boolean) => void loadSubscriptions: () => void follow: (what: FollowingEntity, slug: string) => Promise @@ -33,7 +33,7 @@ const EMPTY_SUBSCRIPTIONS: AuthorFollowsResult = { export const FollowingProvider = (props: { children: JSX.Element }) => { const [loading, setLoading] = createSignal(false) const [followers, setFollowers] = createSignal>([]) - const [subscriptions, setSubscriptions] = createStore(EMPTY_SUBSCRIPTIONS) + const [subscriptions, setSubscriptions] = createStore(EMPTY_SUBSCRIPTIONS) const { author, session } = useSession() const fetchData = async () => {