@kiosinc/commons-rn 0.15.7 → 0.17.0

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.
Files changed (100) hide show
  1. package/README.md +20 -0
  2. package/lib/commonjs/constants/index.js +1 -1
  3. package/lib/commonjs/constants/index.js.map +1 -1
  4. package/lib/commonjs/hooks/index.js +0 -7
  5. package/lib/commonjs/hooks/index.js.map +1 -1
  6. package/lib/commonjs/hooks/useAuth.js +6 -0
  7. package/lib/commonjs/hooks/useAuth.js.map +1 -1
  8. package/lib/commonjs/hooks/useCustomer.js +0 -86
  9. package/lib/commonjs/hooks/useCustomer.js.map +1 -1
  10. package/lib/commonjs/providers/customer/CustomerProvider.js +214 -0
  11. package/lib/commonjs/providers/customer/CustomerProvider.js.map +1 -0
  12. package/lib/commonjs/providers/customer/README.md +122 -0
  13. package/lib/commonjs/providers/customer/classifyLoyaltyError.js +19 -0
  14. package/lib/commonjs/providers/customer/classifyLoyaltyError.js.map +1 -0
  15. package/lib/commonjs/providers/customer/index.js +27 -0
  16. package/lib/commonjs/providers/customer/index.js.map +1 -0
  17. package/lib/commonjs/providers/customer/types.js +2 -0
  18. package/lib/commonjs/providers/customer/types.js.map +1 -0
  19. package/lib/commonjs/providers/customer/useLoyalty.js +25 -0
  20. package/lib/commonjs/providers/customer/useLoyalty.js.map +1 -0
  21. package/lib/commonjs/providers/customer/useSquareCustomer.js +21 -0
  22. package/lib/commonjs/providers/customer/useSquareCustomer.js.map +1 -0
  23. package/lib/commonjs/providers/index.js +19 -0
  24. package/lib/commonjs/providers/index.js.map +1 -1
  25. package/lib/commonjs/screens/SavedCards/SavedCards.js +9 -4
  26. package/lib/commonjs/screens/SavedCards/SavedCards.js.map +1 -1
  27. package/lib/commonjs/utils/analytics.js +21 -0
  28. package/lib/commonjs/utils/analytics.js.map +1 -1
  29. package/lib/module/constants/index.js +1 -1
  30. package/lib/module/constants/index.js.map +1 -1
  31. package/lib/module/hooks/index.js +0 -1
  32. package/lib/module/hooks/index.js.map +1 -1
  33. package/lib/module/hooks/useAuth.js +6 -0
  34. package/lib/module/hooks/useAuth.js.map +1 -1
  35. package/lib/module/hooks/useCustomer.js +1 -87
  36. package/lib/module/hooks/useCustomer.js.map +1 -1
  37. package/lib/module/providers/customer/CustomerProvider.js +204 -0
  38. package/lib/module/providers/customer/CustomerProvider.js.map +1 -0
  39. package/lib/module/providers/customer/README.md +122 -0
  40. package/lib/module/providers/customer/classifyLoyaltyError.js +13 -0
  41. package/lib/module/providers/customer/classifyLoyaltyError.js.map +1 -0
  42. package/lib/module/providers/customer/index.js +4 -0
  43. package/lib/module/providers/customer/index.js.map +1 -0
  44. package/lib/module/providers/customer/types.js +2 -0
  45. package/lib/module/providers/customer/types.js.map +1 -0
  46. package/lib/module/providers/customer/useLoyalty.js +18 -0
  47. package/lib/module/providers/customer/useLoyalty.js.map +1 -0
  48. package/lib/module/providers/customer/useSquareCustomer.js +14 -0
  49. package/lib/module/providers/customer/useSquareCustomer.js.map +1 -0
  50. package/lib/module/providers/index.js +1 -0
  51. package/lib/module/providers/index.js.map +1 -1
  52. package/lib/module/screens/SavedCards/SavedCards.js +10 -5
  53. package/lib/module/screens/SavedCards/SavedCards.js.map +1 -1
  54. package/lib/module/utils/analytics.js +22 -0
  55. package/lib/module/utils/analytics.js.map +1 -1
  56. package/lib/typescript/src/constants/index.d.ts.map +1 -1
  57. package/lib/typescript/src/hooks/index.d.ts +0 -1
  58. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  59. package/lib/typescript/src/hooks/useAuth.d.ts.map +1 -1
  60. package/lib/typescript/src/hooks/useCustomer.d.ts +0 -13
  61. package/lib/typescript/src/hooks/useCustomer.d.ts.map +1 -1
  62. package/lib/typescript/src/providers/customer/CustomerProvider.d.ts +9 -0
  63. package/lib/typescript/src/providers/customer/CustomerProvider.d.ts.map +1 -0
  64. package/lib/typescript/src/providers/customer/classifyLoyaltyError.d.ts +3 -0
  65. package/lib/typescript/src/providers/customer/classifyLoyaltyError.d.ts.map +1 -0
  66. package/lib/typescript/src/providers/customer/index.d.ts +5 -0
  67. package/lib/typescript/src/providers/customer/index.d.ts.map +1 -0
  68. package/lib/typescript/src/providers/customer/types.d.ts +25 -0
  69. package/lib/typescript/src/providers/customer/types.d.ts.map +1 -0
  70. package/lib/typescript/src/providers/customer/useLoyalty.d.ts +11 -0
  71. package/lib/typescript/src/providers/customer/useLoyalty.d.ts.map +1 -0
  72. package/lib/typescript/src/providers/customer/useSquareCustomer.d.ts +7 -0
  73. package/lib/typescript/src/providers/customer/useSquareCustomer.d.ts.map +1 -0
  74. package/lib/typescript/src/providers/index.d.ts +2 -0
  75. package/lib/typescript/src/providers/index.d.ts.map +1 -1
  76. package/lib/typescript/src/screens/SavedCards/SavedCards.d.ts.map +1 -1
  77. package/lib/typescript/src/utils/analytics.d.ts +2 -0
  78. package/lib/typescript/src/utils/analytics.d.ts.map +1 -1
  79. package/package.json +1 -1
  80. package/src/constants/index.ts +1 -1
  81. package/src/hooks/index.ts +0 -1
  82. package/src/hooks/useAuth.ts +6 -0
  83. package/src/hooks/useCustomer.ts +0 -129
  84. package/src/providers/customer/CustomerProvider.tsx +272 -0
  85. package/src/providers/customer/README.md +122 -0
  86. package/src/providers/customer/classifyLoyaltyError.ts +25 -0
  87. package/src/providers/customer/index.ts +4 -0
  88. package/src/providers/customer/types.ts +34 -0
  89. package/src/providers/customer/useLoyalty.ts +27 -0
  90. package/src/providers/customer/useSquareCustomer.ts +19 -0
  91. package/src/providers/index.ts +6 -0
  92. package/src/screens/SavedCards/SavedCards.tsx +10 -3
  93. package/src/utils/analytics.ts +20 -0
  94. package/lib/commonjs/hooks/useCheckCustomer.js +0 -57
  95. package/lib/commonjs/hooks/useCheckCustomer.js.map +0 -1
  96. package/lib/module/hooks/useCheckCustomer.js +0 -49
  97. package/lib/module/hooks/useCheckCustomer.js.map +0 -1
  98. package/lib/typescript/src/hooks/useCheckCustomer.d.ts +0 -5
  99. package/lib/typescript/src/hooks/useCheckCustomer.d.ts.map +0 -1
  100. package/src/hooks/useCheckCustomer.ts +0 -49
@@ -0,0 +1,122 @@
1
+ # CustomerProvider
2
+
3
+ Owns the full customer + loyalty lifecycle. Replaces the old scattered hooks (`useCheckCustomer`, `useFetchSquareLoyalty`, `useConnectSquareLoyalty`, `useFetchSquareProgram`, `useConnectSquareCustomer`).
4
+
5
+ ## What it does
6
+
7
+ 1. Subscribes to Firebase auth — starts setup on login, clears state on logout
8
+ 2. Ensures the customer record exists (`getCustomer` / `createCustomer`)
9
+ 3. Ensures the Square customer program doc exists (`connectSquareCustomer`) — guarded by a module-level `Set` so it never fires twice for the same `uid:businessId`, even across remounts
10
+ 4. Fetches loyalty data — on "does not have loyalty":
11
+ - `autoEnroll=true` (kiosk): calls `connectSquareLoyalty` automatically
12
+ - `autoEnroll=false` (Gusteau): sets `not_enrolled`, waits for `enroll()` call
13
+ 5. Classifies all `connectSquareLoyalty` errors so checkout is never blocked
14
+
15
+ ## Setup
16
+
17
+ Wrap your authenticated navigator with the provider:
18
+
19
+ ```tsx
20
+ import { CustomerProvider } from '@kiosinc/commons-rn';
21
+
22
+ // autoEnroll=true for kiosk (auto-enroll on login)
23
+ // autoEnroll=false for Gusteau (manual enroll via button)
24
+ <CustomerProvider
25
+ autoEnroll
26
+ loyaltyEnabled={isSquareLoyaltyEnabled}>
27
+ <YourNavigator />
28
+ </CustomerProvider>
29
+ ```
30
+
31
+ `businessId` is read internally from MMKV (`MMKV_KEYS.BUSINESS_ID`) — no prop needed.
32
+
33
+ ## Consumer hooks
34
+
35
+ ### `useSquareCustomer()` — for checkout
36
+
37
+ ```tsx
38
+ import { useSquareCustomer } from '@kiosinc/commons-rn';
39
+
40
+ const { squareCustomerId, customerStatus, customerError } = useSquareCustomer();
41
+ ```
42
+
43
+ | Field | Type | Description |
44
+ |---|---|---|
45
+ | `squareCustomerId` | `string \| null` | Pass to `useOptimizedCheckout`. Available even if loyalty is broken. |
46
+ | `customerStatus` | `CustomerStatus` | `idle \| loading \| ready \| error` |
47
+ | `customerError` | `string \| null` | Error message if setup failed |
48
+
49
+ ### `useLoyalty()` — for rewards screens
50
+
51
+ ```tsx
52
+ import { useLoyalty } from '@kiosinc/commons-rn';
53
+
54
+ const {
55
+ loyaltyStatus,
56
+ isReady,
57
+ loyalty,
58
+ points,
59
+ loyaltyError,
60
+ enroll,
61
+ refetchLoyalty,
62
+ } = useLoyalty();
63
+ ```
64
+
65
+ | Field | Type | Description |
66
+ |---|---|---|
67
+ | `loyaltyStatus` | `LoyaltyStatus` | See status machine below |
68
+ | `isReady` | `boolean` | `loyaltyStatus === 'ready'` |
69
+ | `loyalty` | `CustomerLoyalty \| null` | Full loyalty object |
70
+ | `points` | `number` | Available points (0 if not ready) |
71
+ | `loyaltyError` | `string \| null` | Show on error/no_loyalty screens |
72
+ | `enroll()` | `() => void` | Gusteau: call from "Join" button. Noop if already enrolling or autoEnroll=true. |
73
+ | `refetchLoyalty()` | `() => void` | Call after payment to refresh points |
74
+
75
+ ## Status machines
76
+
77
+ ### `customerStatus`
78
+ ```
79
+ idle → loading → ready
80
+ → error
81
+ ```
82
+
83
+ ### `loyaltyStatus`
84
+ ```
85
+ idle → loading → ready
86
+ → not_enrolled (autoEnroll=false, no loyalty account)
87
+ → enrolling → ready
88
+ → error
89
+ → no_loyalty (merchant has no loyalty program)
90
+ → error (duplicate customer docs, etc.)
91
+ ```
92
+
93
+ ## Error handling
94
+
95
+ `connectSquareLoyalty` errors are classified automatically:
96
+
97
+ | Error message | Outcome |
98
+ |---|---|
99
+ | contains `already has` / `ALREADY_EXISTS` / `already exists` | Refetch → `ready` |
100
+ | contains `More than one` / `more than one` | `loyaltyStatus = 'error'`, message: "Multiple account records found. Contact support." |
101
+ | contains `Square Loyalty not enabled` / `not enabled` | `loyaltyStatus = 'no_loyalty'` |
102
+ | anything else | `loyaltyStatus = 'error'`, raw message shown |
103
+
104
+ ## Session reset
105
+
106
+ Provider resets automatically on Firebase auth state change (logout). For kiosk sleep/wake cycles that don't sign out Firebase, sign the user out via `firebase().auth().signOut()` to trigger a full reset.
107
+
108
+ ## Gusteau usage
109
+
110
+ ```tsx
111
+ // In your business selector screen:
112
+ <CustomerProvider autoEnroll={false} loyaltyEnabled={true}>
113
+ <AppNavigator />
114
+ </CustomerProvider>
115
+
116
+ // In your loyalty join screen:
117
+ const { loyaltyStatus, enroll } = useLoyalty();
118
+
119
+ if (loyaltyStatus === 'not_enrolled') {
120
+ return <Button onPress={enroll} title="Join Loyalty Program" />;
121
+ }
122
+ ```
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.classifyLoyaltyError = classifyLoyaltyError;
7
+ function classifyLoyaltyError(message) {
8
+ if (message.includes('already has') || message.includes('ALREADY_EXISTS') || message.toLowerCase().includes('already exists')) {
9
+ return 'refetch';
10
+ }
11
+ if (message.includes('More than one') || message.includes('more than one')) {
12
+ return 'duplicate';
13
+ }
14
+ if (message.includes('Square Loyalty not enabled') || message.toLowerCase().includes('not enabled')) {
15
+ return 'no_loyalty';
16
+ }
17
+ return 'error';
18
+ }
19
+ //# sourceMappingURL=classifyLoyaltyError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["classifyLoyaltyError","message","includes","toLowerCase"],"sourceRoot":"../../../../src","sources":["providers/customer/classifyLoyaltyError.ts"],"mappings":";;;;;;AAMO,SAASA,oBAAoBA,CAACC,OAAe,EAAyB;EAC3E,IACEA,OAAO,CAACC,QAAQ,CAAC,aAAa,CAAC,IAC/BD,OAAO,CAACC,QAAQ,CAAC,gBAAgB,CAAC,IAClCD,OAAO,CAACE,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,gBAAgB,CAAC,EAChD;IACA,OAAO,SAAS;EAClB;EACA,IAAID,OAAO,CAACC,QAAQ,CAAC,eAAe,CAAC,IAAID,OAAO,CAACC,QAAQ,CAAC,eAAe,CAAC,EAAE;IAC1E,OAAO,WAAW;EACpB;EACA,IACED,OAAO,CAACC,QAAQ,CAAC,4BAA4B,CAAC,IAC9CD,OAAO,CAACE,WAAW,CAAC,CAAC,CAACD,QAAQ,CAAC,aAAa,CAAC,EAC7C;IACA,OAAO,YAAY;EACrB;EACA,OAAO,OAAO;AAChB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "CustomerProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CustomerProvider.CustomerProvider;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useLoyalty", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useLoyalty.useLoyalty;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useSquareCustomer", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _useSquareCustomer.useSquareCustomer;
22
+ }
23
+ });
24
+ var _CustomerProvider = require("./CustomerProvider");
25
+ var _useSquareCustomer = require("./useSquareCustomer");
26
+ var _useLoyalty = require("./useLoyalty");
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CustomerProvider","require","_useSquareCustomer","_useLoyalty"],"sourceRoot":"../../../../src","sources":["providers/customer/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["providers/customer/types.ts"],"mappings":""}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useLoyalty = void 0;
7
+ var _react = require("react");
8
+ var _CustomerProvider = require("./CustomerProvider");
9
+ const useLoyalty = () => {
10
+ const ctx = (0, _react.useContext)(_CustomerProvider.CustomerContext);
11
+ if (!ctx) {
12
+ throw new Error('useLoyalty must be used within CustomerProvider');
13
+ }
14
+ return {
15
+ loyaltyStatus: ctx.loyaltyStatus,
16
+ isReady: ctx.loyaltyStatus === 'ready',
17
+ loyalty: ctx.loyalty,
18
+ points: ctx.points,
19
+ loyaltyError: ctx.loyaltyError,
20
+ enroll: ctx.enroll,
21
+ refetchLoyalty: ctx.refetchLoyalty
22
+ };
23
+ };
24
+ exports.useLoyalty = useLoyalty;
25
+ //# sourceMappingURL=useLoyalty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_CustomerProvider","useLoyalty","ctx","useContext","CustomerContext","Error","loyaltyStatus","isReady","loyalty","points","loyaltyError","enroll","refetchLoyalty","exports"],"sourceRoot":"../../../../src","sources":["providers/customer/useLoyalty.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAGO,MAAME,UAAU,GAAGA,CAAA,KAQrB;EACH,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACC,iCAAe,CAAC;EACvC,IAAI,CAACF,GAAG,EAAE;IACR,MAAM,IAAIG,KAAK,CAAC,iDAAiD,CAAC;EACpE;EACA,OAAO;IACLC,aAAa,EAAEJ,GAAG,CAACI,aAAa;IAChCC,OAAO,EAAEL,GAAG,CAACI,aAAa,KAAK,OAAO;IACtCE,OAAO,EAAEN,GAAG,CAACM,OAAO;IACpBC,MAAM,EAAEP,GAAG,CAACO,MAAM;IAClBC,YAAY,EAAER,GAAG,CAACQ,YAAY;IAC9BC,MAAM,EAAET,GAAG,CAACS,MAAM;IAClBC,cAAc,EAAEV,GAAG,CAACU;EACtB,CAAC;AACH,CAAC;AAACC,OAAA,CAAAZ,UAAA,GAAAA,UAAA"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSquareCustomer = void 0;
7
+ var _react = require("react");
8
+ var _CustomerProvider = require("./CustomerProvider");
9
+ const useSquareCustomer = () => {
10
+ const ctx = (0, _react.useContext)(_CustomerProvider.CustomerContext);
11
+ if (!ctx) {
12
+ throw new Error('useSquareCustomer must be used within CustomerProvider');
13
+ }
14
+ return {
15
+ customerStatus: ctx.customerStatus,
16
+ squareCustomerId: ctx.squareCustomerId,
17
+ customerError: ctx.customerError
18
+ };
19
+ };
20
+ exports.useSquareCustomer = useSquareCustomer;
21
+ //# sourceMappingURL=useSquareCustomer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_CustomerProvider","useSquareCustomer","ctx","useContext","CustomerContext","Error","customerStatus","squareCustomerId","customerError","exports"],"sourceRoot":"../../../../src","sources":["providers/customer/useSquareCustomer.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAGO,MAAME,iBAAiB,GAAGA,CAAA,KAI5B;EACH,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACC,iCAAe,CAAC;EACvC,IAAI,CAACF,GAAG,EAAE;IACR,MAAM,IAAIG,KAAK,CAAC,wDAAwD,CAAC;EAC3E;EACA,OAAO;IACLC,cAAc,EAAEJ,GAAG,CAACI,cAAc;IAClCC,gBAAgB,EAAEL,GAAG,CAACK,gBAAgB;IACtCC,aAAa,EAAEN,GAAG,CAACM;EACrB,CAAC;AACH,CAAC;AAACC,OAAA,CAAAR,iBAAA,GAAAA,iBAAA"}
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "AuthenticationProvider", {
9
9
  return _AuthenticationProvider.AuthenticationProvider;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "CustomerProvider", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _customer.CustomerProvider;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "changeUser", {
13
19
  enumerable: true,
14
20
  get: function () {
@@ -27,6 +33,19 @@ Object.defineProperty(exports, "useAuthenticationDispatch", {
27
33
  return _AuthenticationProvider.useAuthenticationDispatch;
28
34
  }
29
35
  });
36
+ Object.defineProperty(exports, "useLoyalty", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _customer.useLoyalty;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "useSquareCustomer", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _customer.useSquareCustomer;
46
+ }
47
+ });
30
48
  var _authentication = require("./authentication/actions/authentication.actions");
31
49
  var _AuthenticationProvider = require("./authentication/AuthenticationProvider");
50
+ var _customer = require("./customer");
32
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_authentication","require","_AuthenticationProvider"],"sourceRoot":"../../../src","sources":["providers/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA"}
1
+ {"version":3,"names":["_authentication","require","_AuthenticationProvider","_customer"],"sourceRoot":"../../../src","sources":["providers/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAF,OAAA"}
@@ -12,7 +12,7 @@ var _reactI18next = require("react-i18next");
12
12
  var _reactNative = require("react-native");
13
13
  var _square = require("../../utils/square");
14
14
  var _useCustomer = require("../../hooks/useCustomer");
15
- var _useCheckCustomer = require("../../hooks/useCheckCustomer");
15
+ var _CustomerProvider = require("../../providers/customer/CustomerProvider");
16
16
  var _CardRow = require("./CardRow");
17
17
  var _useApplePay = require("./useApplePay");
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -27,15 +27,20 @@ const SavedCards = ({
27
27
  t
28
28
  } = (0, _reactI18next.useTranslation)();
29
29
  const theme = (0, _reactNativePaper.useTheme)();
30
+ const customerCtx = (0, _react.useContext)(_CustomerProvider.CustomerContext);
31
+ if (__DEV__ && !customerCtx) {
32
+ console.warn('SavedCards: CustomerProvider not found in tree — customer setup will not run');
33
+ }
30
34
  const {
31
- customer
32
- } = (0, _useCheckCustomer.useCheckCustomer)();
33
- const {
35
+ useFetchCustomer,
34
36
  useSaveCustomerCard,
35
37
  useFetchSavedCards,
36
38
  useDisableCard,
37
39
  useUpdateCustomer
38
40
  } = (0, _useCustomer.useCustomerQueries)();
41
+ const {
42
+ data: customer
43
+ } = useFetchCustomer();
39
44
  const {
40
45
  saveCard,
41
46
  saveCardLoading
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_components","_reactNativePaper","_reactNativeUuid","_interopRequireDefault","_reactI18next","_reactNative","_square","_useCustomer","_useCheckCustomer","_CardRow","_useApplePay","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","SavedCards","onCheckout","showApplePay","total","useTranslation","theme","useTheme","customer","useCheckCustomer","useSaveCustomerCard","useFetchSavedCards","useDisableCard","useUpdateCustomer","useCustomerQueries","saveCard","saveCardLoading","disableCard","disableCardLoading","selectedPaymentId","setSelectedPaymentId","useState","updateCustomer","updateCustomerLoading","hasApplePay","useApplePay","useEffect","paymentId","data","cards","isFetching","isLoading","refetch","handleAddCard","onStartCardEntry","cardDetails","sourceId","nonce","idempotentKey","uuid","v4","Alert","show","title","description","handleUseCard","length","Platform","OS","selectedCard","find","card","linkedObjectId","paymentMethods","isApplePay","createElement","ActivityIndicator","View","flex","px","bg","LineLoader","FlatList","extraData","refreshControl","RefreshControl","refreshing","onRefresh","showsVerticalScrollIndicator","renderItem","item","CardRow","isDisabled","isSelected","isSelectable","onDelete","id","onSelect","addressId","squareCustomerId","ListHeaderComponent","Text","mb","variant","color","ListFooterComponent","alignItems","Button","pt","loading","onPress","icon","mode","height","padding","justifyContent","flexDirection","width","alignSelf","labelStyle","colors","background","exports"],"sourceRoot":"../../../../src","sources":["screens/SavedCards/SavedCards.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAQA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAEA,IAAAW,YAAA,GAAAX,OAAA;AAA4C,SAAAI,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAjB,wBAAAiB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAErC,MAAMY,UAAU,GAAGA,CAAC;EACzBC,UAAU;EACVC,YAAY;EACZC;AAKF,CAAC,KAAK;EACJ,MAAM;IAAElB;EAAE,CAAC,GAAG,IAAAmB,4BAAc,EAAC,CAAC;EAC9B,MAAMC,KAAK,GAAG,IAAAC,0BAAQ,EAAC,CAAC;EACxB,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,kCAAgB,EAAC,CAAC;EACvC,MAAM;IACJC,mBAAmB;IACnBC,kBAAkB;IAClBC,cAAc;IACdC;EACF,CAAC,GAAG,IAAAC,+BAAkB,EAAC,CAAC;EACxB,MAAM;IAAEC,QAAQ;IAAEC;EAAgB,CAAC,GAAGN,mBAAmB,CAAC,CAAC;EAC3D,MAAM;IAAEO,WAAW;IAAEC;EAAmB,CAAC,GAAGN,cAAc,CAAC,CAAC;EAC5D,MAAM,CAACO,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EAC9D,MAAM;IAAEC,cAAc;IAAEC;EAAsB,CAAC,GAAGV,iBAAiB,CAAC,CAAC;EACrE,MAAM;IAAEW;EAAY,CAAC,GAAG,IAAAC,wBAAW,EAAC,CAAC;EAErC,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIlB,QAAQ,EAAEmB,SAAS,EAAE;MACvBP,oBAAoB,CAACZ,QAAQ,CAACmB,SAAS,CAAC;IAC1C;EACF,CAAC,EAAE,CAACnB,QAAQ,EAAEmB,SAAS,CAAC,CAAC;EAEzB,MAAM;IACJC,IAAI,EAAEC,KAAK,GAAG,EAAE;IAChBC,UAAU;IACVC,SAAS;IACTC;EACF,CAAC,GAAGrB,kBAAkB,CAAC,CAAC;EAExB,MAAMsB,aAAa,GAAGA,CAAA,KAAM;IAC1B,IAAAC,wBAAgB,EACbC,WAAW,IAAK;MACfpB,QAAQ,CAAC;QACPqB,QAAQ,EAAED,WAAW,CAACE,KAAK;QAC3BC,aAAa,EAAEC,wBAAI,CAACC,EAAE,CAAC;MACzB,CAAC,CAAC;IACJ,CAAC,EACD,MAAM;MACJC,iBAAK,CAACC,IAAI,CAAC;QACTC,KAAK,EAAEzD,CAAC,CAAC,eAAe,CAAC;QACzB0D,WAAW,EAAE1D,CAAC,CAAC,uBAAuB;MACxC,CAAC,CAAC;IACJ,CACF,CAAC;EACH,CAAC;EAED,MAAM2D,aAAa,GAAGA,CAAA,KAAM;IAC1B,IAAI,CAAChB,KAAK,CAACiB,MAAM,IAAI,EAAEtB,WAAW,IAAIuB,qBAAQ,CAACC,EAAE,KAAK,KAAK,CAAC,EAAE;MAC5DP,iBAAK,CAACC,IAAI,CAAC;QAAEC,KAAK,EAAEzD,CAAC,CAAC,0BAA0B;MAAE,CAAC,CAAC;MACpD;IACF;IAEA,IAAI,CAACiC,iBAAiB,EAAE;MACtBsB,iBAAK,CAACC,IAAI,CAAC;QAAEC,KAAK,EAAEzD,CAAC,CAAC,6BAA6B;MAAE,CAAC,CAAC;MACvD;IACF;IAEA,IAAIiC,iBAAiB,KAAK,UAAU,EAAE;MACpCjB,UAAU,GAAG,UAAU,CAAC;IAC1B,CAAC,MAAM;MACL,MAAM+C,YAAY,GAAGpB,KAAK,CAACqB,IAAI,CAC5BC,IAAS,IAAKA,IAAI,CAACC,cAAc,KAAKjC,iBACzC,CAAC;MAED,IAAI8B,YAAY,EAAE;QAChB/C,UAAU,GAAG+C,YAAY,CAAC;MAC5B,CAAC,MAAM;QACLR,iBAAK,CAACC,IAAI,CAAC;UAAEC,KAAK,EAAEzD,CAAC,CAAC,kCAAkC;QAAE,CAAC,CAAC;MAC9D;IACF;EACF,CAAC;EAED,MAAMmE,cAAc,GAClB7B,WAAW,IAAIrB,YAAY,IAAI4C,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAChD,CAAC;IAAEI,cAAc,EAAE,UAAU;IAAEE,UAAU,EAAE;EAAK,CAAC,EAAE,GAAGzB,KAAK,CAAC,GAC5DA,KAAK;EAEX,IAAIE,SAAS,EAAE;IACb,oBAAOlE,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACtF,iBAAA,CAAAuF,iBAAiB,MAAE,CAAC;EAC9B;EAEA,oBACE3F,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAyF,IAAI;IAACC,IAAI,EAAE;EAAE,gBACZ7F,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAyF,IAAI;IAACE,EAAE,EAAC,IAAI;IAACC,EAAE,EAAC,YAAY;IAACF,IAAI,EAAE;EAAE,gBACpC7F,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAA6F,UAAU;IACT9B,SAAS,EAAED,UAAU,IAAIZ,kBAAkB,IAAIK;EAAsB,CACtE,CAAC,eACF1D,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAAClF,YAAA,CAAAyF,QAAQ;IACPC,SAAS,EAAE;MAAE5C,iBAAiB;MAAED;IAAmB,CAAE;IACrD8C,cAAc,eACZnG,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAiG,cAAc;MAACC,UAAU,EAAEpC,UAAW;MAACqC,SAAS,EAAEnC;IAAQ,CAAE,CAC9D;IACDJ,IAAI,EAAEyB,cAAe;IACrBe,4BAA4B,EAAE,KAAM;IACpCC,UAAU,EAAEA,CAAC;MAAEC,IAAI,EAAEnB;IAAK,CAAC,kBACzBtF,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAAC9E,QAAA,CAAA8F,OAAO;MACNC,UAAU,EAAEtD,kBAAmB;MAC/BuD,UAAU,EAAEtD,iBAAiB,KAAKgC,IAAI,CAACC,cAAe;MACtDsB,YAAY,EAAE,CAAC,CAACxE,UAAW;MAC3BoD,UAAU,EAAEH,IAAI,CAACG,UAAW;MAC5BH,IAAI,EAAEA,IAAK;MACXwB,QAAQ,EAAGC,EAAU,IAAK;QACxB,IAAI,CAACzB,IAAI,CAACG,UAAU,EAAE;UACpBrC,WAAW,CAAC2D,EAAE,CAAC;QACjB;MACF,CAAE;MACFC,QAAQ,EAAGzB,cAAsB,IAAK;QACpChC,oBAAoB,CAACgC,cAAc,CAAC;QACpC,IAAI,CAACD,IAAI,CAACG,UAAU,EAAE;UACpBhC,cAAc,CAAC;YACbK,SAAS,EAAEyB,cAAc;YACzB0B,SAAS,EAAEtE,QAAQ,CAACsE,SAAS;YAC7BC,gBAAgB,EAAEvE,QAAQ,CAACuE;UAC7B,CAAC,CAAC;QACJ;MACF;IAAE,CACH,CACD;IACFC,mBAAmB,EACjB3B,cAAc,CAACP,MAAM,GAAG,CAAC,gBACvBjF,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAiH,IAAI;MAACC,EAAE,EAAC,GAAG;MAACC,OAAO,EAAC;IAAa,GAC/BjG,CAAC,CAAC,wBAAwB,CACvB,CAAC,gBAEPrB,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAiH,IAAI;MAACE,OAAO,EAAC,WAAW;MAACC,KAAK,EAAC;IAAS,GACtClG,CAAC,CAAC,sBAAsB,CACrB,CAET;IACDmG,mBAAmB,eACjBxH,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAyF,IAAI;MAAC6B,UAAU,EAAC;IAAY,gBAC3BzH,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAuH,MAAM;MACLC,EAAE,EAAC,IAAI;MACPC,OAAO,EAAEzE,eAAgB;MACzB0E,OAAO,EAAEzD,aAAc;MACvB0D,IAAI,EAAC,MAAM;MACXC,IAAI,EAAC;IAAM,GAEV1G,CAAC,CAAC,iBAAiB,CACd,CACJ;EACP,CACF,CACG,CAAC,EACN,CAAC,CAACgB,UAAU,iBACXrC,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAyF,IAAI;IACHG,EAAE,EAAC,oBAAoB;IACvBiC,MAAM,EAAE,EAAG;IACXC,OAAO,EAAC,IAAI;IACZC,cAAc,EAAC,eAAe;IAC9BC,aAAa,EAAC,KAAK;IACnBC,KAAK,EAAC;EAAM,gBAEZpI,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAyF,IAAI,qBACH5F,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAiH,IAAI;IAACE,OAAO,EAAC,WAAW;IAACC,KAAK,EAAC;EAAW,GACxClG,CAAC,CAAC,eAAe,CACd,CAAC,eACPrB,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAiH,IAAI;IAACE,OAAO,EAAC,YAAY;IAACC,KAAK,EAAC;EAAW,GACzChF,KACG,CACF,CAAC,eACPvC,MAAA,CAAAgB,OAAA,CAAA0E,aAAA,CAACvF,WAAA,CAAAuH,MAAM;IACLK,IAAI,EAAC,WAAW;IAChBC,MAAM,EAAE,EAAG;IACXI,KAAK,EAAC,MAAM;IACZC,SAAS,EAAC,QAAQ;IAClBtC,EAAE,EAAC,SAAS;IACZuC,UAAU,EAAE;MAAEf,KAAK,EAAE9E,KAAK,CAAC8F,MAAM,CAACC;IAAW,CAAE;IAC/CX,OAAO,EAAE7C;EAAc,GAEtBhB,KAAK,CAACiB,MAAM,GAAG,CAAC,IAAItB,WAAW,GAC5BtC,CAAC,CAAC,0BAA0B,CAAC,GAC7BA,CAAC,CAAC,mBAAmB,CACnB,CACJ,CAEJ,CAAC;AAEX,CAAC;AAACoH,OAAA,CAAArG,UAAA,GAAAA,UAAA"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_components","_reactNativePaper","_reactNativeUuid","_interopRequireDefault","_reactI18next","_reactNative","_square","_useCustomer","_CustomerProvider","_CardRow","_useApplePay","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","SavedCards","onCheckout","showApplePay","total","useTranslation","theme","useTheme","customerCtx","useContext","CustomerContext","__DEV__","console","warn","useFetchCustomer","useSaveCustomerCard","useFetchSavedCards","useDisableCard","useUpdateCustomer","useCustomerQueries","data","customer","saveCard","saveCardLoading","disableCard","disableCardLoading","selectedPaymentId","setSelectedPaymentId","useState","updateCustomer","updateCustomerLoading","hasApplePay","useApplePay","useEffect","paymentId","cards","isFetching","isLoading","refetch","handleAddCard","onStartCardEntry","cardDetails","sourceId","nonce","idempotentKey","uuid","v4","Alert","show","title","description","handleUseCard","length","Platform","OS","selectedCard","find","card","linkedObjectId","paymentMethods","isApplePay","createElement","ActivityIndicator","View","flex","px","bg","LineLoader","FlatList","extraData","refreshControl","RefreshControl","refreshing","onRefresh","showsVerticalScrollIndicator","renderItem","item","CardRow","isDisabled","isSelected","isSelectable","onDelete","id","onSelect","addressId","squareCustomerId","ListHeaderComponent","Text","mb","variant","color","ListFooterComponent","alignItems","Button","pt","loading","onPress","icon","mode","height","padding","justifyContent","flexDirection","width","alignSelf","labelStyle","colors","background","exports"],"sourceRoot":"../../../../src","sources":["screens/SavedCards/SavedCards.tsx"],"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","set","key","value","getPeople","reset","analytics"],"sourceRoot":"../../../src","sources":["utils/analytics.ts"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA+C,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAa/C,MAAMG,mBAAmB,GAAGA,CAAA,KAErB;EACL,OAAQC,MAAS,IAAK;IACpB,IAAI,YAAY,IAAIA,MAAM,IAAIA,MAAM,CAACC,UAAU,EAAE;MAC/CC,QAAQ,EAAEC,KAAK,CAACH,MAAM,CAACI,SAAS,EAAEJ,MAAM,CAACC,UAAU,CAAC;IACtD,CAAC,MAAM;MACLC,QAAQ,EAAEC,KAAK,CAACH,MAAM,CAACI,SAAS,CAAC;IACnC;EACF,CAAC;AACH,CAAC;AAED,IAAIF,QAAkB;AACf,MAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvBE,IAAI,EAAEA,CAAA,KAAyD;IAC7D,MAAMC,oBAAoB,GAAG,KAAK;IAClC;IACAN,QAAQ,GAAG,IAAIO,6BAAQ,CAACC,0BAAM,CAACC,cAAc,EAAEH,oBAAoB,CAAC;IACpEN,QAAQ,CAACK,IAAI,CAAC,CAAC;IAEf,MAAMK,6BAA6B,GAAGA,CAAA,KAAM;MAC1CV,QAAQ,CAACW,uBAAuB,CAAC;QAC/BC,OAAO,EAAEC,qBAAQ,CAACC;MACpB,CAAC,CAAC;MACF,MAAMC,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;MACpCjB,QAAQ,CAACkB,2BAA2B,CAAC;QACnCC,GAAG,EAAEX,0BAAM,CAACY,UAAU;QACtBC,QAAQ,EAAER,qBAAQ,CAACS,EAAE;QACrBC,kBAAkB,EAAER;MACtB,CAAC,CAAC;IACJ,CAAC;IAED,MAAMS,QAAQ,GAAIC,MAAc,IAAK;MACnCzB,QAAQ,EAAEwB,QAAQ,CAACC,MAAM,CAAC;MAC1B;MACAf,6BAA6B,CAAC,CAAC;IACjC,CAAC;IAED,MAAMgB,WAAW,GAAG,IAAAC,aAAI,EAAC,CAAC,CAACD,WAAW;IACtC,IAAIA,WAAW,EAAEE,WAAW,EAAE;MAC5B;MACAlB,6BAA6B,CAAC,CAAC;IACjC,CAAC,MAAM,IAAIgB,WAAW,EAAE;MACtB;MACA;MACAF,QAAQ,CAACE,WAAW,CAACG,GAAG,CAAC;IAC3B;IAEA,OAAO;MACLlB,uBAAuB,EAAGZ,UAA8B,IACtDC,QAAQ,CAACW,uBAAuB,CAACZ,UAAU,CAAC;MAC9C+B,uBAAuB,EAAGC,YAAoB,IAC5C/B,QAAQ,CAAC8B,uBAAuB,CAACC,YAAY,CAAC;MAChD9B,KAAK,EAAEJ,mBAAmB,CAAuB,CAAC;MAClD2B,QAAQ;MACRQ,OAAO,EAAE;QACPC,GAAG,EAAEA,CAACC,GAAW,EAAEC,KAAW,KAAK;UACjCnC,QAAQ,EAAEoC,SAAS,CAAC,CAAC,EAAEH,GAAG,CAACC,GAAG,EAAEC,KAAK,CAAC;QACxC;MACF,CAAC;MACDE,KAAK,EAAEA,CAAA,KAAM;QACXrC,QAAQ,EAAEqC,KAAK,CAAC,CAAC;QACjB;QACA3B,6BAA6B,CAAC,CAAC;MACjC;IACF,CAAC;EACH;AACF,CAAC;AAEM,MAAM4B,SAAS,GAAAlC,OAAA,CAAAkC,SAAA,GAAGnC,SAAS,CAACE,IAAI,CAAC,CAAC"}
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,4 +1,4 @@
1
- export const EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$|^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[^@\s]+\.[^@\s]+$/;
1
+ export const EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$|^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[^@\s]+\.[^@\s]+$/;
2
2
  export const MMKV_KEYS = {
3
3
  BUSINESS_ID: 'BUSINESS_ID'
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"names":["EMAIL_REGEX","MMKV_KEYS","BUSINESS_ID","PRIVACY_POLICY","TERMS_OF_SERVICE"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GACtB,4LAA4L;AAE9L,OAAO,MAAMC,SAAS,GAAG;EACvBC,WAAW,EAAE;AACf,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,wCAAwC;AACtE,OAAO,MAAMC,gBAAgB,GAAG,oCAAoC"}
1
+ {"version":3,"names":["EMAIL_REGEX","MMKV_KEYS","BUSINESS_ID","PRIVACY_POLICY","TERMS_OF_SERVICE"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GACtB,0LAA0L;AAE5L,OAAO,MAAMC,SAAS,GAAG;EACvBC,WAAW,EAAE;AACf,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,wCAAwC;AACtE,OAAO,MAAMC,gBAAgB,GAAG,oCAAoC"}
@@ -2,7 +2,6 @@ export { useDeactivateAccount } from './useDeactivateAccount';
2
2
  export { useTermsOfService, acceptTOS } from './useTermsOfService';
3
3
  export { useAuth } from './useAuth';
4
4
  export { useCustomerQueries } from './useCustomer';
5
- export { useCheckCustomer } from './useCheckCustomer';
6
5
  export { useAppVersionCheck } from './useAppVersionCheck';
7
6
  export { useBusinesses } from './useBusinesses';
8
7
  export { useLogout } from './useLogout';
@@ -1 +1 @@
1
- {"version":3,"names":["useDeactivateAccount","useTermsOfService","acceptTOS","useAuth","useCustomerQueries","useCheckCustomer","useAppVersionCheck","useBusinesses","useLogout","useCreateBusiness","useSaveDeviceDetails","useFirebaseMediaUrl"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,iBAAiB,EAAEC,SAAS,QAAQ,qBAAqB;AAClE,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,kBAAkB,QAAQ,eAAe;AAClD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,oBAAoB,QAAQ,iBAAiB;AACtD,SAASC,mBAAmB,QAAQ,uBAAuB"}
1
+ {"version":3,"names":["useDeactivateAccount","useTermsOfService","acceptTOS","useAuth","useCustomerQueries","useAppVersionCheck","useBusinesses","useLogout","useCreateBusiness","useSaveDeviceDetails","useFirebaseMediaUrl"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,iBAAiB,EAAEC,SAAS,QAAQ,qBAAqB;AAClE,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,kBAAkB,QAAQ,eAAe;AAClD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,oBAAoB,QAAQ,iBAAiB;AACtD,SAASC,mBAAmB,QAAQ,uBAAuB"}
@@ -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","identify","uid","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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"}
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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"}
@@ -1,9 +1,7 @@
1
- import { useEffect } from 'react';
2
1
  import { Alert } from '../components';
3
2
  import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
4
3
  import firestore from '@react-native-firebase/firestore';
5
- import uuid from 'react-native-uuid';
6
- import { connectSquareCustomer, connectSquareLoyalty, createCustomer, fetchLoyaltyRewards, fetchSquareLoyalty, getCustomer, saveCustomerAddress, saveCustomerCard, updateCustomerProfile } from '../api/customer';
4
+ import { createCustomer, fetchLoyaltyRewards, getCustomer, saveCustomerAddress, saveCustomerCard, updateCustomerProfile } from '../api/customer';
7
5
  import { useMMKVString } from 'react-native-mmkv';
8
6
  import { MMKV_KEYS } from '../constants';
9
7
  import { queryKeys } from './queryKeys';
@@ -13,11 +11,6 @@ export const useCustomerQueries = () => {
13
11
  const user = firebase().currentUser;
14
12
  const [selectedBusinessId] = useMMKVString(MMKV_KEYS.BUSINESS_ID);
15
13
  const isLoggedIn = user && !user.isAnonymous;
16
- useEffect(() => {
17
- if (!isLoggedIn) {
18
- queryClient.invalidateQueries([queryKeys.LOYALTY, user?.uid]);
19
- }
20
- }, [isLoggedIn, queryClient, user?.uid]);
21
14
  return {
22
15
  useFetchCustomer: () => useQuery([queryKeys.CUSTOMER, user?.uid], async () => {
23
16
  if (isLoggedIn) {
@@ -112,38 +105,6 @@ export const useCustomerQueries = () => {
112
105
  }, {
113
106
  enabled: Boolean(isLoggedIn)
114
107
  }),
115
- useFetchSquareProgram: queryOptions => useQuery([queryKeys.PROGRAM, user?.uid, selectedBusinessId], async () => {
116
- if (isLoggedIn) {
117
- const programs = await firestore().collection(`customers/${user?.uid}/programs`).where('type', '==', 'customer').where('businessId', '==', selectedBusinessId).orderBy('updated', 'asc').get();
118
- if (programs.docs.length > 0) {
119
- return programs.docs.map(program => program.data())[0];
120
- } else {
121
- return null;
122
- }
123
- } else {
124
- return null;
125
- }
126
- }, {
127
- enabled: Boolean(isLoggedIn && selectedBusinessId),
128
- ...queryOptions
129
- }),
130
- useFetchSquareLoyalty: queryOptions => useQuery([queryKeys.LOYALTY, user?.uid ?? 'no-user', selectedBusinessId ?? 'no-biz'], async () => {
131
- const response = await fetchSquareLoyalty(user.uid, selectedBusinessId);
132
- if (response?.data?.error) {
133
- throw new Error(response.data.error.message || 'Unknown error occurred');
134
- }
135
- return response;
136
- }, {
137
- enabled: Boolean(isLoggedIn && user?.uid && selectedBusinessId),
138
- refetchOnWindowFocus: false,
139
- refetchOnReconnect: false,
140
- refetchOnMount: false,
141
- staleTime: 5 * 60 * 1000,
142
- cacheTime: 30 * 60 * 1000,
143
- retry: 0,
144
- select: res => res?.data,
145
- ...(queryOptions || {})
146
- }),
147
108
  useSaveCustomerCard: () => {
148
109
  const mutation = useMutation(async data => {
149
110
  if (isLoggedIn) {
@@ -187,53 +148,6 @@ export const useCustomerQueries = () => {
187
148
  disableCardLoading: mutation.isLoading
188
149
  };
189
150
  },
190
- useConnectSquareLoyalty: () => {
191
- const mutation = useMutation(async () => {
192
- if (isLoggedIn && selectedBusinessId) {
193
- const response = await connectSquareLoyalty(user?.uid, {
194
- businessId: selectedBusinessId,
195
- idempotentKey: uuid.v4(),
196
- uid: user?.uid
197
- });
198
- if (response?.data?.error) {
199
- throw new Error(response.data.error.message || 'Unknown error occurred');
200
- }
201
- return response;
202
- }
203
- return null;
204
- }, {
205
- onSuccess: () => {
206
- queryClient.invalidateQueries([queryKeys.LOYALTY, user?.uid]);
207
- }
208
- });
209
- return {
210
- connectSquareLoyalty: mutation.mutate,
211
- connectLoyaltyLoading: mutation.isLoading
212
- };
213
- },
214
- useConnectSquareCustomer: () => {
215
- const mutation = useMutation(async () => {
216
- if (isLoggedIn && selectedBusinessId) {
217
- await connectSquareCustomer(user?.uid, {
218
- businessId: selectedBusinessId,
219
- idempotentKey: uuid.v4(),
220
- uid: user?.uid
221
- });
222
- }
223
- }, {
224
- onError: err => Alert.show({
225
- title: 'Code ' + err?.code,
226
- description: err?.message
227
- }),
228
- onSuccess: () => {
229
- queryClient.invalidateQueries([queryKeys.PROGRAM, user?.uid]);
230
- }
231
- });
232
- return {
233
- connectSquare: mutation.mutate,
234
- connectSquareLoading: mutation.isLoading
235
- };
236
- },
237
151
  useFetchLoyaltyRewards: options => useQuery([queryKeys.REWARDS, selectedBusinessId], async () => {
238
152
  if (selectedBusinessId) return await fetchLoyaltyRewards(selectedBusinessId);else {
239
153
  return {};