diff options
Diffstat (limited to 'src/view')
-rw-r--r-- | src/view/com/composer/ComposePost.tsx | 5 | ||||
-rw-r--r-- | src/view/com/login/CreateAccount.tsx | 3 | ||||
-rw-r--r-- | src/view/com/login/Signin.tsx | 5 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/view/com/composer/ComposePost.tsx b/src/view/com/composer/ComposePost.tsx index 02b7cae5c..a414a7562 100644 --- a/src/view/com/composer/ComposePost.tsx +++ b/src/view/com/composer/ComposePost.tsx @@ -17,6 +17,7 @@ import PasteInput, { } from '@mattermost/react-native-paste-input' import LinearGradient from 'react-native-linear-gradient' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {useAnalytics} from '@segment/analytics-react-native' import {UserAutocompleteViewModel} from '../../../state/models/user-autocomplete-view' import {Autocomplete} from './Autocomplete' import {ExternalEmbed} from './ExternalEmbed' @@ -59,6 +60,7 @@ export const ComposePost = observer(function ComposePost({ onPost?: ComposerOpts['onPost'] onClose: () => void }) { + const {track} = useAnalytics() const pal = usePalette('default') const store = useStores() const textInput = useRef<PasteInputRef>(null) @@ -252,6 +254,9 @@ export const ComposePost = observer(function ComposePost({ autocompleteView.knownHandles, setProcessingState, ) + track('Create Post', { + imageCount: selectedPhotos.length, + }) } catch (e: any) { setError(cleanError(e.message)) setIsProcessing(false) diff --git a/src/view/com/login/CreateAccount.tsx b/src/view/com/login/CreateAccount.tsx index 6c597408f..c5507b760 100644 --- a/src/view/com/login/CreateAccount.tsx +++ b/src/view/com/login/CreateAccount.tsx @@ -12,6 +12,7 @@ import { import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {ComAtprotoAccountCreate} from '@atproto/api' import * as EmailValidator from 'email-validator' +import {useAnalytics} from '@segment/analytics-react-native' import {LogoTextHero} from './Logo' import {Picker} from '../util/Picker' import {TextLink} from '../util/Link' @@ -28,6 +29,7 @@ import {ServerInputModal} from '../../../state/models/shell-ui' import {usePalette} from '../../lib/hooks/usePalette' export const CreateAccount = ({onPressBack}: {onPressBack: () => void}) => { + const {track} = useAnalytics() const pal = usePalette('default') const store = useStores() const [isProcessing, setIsProcessing] = useState<boolean>(false) @@ -104,6 +106,7 @@ export const CreateAccount = ({onPressBack}: {onPressBack: () => void}) => { password, inviteCode, }) + track('Create Account') } catch (e: any) { let errMsg = e.toString() if (e instanceof ComAtprotoAccountCreate.InvalidInviteCodeError) { diff --git a/src/view/com/login/Signin.tsx b/src/view/com/login/Signin.tsx index f0637db8d..2dfb012e8 100644 --- a/src/view/com/login/Signin.tsx +++ b/src/view/com/login/Signin.tsx @@ -11,6 +11,7 @@ import { import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import * as EmailValidator from 'email-validator' import {sessionClient as AtpApi, SessionServiceClient} from '@atproto/api' +import {useAnalytics} from '@segment/analytics-react-native' import {LogoTextHero} from './Logo' import {Text} from '../util/text/Text' import {UserAvatar} from '../util/UserAvatar' @@ -149,6 +150,7 @@ const ChooseAccountForm = ({ onSelectAccount: (account?: AccountData) => void onPressBack: () => void }) => { + const {track} = useAnalytics() const pal = usePalette('default') const [isProcessing, setIsProcessing] = React.useState(false) @@ -156,6 +158,7 @@ const ChooseAccountForm = ({ if (account.accessJwt && account.refreshJwt) { setIsProcessing(true) if (await store.session.resumeSession(account)) { + track('Sign In', {resumedSession: true}) setIsProcessing(false) return } @@ -255,6 +258,7 @@ const LoginForm = ({ onPressBack: () => void onPressForgotPassword: () => void }) => { + const {track} = useAnalytics() const pal = usePalette('default') const [isProcessing, setIsProcessing] = useState<boolean>(false) const [handle, setHandle] = useState<string>(initialHandle) @@ -295,6 +299,7 @@ const LoginForm = ({ handle: fullHandle, password, }) + track('Sign In', {resumedSession: false}) } catch (e: any) { const errMsg = e.toString() store.log.warn('Failed to login', e) |