@kiosinc/commons-rn 0.16.0 → 0.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Alert.js +6 -1
- package/lib/commonjs/components/Alert.js.map +1 -1
- package/lib/commonjs/hooks/useAuth.js +6 -0
- package/lib/commonjs/hooks/useAuth.js.map +1 -1
- package/lib/commonjs/utils/analytics.js +21 -0
- package/lib/commonjs/utils/analytics.js.map +1 -1
- package/lib/module/components/Alert.js +7 -2
- package/lib/module/components/Alert.js.map +1 -1
- package/lib/module/hooks/useAuth.js +6 -0
- package/lib/module/hooks/useAuth.js.map +1 -1
- package/lib/module/utils/analytics.js +22 -0
- package/lib/module/utils/analytics.js.map +1 -1
- package/lib/typescript/src/components/Alert.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/src/utils/analytics.d.ts +2 -0
- package/lib/typescript/src/utils/analytics.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Alert.tsx +7 -2
- package/src/hooks/useAuth.ts +6 -0
- package/src/utils/analytics.ts +20 -0
|
@@ -73,8 +73,13 @@ const Alert = () => {
|
|
|
73
73
|
rootLevelRef?.pop();
|
|
74
74
|
};
|
|
75
75
|
}, [ref]);
|
|
76
|
+
const {
|
|
77
|
+
width,
|
|
78
|
+
height
|
|
79
|
+
} = _reactNative.Dimensions.get('window');
|
|
80
|
+
const isLargeScreen = _reactNative.Platform.isPad || _reactNative.Platform.OS === 'android' && Math.min(width, height) >= 600;
|
|
76
81
|
const dialogContent = /*#__PURE__*/_react.default.createElement(_reactNativePaper.Dialog, {
|
|
77
|
-
style:
|
|
82
|
+
style: isLargeScreen ? [styles.iPad, {
|
|
78
83
|
backgroundColor: theme.colors.background
|
|
79
84
|
}] : {
|
|
80
85
|
backgroundColor: theme.colors.background
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativePaper","_Button","_reactNative","_reactI18next","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useAlertHook","isVisible","setIsVisible","useState","params","setParams","title","description","isDismissable","buttons","renderDescription","keyboardAvoiding","show","useCallback","parameters","hide","rootLevelRef","Alert","theme","useTheme","useTranslation","button1","label","onPress","mode","button2","button3","ref","React","useRef","useImperativeHandle","useEffect","push","current","pop","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativePaper","_Button","_reactNative","_reactI18next","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useAlertHook","isVisible","setIsVisible","useState","params","setParams","title","description","isDismissable","buttons","renderDescription","keyboardAvoiding","show","useCallback","parameters","hide","rootLevelRef","Alert","theme","useTheme","useTranslation","button1","label","onPress","mode","button2","button3","ref","React","useRef","useImperativeHandle","useEffect","push","current","pop","width","height","Dimensions","isLargeScreen","Platform","isPad","OS","Math","min","dialogContent","createElement","Dialog","style","styles","iPad","backgroundColor","colors","background","dismissable","dismissableBackButton","onDismiss","visible","Boolean","Content","Text","variant","Actions","Button","mx","textColor","primary","ml","Portal","KeyboardAvoidingView","behavior","flex","justifyContent","exports","displayName","length","StyleSheet","create","zIndex","alignSelf"],"sourceRoot":"../../../src","sources":["components/Alert.tsx"],"mappings":"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"}
|
|
@@ -53,6 +53,9 @@ const useAuth = () => {
|
|
|
53
53
|
dispatch((0, _providers.changeUser)((0, _auth.default)().currentUser));
|
|
54
54
|
|
|
55
55
|
// On completing sign up
|
|
56
|
+
// Alias before identify so pre-sign-up anonymous activity merges
|
|
57
|
+
// into the new user profile; aliasOnce is a no-op after the first call.
|
|
58
|
+
await _analytics.analytics.aliasOnce((0, _auth.default)().currentUser.uid);
|
|
56
59
|
_analytics.analytics.identify((0, _auth.default)().currentUser.uid);
|
|
57
60
|
const now = new Date().toISOString();
|
|
58
61
|
_analytics.analytics.profile.set(_analyticsKeys.analyticsKeys.registrationDate, now);
|
|
@@ -105,6 +108,9 @@ const useAuth = () => {
|
|
|
105
108
|
}) => {
|
|
106
109
|
try {
|
|
107
110
|
await confirmationResult.confirm(code);
|
|
111
|
+
// Alias before identify so pre-sign-up anonymous activity merges into
|
|
112
|
+
// the user profile; aliasOnce is a no-op after the first call.
|
|
113
|
+
await _analytics.analytics.aliasOnce((0, _auth.default)().currentUser.uid);
|
|
108
114
|
_analytics.analytics.identify((0, _auth.default)().currentUser.uid);
|
|
109
115
|
_analytics.analytics.profile.set(_analyticsKeys.analyticsKeys.app, _reactNativeConfig.default.URL_SCHEME);
|
|
110
116
|
_analytics.analytics.track({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactQuery","require","_auth","_interopRequireDefault","_providers","_native","_reactI18next","_components","_authentication","_reactNativeConfig","_analytics","_analyticsKeys","_queryKeys","_reactNativeMmkv","_constants","_useTermsOfService","_useBusinesses","obj","__esModule","default","confirmationResult","useAuth","dispatch","useAuthenticationDispatch","navigation","useNavigation","t","useTranslation","queryClient","useQueryClient","setBusinessId","useMMKVString","MMKV_KEYS","BUSINESS_ID","useSignUp","useMutation","params","code","confirm","signUpAPI","onError","error","Alert","show","title","console","log","onSuccess","data","payload","credential","auth","EmailAuthProvider","email","password","currentUser","reauthenticateWithCredential","reload","changeUser","analytics","
|
|
1
|
+
{"version":3,"names":["_reactQuery","require","_auth","_interopRequireDefault","_providers","_native","_reactI18next","_components","_authentication","_reactNativeConfig","_analytics","_analyticsKeys","_queryKeys","_reactNativeMmkv","_constants","_useTermsOfService","_useBusinesses","obj","__esModule","default","confirmationResult","useAuth","dispatch","useAuthenticationDispatch","navigation","useNavigation","t","useTranslation","queryClient","useQueryClient","setBusinessId","useMMKVString","MMKV_KEYS","BUSINESS_ID","useSignUp","useMutation","params","code","confirm","signUpAPI","onError","error","Alert","show","title","console","log","onSuccess","data","payload","credential","auth","EmailAuthProvider","email","password","currentUser","reauthenticateWithCredential","reload","changeUser","analytics","aliasOnce","uid","identify","now","Date","toISOString","profile","set","analyticsKeys","registrationDate","app","Config","URL_SCHEME","track","eventName","acceptTOS","businessId","bizResponse","getBusinessData","firstId","businesses","id","invalidateQueries","queryKeys","BUSINESSES","TERMS_AND_CONDITIONS","signOut","catch","StackActions","popToTop","useIsCheckRegistered","checkIsRegisteredAPI","response","isRegistered","navigate","useConfirmPhoneNumber","properties","method","e","useVerifyPhoneNumberForLogin","phoneNumber","signInWithPhoneNumber","description","emailOrPhoneNumber","message","useVerifyPhoneNumber","useResetPassword","sendPasswordResetEmail","exports"],"sourceRoot":"../../../src","sources":["hooks/useAuth.ts"],"mappings":"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"}
|
|
@@ -8,7 +8,13 @@ var _mixpanelReactNative = require("mixpanel-react-native");
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeConfig = _interopRequireDefault(require("react-native-config"));
|
|
10
10
|
var _auth = _interopRequireDefault(require("@react-native-firebase/auth"));
|
|
11
|
+
var _reactNativeMmkv = require("react-native-mmkv");
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
// Persisted guard so alias fires at most once per install, even across restarts.
|
|
14
|
+
const aliasStorage = new _reactNativeMmkv.MMKV({
|
|
15
|
+
id: 'mixpanel-alias'
|
|
16
|
+
});
|
|
17
|
+
const ALIAS_DONE_KEY = 'mixpanel_alias_done';
|
|
12
18
|
const createTrackFunction = () => {
|
|
13
19
|
return params => {
|
|
14
20
|
if ('properties' in params && params.properties) {
|
|
@@ -41,6 +47,20 @@ const Analytics = exports.Analytics = {
|
|
|
41
47
|
// Registering super properties again on identification.
|
|
42
48
|
registerCustomSuperProperties();
|
|
43
49
|
};
|
|
50
|
+
|
|
51
|
+
// Links the current anonymous distinct_id to the signed-up user id exactly
|
|
52
|
+
// once per install, merging pre-sign-up activity into the authenticated
|
|
53
|
+
// profile. Must be awaited before identify so Mixpanel honors the merge.
|
|
54
|
+
const aliasOnce = async userId => {
|
|
55
|
+
if (!mixpanel || aliasStorage.getBoolean(ALIAS_DONE_KEY)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const distinctId = await mixpanel.getDistinctId();
|
|
59
|
+
if (distinctId && distinctId !== userId) {
|
|
60
|
+
mixpanel.alias(userId, distinctId);
|
|
61
|
+
aliasStorage.set(ALIAS_DONE_KEY, true);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
44
64
|
const currentUser = (0, _auth.default)().currentUser;
|
|
45
65
|
if (currentUser?.isAnonymous) {
|
|
46
66
|
// Register custom super properties on app lunch before login/signup.
|
|
@@ -55,6 +75,7 @@ const Analytics = exports.Analytics = {
|
|
|
55
75
|
unregisterSuperProperty: propertyName => mixpanel.unregisterSuperProperty(propertyName),
|
|
56
76
|
track: createTrackFunction(),
|
|
57
77
|
identify,
|
|
78
|
+
aliasOnce,
|
|
58
79
|
profile: {
|
|
59
80
|
set: (key, value) => {
|
|
60
81
|
mixpanel?.getPeople()?.set(key, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mixpanelReactNative","require","_reactNative","_reactNativeConfig","_interopRequireDefault","_auth","obj","__esModule","default","createTrackFunction","params","properties","mixpanel","track","eventName","Analytics","exports","init","trackAutomaticEvents","Mixpanel","Config","MIXPANEL_TOKEN","registerCustomSuperProperties","registerSuperProperties","version","Platform","Version","now","Date","toISOString","registerSuperPropertiesOnce","app","URL_SCHEME","platform","OS","first_time_install","identify","userId","currentUser","auth","isAnonymous","uid","unregisterSuperProperty","propertyName","profile","
|
|
1
|
+
{"version":3,"names":["_mixpanelReactNative","require","_reactNative","_reactNativeConfig","_interopRequireDefault","_auth","_reactNativeMmkv","obj","__esModule","default","aliasStorage","MMKV","id","ALIAS_DONE_KEY","createTrackFunction","params","properties","mixpanel","track","eventName","Analytics","exports","init","trackAutomaticEvents","Mixpanel","Config","MIXPANEL_TOKEN","registerCustomSuperProperties","registerSuperProperties","version","Platform","Version","now","Date","toISOString","registerSuperPropertiesOnce","app","URL_SCHEME","platform","OS","first_time_install","identify","userId","aliasOnce","getBoolean","distinctId","getDistinctId","alias","set","currentUser","auth","isAnonymous","uid","unregisterSuperProperty","propertyName","profile","key","value","getPeople","reset","analytics"],"sourceRoot":"../../../src","sources":["utils/analytics.ts"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useCallback } from 'react';
|
|
2
2
|
import { Dialog, Portal, Text, useTheme } from 'react-native-paper';
|
|
3
3
|
import { Button } from './Button';
|
|
4
|
-
import { KeyboardAvoidingView, Platform } from 'react-native';
|
|
4
|
+
import { Dimensions, KeyboardAvoidingView, Platform } from 'react-native';
|
|
5
5
|
import { StyleSheet } from 'react-native';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
7
7
|
const useAlertHook = () => {
|
|
@@ -66,8 +66,13 @@ export const Alert = () => {
|
|
|
66
66
|
rootLevelRef?.pop();
|
|
67
67
|
};
|
|
68
68
|
}, [ref]);
|
|
69
|
+
const {
|
|
70
|
+
width,
|
|
71
|
+
height
|
|
72
|
+
} = Dimensions.get('window');
|
|
73
|
+
const isLargeScreen = Platform.isPad || Platform.OS === 'android' && Math.min(width, height) >= 600;
|
|
69
74
|
const dialogContent = /*#__PURE__*/React.createElement(Dialog, {
|
|
70
|
-
style:
|
|
75
|
+
style: isLargeScreen ? [styles.iPad, {
|
|
71
76
|
backgroundColor: theme.colors.background
|
|
72
77
|
}] : {
|
|
73
78
|
backgroundColor: theme.colors.background
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useCallback","Dialog","Portal","Text","useTheme","Button","KeyboardAvoidingView","Platform","StyleSheet","useTranslation","useAlertHook","isVisible","setIsVisible","params","setParams","title","description","isDismissable","buttons","renderDescription","keyboardAvoiding","show","parameters","hide","rootLevelRef","Alert","theme","t","button1","label","onPress","mode","button2","button3","ref","useRef","useImperativeHandle","useEffect","push","current","pop","
|
|
1
|
+
{"version":3,"names":["React","useState","useCallback","Dialog","Portal","Text","useTheme","Button","Dimensions","KeyboardAvoidingView","Platform","StyleSheet","useTranslation","useAlertHook","isVisible","setIsVisible","params","setParams","title","description","isDismissable","buttons","renderDescription","keyboardAvoiding","show","parameters","hide","rootLevelRef","Alert","theme","t","button1","label","onPress","mode","button2","button3","ref","useRef","useImperativeHandle","useEffect","push","current","pop","width","height","get","isLargeScreen","isPad","OS","Math","min","dialogContent","createElement","style","styles","iPad","backgroundColor","colors","background","dismissable","dismissableBackButton","onDismiss","visible","Boolean","Content","variant","Actions","mx","textColor","primary","ml","behavior","flex","justifyContent","displayName","length","create","zIndex","alignSelf"],"sourceRoot":"../../../src","sources":["components/Alert.tsx"],"mappings":"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"}
|
|
@@ -46,6 +46,9 @@ export const useAuth = () => {
|
|
|
46
46
|
dispatch(changeUser(auth().currentUser));
|
|
47
47
|
|
|
48
48
|
// On completing sign up
|
|
49
|
+
// Alias before identify so pre-sign-up anonymous activity merges
|
|
50
|
+
// into the new user profile; aliasOnce is a no-op after the first call.
|
|
51
|
+
await analytics.aliasOnce(auth().currentUser.uid);
|
|
49
52
|
analytics.identify(auth().currentUser.uid);
|
|
50
53
|
const now = new Date().toISOString();
|
|
51
54
|
analytics.profile.set(analyticsKeys.registrationDate, now);
|
|
@@ -98,6 +101,9 @@ export const useAuth = () => {
|
|
|
98
101
|
}) => {
|
|
99
102
|
try {
|
|
100
103
|
await confirmationResult.confirm(code);
|
|
104
|
+
// Alias before identify so pre-sign-up anonymous activity merges into
|
|
105
|
+
// the user profile; aliasOnce is a no-op after the first call.
|
|
106
|
+
await analytics.aliasOnce(auth().currentUser.uid);
|
|
101
107
|
analytics.identify(auth().currentUser.uid);
|
|
102
108
|
analytics.profile.set(analyticsKeys.app, Config.URL_SCHEME);
|
|
103
109
|
analytics.track({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMutation","useQueryClient","auth","changeUser","useAuthenticationDispatch","StackActions","useNavigation","useTranslation","Alert","checkIsRegisteredAPI","signUpAPI","Config","analytics","analyticsKeys","queryKeys","useMMKVString","MMKV_KEYS","acceptTOS","getBusinessData","confirmationResult","useAuth","dispatch","navigation","t","queryClient","setBusinessId","BUSINESS_ID","useSignUp","params","code","confirm","onError","error","show","title","console","log","onSuccess","data","payload","credential","EmailAuthProvider","email","password","currentUser","reauthenticateWithCredential","reload","
|
|
1
|
+
{"version":3,"names":["useMutation","useQueryClient","auth","changeUser","useAuthenticationDispatch","StackActions","useNavigation","useTranslation","Alert","checkIsRegisteredAPI","signUpAPI","Config","analytics","analyticsKeys","queryKeys","useMMKVString","MMKV_KEYS","acceptTOS","getBusinessData","confirmationResult","useAuth","dispatch","navigation","t","queryClient","setBusinessId","BUSINESS_ID","useSignUp","params","code","confirm","onError","error","show","title","console","log","onSuccess","data","payload","credential","EmailAuthProvider","email","password","currentUser","reauthenticateWithCredential","reload","aliasOnce","uid","identify","now","Date","toISOString","profile","set","registrationDate","app","URL_SCHEME","track","eventName","businessId","bizResponse","firstId","businesses","id","invalidateQueries","BUSINESSES","TERMS_AND_CONDITIONS","signOut","catch","popToTop","useIsCheckRegistered","response","isRegistered","navigate","useConfirmPhoneNumber","properties","method","e","useVerifyPhoneNumberForLogin","phoneNumber","signInWithPhoneNumber","description","emailOrPhoneNumber","message","useVerifyPhoneNumber","useResetPassword","sendPasswordResetEmail"],"sourceRoot":"../../../src","sources":["hooks/useAuth.ts"],"mappings":"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"}
|
|
@@ -2,6 +2,13 @@ import { Mixpanel } from 'mixpanel-react-native';
|
|
|
2
2
|
import { Platform } from 'react-native';
|
|
3
3
|
import Config from 'react-native-config';
|
|
4
4
|
import auth from '@react-native-firebase/auth';
|
|
5
|
+
import { MMKV } from 'react-native-mmkv';
|
|
6
|
+
|
|
7
|
+
// Persisted guard so alias fires at most once per install, even across restarts.
|
|
8
|
+
const aliasStorage = new MMKV({
|
|
9
|
+
id: 'mixpanel-alias'
|
|
10
|
+
});
|
|
11
|
+
const ALIAS_DONE_KEY = 'mixpanel_alias_done';
|
|
5
12
|
const createTrackFunction = () => {
|
|
6
13
|
return params => {
|
|
7
14
|
if ('properties' in params && params.properties) {
|
|
@@ -34,6 +41,20 @@ export const Analytics = {
|
|
|
34
41
|
// Registering super properties again on identification.
|
|
35
42
|
registerCustomSuperProperties();
|
|
36
43
|
};
|
|
44
|
+
|
|
45
|
+
// Links the current anonymous distinct_id to the signed-up user id exactly
|
|
46
|
+
// once per install, merging pre-sign-up activity into the authenticated
|
|
47
|
+
// profile. Must be awaited before identify so Mixpanel honors the merge.
|
|
48
|
+
const aliasOnce = async userId => {
|
|
49
|
+
if (!mixpanel || aliasStorage.getBoolean(ALIAS_DONE_KEY)) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const distinctId = await mixpanel.getDistinctId();
|
|
53
|
+
if (distinctId && distinctId !== userId) {
|
|
54
|
+
mixpanel.alias(userId, distinctId);
|
|
55
|
+
aliasStorage.set(ALIAS_DONE_KEY, true);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
37
58
|
const currentUser = auth().currentUser;
|
|
38
59
|
if (currentUser?.isAnonymous) {
|
|
39
60
|
// Register custom super properties on app lunch before login/signup.
|
|
@@ -48,6 +69,7 @@ export const Analytics = {
|
|
|
48
69
|
unregisterSuperProperty: propertyName => mixpanel.unregisterSuperProperty(propertyName),
|
|
49
70
|
track: createTrackFunction(),
|
|
50
71
|
identify,
|
|
72
|
+
aliasOnce,
|
|
51
73
|
profile: {
|
|
52
74
|
set: (key, value) => {
|
|
53
75
|
mixpanel?.getPeople()?.set(key, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Mixpanel","Platform","Config","auth","createTrackFunction","params","properties","mixpanel","track","eventName","Analytics","init","trackAutomaticEvents","MIXPANEL_TOKEN","registerCustomSuperProperties","registerSuperProperties","version","Version","now","Date","toISOString","registerSuperPropertiesOnce","app","URL_SCHEME","platform","OS","first_time_install","identify","userId","currentUser","isAnonymous","uid","unregisterSuperProperty","propertyName","profile","
|
|
1
|
+
{"version":3,"names":["Mixpanel","Platform","Config","auth","MMKV","aliasStorage","id","ALIAS_DONE_KEY","createTrackFunction","params","properties","mixpanel","track","eventName","Analytics","init","trackAutomaticEvents","MIXPANEL_TOKEN","registerCustomSuperProperties","registerSuperProperties","version","Version","now","Date","toISOString","registerSuperPropertiesOnce","app","URL_SCHEME","platform","OS","first_time_install","identify","userId","aliasOnce","getBoolean","distinctId","getDistinctId","alias","set","currentUser","isAnonymous","uid","unregisterSuperProperty","propertyName","profile","key","value","getPeople","reset","analytics"],"sourceRoot":"../../../src","sources":["utils/analytics.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../src/components/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAQrD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,iBAAiB,CAAC;CAC3E;AAED,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AA0CD,eAAO,MAAM,KAAK;;;
|
|
1
|
+
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../src/components/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAQrD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,iBAAiB,CAAC;CAC3E;AAED,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AA0CD,eAAO,MAAM,KAAK;;;iBAgJI,WAAW;CALhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAuth.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,OAAO;;gBAUuB,SAAS;cAAQ,MAAM;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAuth.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,OAAO;;gBAUuB,SAAS;cAAQ,MAAM;;;;;;;;;cAgFvB,MAAM;;;qBAmBQ,MAAM;;;;eAmClB,MAAM;;CAqBlD,CAAC"}
|
|
@@ -33,6 +33,7 @@ export declare const Analytics: {
|
|
|
33
33
|
unregisterSuperProperty: (propertyName: string) => void;
|
|
34
34
|
track: (params: CommonEventTypes | T) => void;
|
|
35
35
|
identify: (userId: string) => void;
|
|
36
|
+
aliasOnce: (userId: string) => Promise<void>;
|
|
36
37
|
profile: {
|
|
37
38
|
set: (key: string, value?: any) => void;
|
|
38
39
|
};
|
|
@@ -47,6 +48,7 @@ export declare const analytics: {
|
|
|
47
48
|
properties?: any;
|
|
48
49
|
}) => void;
|
|
49
50
|
identify: (userId: string) => void;
|
|
51
|
+
aliasOnce: (userId: string) => Promise<void>;
|
|
50
52
|
profile: {
|
|
51
53
|
set: (key: string, value?: any) => void;
|
|
52
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/utils/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/utils/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAUrE,KAAK,gBAAgB,GACjB;IAAE,SAAS,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE;QAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,CAAA;CAAE,GAC3E;IAAE,SAAS,EAAE,mBAAmB,CAAA;CAAE,GAClC;IAAE,SAAS,EAAE,iBAAiB,CAAA;CAAE,GAChC;IAAE,SAAS,EAAE,iBAAiB,CAAA;CAAE,GAChC;IAAE,SAAS,EAAE,wBAAwB,CAAA;CAAE,GACvC;IAAE,SAAS,EAAE,0BAA0B,CAAC;IAAC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACxE;IAAE,SAAS,EAAE,mBAAmB,CAAA;CAAE,GAClC;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GACpB;IAAE,SAAS,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAe9C,eAAO,MAAM,SAAS;;mBACU,MAAM;qBAAe,GAAG;;8CAiDZ,kBAAkB;gDAEhB,MAAM;;2BAjCtB,MAAM;4BASC,MAAM;;uBA8BxB,MAAM,UAAU,GAAG;;;;CAWrC,CAAC;AAEF,eAAO,MAAM,SAAS;0CArBsB,kBAAkB;4CAEhB,MAAM;;mBAnDpB,MAAM;qBAAe,GAAG;;uBAkB1B,MAAM;wBASC,MAAM;;mBA8BxB,MAAM,UAAU,GAAG;;;CAaG,CAAC"}
|
package/package.json
CHANGED
package/src/components/Alert.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import React, { useState, useCallback } from 'react';
|
|
|
2
2
|
import { Dialog, Portal, Text, useTheme } from 'react-native-paper';
|
|
3
3
|
import { Button } from './Button';
|
|
4
4
|
import type { PlatformIOSStatic } from 'react-native';
|
|
5
|
-
import { KeyboardAvoidingView, Platform } from 'react-native';
|
|
5
|
+
import { Dimensions, KeyboardAvoidingView, Platform } from 'react-native';
|
|
6
6
|
import { StyleSheet } from 'react-native';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
8
8
|
|
|
@@ -106,10 +106,15 @@ export const Alert = () => {
|
|
|
106
106
|
};
|
|
107
107
|
}, [ref]);
|
|
108
108
|
|
|
109
|
+
const { width, height } = Dimensions.get('window');
|
|
110
|
+
const isLargeScreen =
|
|
111
|
+
(Platform as PlatformIOSStatic).isPad ||
|
|
112
|
+
(Platform.OS === 'android' && Math.min(width, height) >= 600);
|
|
113
|
+
|
|
109
114
|
const dialogContent = (
|
|
110
115
|
<Dialog
|
|
111
116
|
style={
|
|
112
|
-
|
|
117
|
+
isLargeScreen
|
|
113
118
|
? [styles.iPad, { backgroundColor: theme.colors.background }]
|
|
114
119
|
: {
|
|
115
120
|
backgroundColor: theme.colors.background,
|
package/src/hooks/useAuth.ts
CHANGED
|
@@ -63,6 +63,9 @@ export const useAuth = () => {
|
|
|
63
63
|
dispatch(changeUser(auth().currentUser));
|
|
64
64
|
|
|
65
65
|
// On completing sign up
|
|
66
|
+
// Alias before identify so pre-sign-up anonymous activity merges
|
|
67
|
+
// into the new user profile; aliasOnce is a no-op after the first call.
|
|
68
|
+
await analytics.aliasOnce(auth().currentUser.uid);
|
|
66
69
|
analytics.identify(auth().currentUser.uid);
|
|
67
70
|
const now = new Date().toISOString();
|
|
68
71
|
analytics.profile.set(analyticsKeys.registrationDate, now);
|
|
@@ -119,6 +122,9 @@ export const useAuth = () => {
|
|
|
119
122
|
useMutation(async ({ code }: { code: string }) => {
|
|
120
123
|
try {
|
|
121
124
|
await confirmationResult.confirm(code);
|
|
125
|
+
// Alias before identify so pre-sign-up anonymous activity merges into
|
|
126
|
+
// the user profile; aliasOnce is a no-op after the first call.
|
|
127
|
+
await analytics.aliasOnce(auth().currentUser.uid);
|
|
122
128
|
analytics.identify(auth().currentUser.uid);
|
|
123
129
|
analytics.profile.set(analyticsKeys.app, Config.URL_SCHEME);
|
|
124
130
|
analytics.track({
|
package/src/utils/analytics.ts
CHANGED
|
@@ -2,6 +2,11 @@ import { Mixpanel, MixpanelProperties } from 'mixpanel-react-native';
|
|
|
2
2
|
import { Platform } from 'react-native';
|
|
3
3
|
import Config from 'react-native-config';
|
|
4
4
|
import auth from '@react-native-firebase/auth';
|
|
5
|
+
import { MMKV } from 'react-native-mmkv';
|
|
6
|
+
|
|
7
|
+
// Persisted guard so alias fires at most once per install, even across restarts.
|
|
8
|
+
const aliasStorage = new MMKV({ id: 'mixpanel-alias' });
|
|
9
|
+
const ALIAS_DONE_KEY = 'mixpanel_alias_done';
|
|
5
10
|
|
|
6
11
|
type CommonEventTypes =
|
|
7
12
|
| { eventName: 'login_completed'; properties: { method: 'phone' | 'email' } }
|
|
@@ -52,6 +57,20 @@ export const Analytics = {
|
|
|
52
57
|
registerCustomSuperProperties();
|
|
53
58
|
};
|
|
54
59
|
|
|
60
|
+
// Links the current anonymous distinct_id to the signed-up user id exactly
|
|
61
|
+
// once per install, merging pre-sign-up activity into the authenticated
|
|
62
|
+
// profile. Must be awaited before identify so Mixpanel honors the merge.
|
|
63
|
+
const aliasOnce = async (userId: string) => {
|
|
64
|
+
if (!mixpanel || aliasStorage.getBoolean(ALIAS_DONE_KEY)) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const distinctId = await mixpanel.getDistinctId();
|
|
68
|
+
if (distinctId && distinctId !== userId) {
|
|
69
|
+
mixpanel.alias(userId, distinctId);
|
|
70
|
+
aliasStorage.set(ALIAS_DONE_KEY, true);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
55
74
|
const currentUser = auth().currentUser;
|
|
56
75
|
if (currentUser?.isAnonymous) {
|
|
57
76
|
// Register custom super properties on app lunch before login/signup.
|
|
@@ -69,6 +88,7 @@ export const Analytics = {
|
|
|
69
88
|
mixpanel.unregisterSuperProperty(propertyName),
|
|
70
89
|
track: createTrackFunction<CommonEventTypes | T>(),
|
|
71
90
|
identify,
|
|
91
|
+
aliasOnce,
|
|
72
92
|
profile: {
|
|
73
93
|
set: (key: string, value?: any) => {
|
|
74
94
|
mixpanel?.getPeople()?.set(key, value);
|