From 516eb69637d4d71cb25397376f9e1e5d3680f314 Mon Sep 17 00:00:00 2001
From: Hailey <me@haileyok.com>
Date: Mon, 20 May 2024 15:26:05 -0700
Subject: [🐴] Add new chat metrics (#4130)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* remove a comment

* add types for event, add log to profile button

* add `chat:open`

* add to chat list items

* fix types

* oops

* oops 2.0
---
 src/components/dms/MessageProfileButton.tsx | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

(limited to 'src/components/dms/MessageProfileButton.tsx')

diff --git a/src/components/dms/MessageProfileButton.tsx b/src/components/dms/MessageProfileButton.tsx
index 7e4422a68..7f440d621 100644
--- a/src/components/dms/MessageProfileButton.tsx
+++ b/src/components/dms/MessageProfileButton.tsx
@@ -5,6 +5,7 @@ import {msg} from '@lingui/macro'
 import {useLingui} from '@lingui/react'
 
 import {useMaybeConvoForUser} from '#/state/queries/messages/get-convo-for-members'
+import {logEvent} from 'lib/statsig/statsig'
 import {atoms as a, useTheme} from '#/alf'
 import {Message_Stroke2_Corner0_Rounded as Message} from '../icons/Message'
 import {Link} from '../Link'
@@ -18,7 +19,14 @@ export function MessageProfileButton({
   const {_} = useLingui()
   const t = useTheme()
 
-  const {data: convoId, isPending} = useMaybeConvoForUser(profile.did)
+  const {data: convo, isPending} = useMaybeConvoForUser(profile.did)
+
+  const onPress = React.useCallback(() => {
+    if (convo && !convo.lastMessage) {
+      logEvent('chat:create', {logContext: 'ProfileHeader'})
+    }
+    logEvent('chat:open', {logContext: 'ProfileHeader'})
+  }, [convo])
 
   if (isPending) {
     // show pending state based on declaration
@@ -48,7 +56,7 @@ export function MessageProfileButton({
     }
   }
 
-  if (convoId) {
+  if (convo) {
     return (
       <Link
         testID="dmBtn"
@@ -57,8 +65,9 @@ export function MessageProfileButton({
         variant="solid"
         shape="round"
         label={_(msg`Message ${profile.handle}`)}
-        to={`/messages/${convoId}`}
-        style={[a.justify_center, {width: 36, height: 36}]}>
+        to={`/messages/${convo.id}`}
+        style={[a.justify_center, {width: 36, height: 36}]}
+        onPress={onPress}>
         <Message
           style={[t.atoms.text, {marginLeft: 1, marginBottom: 1}]}
           size="md"
-- 
cgit 1.4.1

