use-following-data
This commit is contained in:
parent
79961b7f47
commit
aeb42de908
|
@ -29,18 +29,16 @@ export const ProfileSubscriptions = () => {
|
||||||
const [searchQuery, setSearchQuery] = createSignal('')
|
const [searchQuery, setSearchQuery] = createSignal('')
|
||||||
|
|
||||||
createEffect(() => {
|
createEffect(() => {
|
||||||
if (subscriptions()) {
|
const { authors, topics } = subscriptions
|
||||||
const { authors, topics } = subscriptions()
|
if (authors || topics) {
|
||||||
const fdata = [...authors, ...topics]
|
const fdata = [...(authors || []), ...(topics || [])]
|
||||||
if (fdata) {
|
setFollowing(fdata)
|
||||||
setFollowing(fdata)
|
if (subscriptionFilter() === 'authors') {
|
||||||
if (subscriptionFilter() === 'authors') {
|
setFiltered(fdata.filter((s) => 'name' in s))
|
||||||
setFiltered(fdata.filter((s) => 'name' in s))
|
} else if (subscriptionFilter() === 'topics') {
|
||||||
} else if (subscriptionFilter() === 'topics') {
|
setFiltered(fdata.filter((s) => 'title' in s))
|
||||||
setFiltered(fdata.filter((s) => 'title' in s))
|
} else {
|
||||||
} else {
|
setFiltered(fdata)
|
||||||
setFiltered(fdata)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -10,7 +10,7 @@ interface FollowingContextType {
|
||||||
loading: Accessor<boolean>
|
loading: Accessor<boolean>
|
||||||
followers: Accessor<Array<Author>>
|
followers: Accessor<Array<Author>>
|
||||||
subscriptions: AuthorFollowsResult
|
subscriptions: AuthorFollowsResult
|
||||||
setSubscriptions: (subscriptions: AuthorFollows) => void
|
setSubscriptions: (subscriptions: AuthorFollowsResult) => void
|
||||||
setFollowing: (what: FollowingEntity, slug: string, value: boolean) => void
|
setFollowing: (what: FollowingEntity, slug: string, value: boolean) => void
|
||||||
loadSubscriptions: () => void
|
loadSubscriptions: () => void
|
||||||
follow: (what: FollowingEntity, slug: string) => Promise<void>
|
follow: (what: FollowingEntity, slug: string) => Promise<void>
|
||||||
|
@ -33,7 +33,7 @@ const EMPTY_SUBSCRIPTIONS: AuthorFollowsResult = {
|
||||||
export const FollowingProvider = (props: { children: JSX.Element }) => {
|
export const FollowingProvider = (props: { children: JSX.Element }) => {
|
||||||
const [loading, setLoading] = createSignal<boolean>(false)
|
const [loading, setLoading] = createSignal<boolean>(false)
|
||||||
const [followers, setFollowers] = createSignal<Array<Author>>([])
|
const [followers, setFollowers] = createSignal<Array<Author>>([])
|
||||||
const [subscriptions, setSubscriptions] = createStore<AuthorFollows>(EMPTY_SUBSCRIPTIONS)
|
const [subscriptions, setSubscriptions] = createStore<AuthorFollowsResult>(EMPTY_SUBSCRIPTIONS)
|
||||||
const { author, session } = useSession()
|
const { author, session } = useSession()
|
||||||
|
|
||||||
const fetchData = async () => {
|
const fetchData = async () => {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user