From 80ffc564a98d7a57114517c1a413d036a558cfd1 Mon Sep 17 00:00:00 2001 From: ilya-bkv Date: Mon, 11 Mar 2024 08:20:00 +0300 Subject: [PATCH] [WiP] --- .../Author/AuthorCard/AuthorCard.tsx | 16 +++++++-- src/context/following.tsx | 35 ++++++++++++++++--- src/graphql/client/core.ts | 1 + 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/src/components/Author/AuthorCard/AuthorCard.tsx b/src/components/Author/AuthorCard/AuthorCard.tsx index 75f23639..6b67215a 100644 --- a/src/components/Author/AuthorCard/AuthorCard.tsx +++ b/src/components/Author/AuthorCard/AuthorCard.tsx @@ -36,13 +36,14 @@ export const AuthorCard = (props: Props) => { const [subscriptionFilter, setSubscriptionFilter] = createSignal('all') const [isFollowed, setIsFollowed] = createSignal() const isProfileOwner = createMemo(() => author()?.slug === props.author.slug) - const { setFollowing, isOwnerSubscribed } = useFollowing() + const { follow, isOwnerSubscribed, subscribeInAction } = useFollowing() onMount(() => { setAuthorSubs(props.following) }) createEffect(() => { + console.log("!!! isOwnerSubscribed(props.author?.id):", isOwnerSubscribed(props.author?.id)); setIsFollowed(isOwnerSubscribed(props.author?.id)) }) @@ -82,15 +83,24 @@ export const AuthorCard = (props: Props) => { } }) + createEffect(() => { + console.log("!!! subscribeInAction:", subscribeInAction()); + }) const handleFollowClick = () => { + console.log("!!! handleFollowClick:"); const value = !isFollowed() requireAuthentication(() => { setIsFollowed(value) - setFollowing(FollowingEntity.Author, props.author.slug, value) + follow(FollowingEntity.Author, props.author.slug) }, 'subscribe') } const followButtonText = createMemo(() => { + console.log("!!! subscribeInAction()", subscribeInAction()); + if (subscribeInAction()?.slug === props.author.slug) { + return subscribeInAction().type === 'subscribe' ? t('Subscribing...') : t('Unsubscribing...') + } + if (isOwnerSubscribed(props.author?.id)) { return ( <> @@ -200,7 +210,7 @@ export const AuthorCard = (props: Props) => { when={isProfileOwner()} fallback={
- +