From 144fbcf79c6716785f3e68f7028ca5fad6550134 Mon Sep 17 00:00:00 2001 From: Ian Philips Date: Tue, 23 Aug 2022 17:01:40 -0600 Subject: [PATCH] Follow/unfollow button logic --- web/components/contract/share-row.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/web/components/contract/share-row.tsx b/web/components/contract/share-row.tsx index 4e7c850c..a45f0459 100644 --- a/web/components/contract/share-row.tsx +++ b/web/components/contract/share-row.tsx @@ -10,7 +10,7 @@ import { User } from 'common/user' import { CHALLENGES_ENABLED } from 'common/challenge' import { ShareModal } from './share-modal' import { withTracking } from 'web/lib/service/analytics' -import { collection, deleteDoc, doc } from 'firebase/firestore' +import { collection, deleteDoc, doc, setDoc } from 'firebase/firestore' import { useContractFollows } from 'web/hooks/use-follows' export function ShareRow(props: { @@ -70,12 +70,16 @@ export function ShareRow(props: { size={'lg'} color={'gray-white'} onClick={async () => { - // remove user doc from contract follows collection const followDoc = doc( collection(contracts, contract.id, 'follows'), user.id ) - await deleteDoc(followDoc) + if (followers?.includes(user.id)) await deleteDoc(followDoc) + else + await setDoc(followDoc, { + id: user.id, + createdTime: Date.now(), + }) }} > {followers?.includes(user.id) ? (