@kiosinc/commons-rn 0.8.0 → 0.9.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 (34) hide show
  1. package/lib/commonjs/hooks/queryKeys.js +2 -1
  2. package/lib/commonjs/hooks/queryKeys.js.map +1 -1
  3. package/lib/commonjs/hooks/useCreateBusiness.js +1 -0
  4. package/lib/commonjs/hooks/useCreateBusiness.js.map +1 -1
  5. package/lib/commonjs/screens/SelectBusiness/CreateBusinessBottomSheet.js +35 -5
  6. package/lib/commonjs/screens/SelectBusiness/CreateBusinessBottomSheet.js.map +1 -1
  7. package/lib/commonjs/utils/index.js +9 -1
  8. package/lib/commonjs/utils/index.js.map +1 -1
  9. package/lib/commonjs/utils/order.js +20 -0
  10. package/lib/commonjs/utils/order.js.map +1 -0
  11. package/lib/module/hooks/queryKeys.js +2 -1
  12. package/lib/module/hooks/queryKeys.js.map +1 -1
  13. package/lib/module/hooks/useCreateBusiness.js +1 -0
  14. package/lib/module/hooks/useCreateBusiness.js.map +1 -1
  15. package/lib/module/screens/SelectBusiness/CreateBusinessBottomSheet.js +35 -5
  16. package/lib/module/screens/SelectBusiness/CreateBusinessBottomSheet.js.map +1 -1
  17. package/lib/module/utils/index.js +1 -0
  18. package/lib/module/utils/index.js.map +1 -1
  19. package/lib/module/utils/order.js +13 -0
  20. package/lib/module/utils/order.js.map +1 -0
  21. package/lib/typescript/src/hooks/queryKeys.d.ts +1 -0
  22. package/lib/typescript/src/hooks/queryKeys.d.ts.map +1 -1
  23. package/lib/typescript/src/hooks/useCreateBusiness.d.ts.map +1 -1
  24. package/lib/typescript/src/screens/SelectBusiness/CreateBusinessBottomSheet.d.ts.map +1 -1
  25. package/lib/typescript/src/utils/index.d.ts +1 -0
  26. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  27. package/lib/typescript/src/utils/order.d.ts +9 -0
  28. package/lib/typescript/src/utils/order.d.ts.map +1 -0
  29. package/package.json +1 -1
  30. package/src/hooks/queryKeys.ts +1 -0
  31. package/src/hooks/useCreateBusiness.ts +1 -0
  32. package/src/screens/SelectBusiness/CreateBusinessBottomSheet.tsx +47 -6
  33. package/src/utils/index.ts +1 -0
  34. package/src/utils/order.ts +18 -0
@@ -12,7 +12,8 @@ const queryKeys = exports.queryKeys = {
12
12
  CUSTOMER: 'CUSTOMER',
13
13
  PROGRAM: 'PROGRAM',
14
14
  LOYALTY: 'LOYALTY',
15
- REWARDS: 'REWARDS'
15
+ REWARDS: 'REWARDS',
16
+ CREATE_BUSINESS: 'CREATE_BUSINESS'
16
17
  };
17
18
  const DEFAULT_STALE_TIME = exports.DEFAULT_STALE_TIME = 60 * (60 * 1000); // 60 mins
18
19
  //# sourceMappingURL=queryKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["queryKeys","exports","BUSINESSES","TERMS_AND_CONDITIONS","TERMS_AND_CONDITIONS_URL","CARDS","CUSTOMER","PROGRAM","LOYALTY","REWARDS","DEFAULT_STALE_TIME"],"sourceRoot":"../../../src","sources":["hooks/queryKeys.ts"],"mappings":";;;;;;AAAO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvBE,UAAU,EAAE,YAAY;EACxBC,oBAAoB,EAAE,sBAAsB;EAC5CC,wBAAwB,EAAE,0BAA0B;EACpDC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE;AACX,CAAC;AAEM,MAAMC,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"names":["queryKeys","exports","BUSINESSES","TERMS_AND_CONDITIONS","TERMS_AND_CONDITIONS_URL","CARDS","CUSTOMER","PROGRAM","LOYALTY","REWARDS","CREATE_BUSINESS","DEFAULT_STALE_TIME"],"sourceRoot":"../../../src","sources":["hooks/queryKeys.ts"],"mappings":";;;;;;AAAO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvBE,UAAU,EAAE,YAAY;EACxBC,oBAAoB,EAAE,sBAAsB;EAC5CC,wBAAwB,EAAE,0BAA0B;EACpDC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE;AACnB,CAAC;AAEM,MAAMC,kBAAkB,GAAAV,OAAA,CAAAU,kBAAA,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC"}
@@ -14,6 +14,7 @@ const useCreateBusiness = ({
14
14
  return (0, _reactQuery.useMutation)(async params => {
15
15
  await (0, _authentication.signUpAPI)(params);
16
16
  }, {
17
+ mutationKey: [_queryKeys.queryKeys.CREATE_BUSINESS],
17
18
  onSuccess: () => {
18
19
  queryClient.invalidateQueries([_queryKeys.queryKeys.BUSINESSES]);
19
20
  onSuccess();
@@ -1 +1 @@
1
- {"version":3,"names":["_reactQuery","require","_queryKeys","_authentication","useCreateBusiness","onSuccess","queryClient","useQueryClient","useMutation","params","signUpAPI","invalidateQueries","queryKeys","BUSINESSES","exports"],"sourceRoot":"../../../src","sources":["hooks/useCreateBusiness.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAEO,MAAMG,iBAAiB,GAAGA,CAAC;EAAEC;AAAqC,CAAC,KAAK;EAC7E,MAAMC,WAAW,GAAG,IAAAC,0BAAc,EAAC,CAAC;EACpC,OAAO,IAAAC,uBAAW,EAChB,MAAOC,MAAW,IAAK;IACrB,MAAM,IAAAC,yBAAS,EAACD,MAAM,CAAC;EACzB,CAAC,EACD;IACEJ,SAAS,EAAEA,CAAA,KAAM;MACfC,WAAW,CAACK,iBAAiB,CAAC,CAACC,oBAAS,CAACC,UAAU,CAAC,CAAC;MACrDR,SAAS,CAAC,CAAC;IACb;EACF,CACF,CAAC;AACH,CAAC;AAACS,OAAA,CAAAV,iBAAA,GAAAA,iBAAA"}
1
+ {"version":3,"names":["_reactQuery","require","_queryKeys","_authentication","useCreateBusiness","onSuccess","queryClient","useQueryClient","useMutation","params","signUpAPI","mutationKey","queryKeys","CREATE_BUSINESS","invalidateQueries","BUSINESSES","exports"],"sourceRoot":"../../../src","sources":["hooks/useCreateBusiness.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAEO,MAAMG,iBAAiB,GAAGA,CAAC;EAAEC;AAAqC,CAAC,KAAK;EAC7E,MAAMC,WAAW,GAAG,IAAAC,0BAAc,EAAC,CAAC;EACpC,OAAO,IAAAC,uBAAW,EAChB,MAAOC,MAAW,IAAK;IACrB,MAAM,IAAAC,yBAAS,EAACD,MAAM,CAAC;EACzB,CAAC,EACD;IACEE,WAAW,EAAE,CAACC,oBAAS,CAACC,eAAe,CAAC;IACxCR,SAAS,EAAEA,CAAA,KAAM;MACfC,WAAW,CAACQ,iBAAiB,CAAC,CAACF,oBAAS,CAACG,UAAU,CAAC,CAAC;MACrDV,SAAS,CAAC,CAAC;IACb;EACF,CACF,CAAC;AACH,CAAC;AAACW,OAAA,CAAAZ,iBAAA,GAAAA,iBAAA"}
@@ -17,11 +17,16 @@ const CreateBusinessBottomSheet = exports.CreateBusinessBottomSheet = /*#__PURE_
17
17
  close
18
18
  }, ref) => {
19
19
  const [name, setName] = (0, _react.useState)('');
20
+ const [isSubmitting, setIsSubmitting] = (0, _react.useState)(false);
21
+ const [lastSubmittedName, setLastSubmittedName] = (0, _react.useState)('');
20
22
  const {
21
23
  mutate: createNewMenuGroup,
22
- isLoading
24
+ isLoading,
25
+ error
23
26
  } = (0, _hooks.useCreateBusiness)({
24
27
  onSuccess: () => {
28
+ setIsSubmitting(false);
29
+ setLastSubmittedName('');
25
30
  close();
26
31
  }
27
32
  });
@@ -29,9 +34,33 @@ const CreateBusinessBottomSheet = exports.CreateBusinessBottomSheet = /*#__PURE_
29
34
  t
30
35
  } = (0, _reactI18next.useTranslation)();
31
36
  const textInputRef = (0, _react.useRef)();
37
+ (0, _react.useEffect)(() => {
38
+ if (error) {
39
+ setIsSubmitting(false);
40
+ }
41
+ }, [error]);
42
+ (0, _react.useEffect)(() => {
43
+ if (!isVisible) {
44
+ setIsSubmitting(false);
45
+ setLastSubmittedName('');
46
+ }
47
+ }, [isVisible]);
32
48
  const onCreate = () => {
49
+ const trimmedName = name.trim();
50
+
51
+ // Guard against multiple submissions
52
+ if (isSubmitting || isLoading || trimmedName.length === 0) {
53
+ return;
54
+ }
55
+
56
+ // Guard against duplicate submissions of the same name
57
+ if (trimmedName === lastSubmittedName) {
58
+ return;
59
+ }
60
+ setIsSubmitting(true);
61
+ setLastSubmittedName(trimmedName);
33
62
  createNewMenuGroup({
34
- name: name.trim()
63
+ name: trimmedName
35
64
  });
36
65
  setName('');
37
66
  };
@@ -67,10 +96,11 @@ const CreateBusinessBottomSheet = exports.CreateBusinessBottomSheet = /*#__PURE_
67
96
  justifyContent: "flex-end"
68
97
  }, /*#__PURE__*/_react.default.createElement(_components.Button, {
69
98
  mode: "text",
70
- onPress: close
99
+ onPress: close,
100
+ disabled: isSubmitting || isLoading
71
101
  }, t('commons.cancel')), /*#__PURE__*/_react.default.createElement(_components.Button, {
72
- loading: isLoading,
73
- disabled: isLoading || name.trim().length === 0,
102
+ loading: isLoading || isSubmitting,
103
+ disabled: isLoading || isSubmitting || name.trim().length === 0,
74
104
  mode: "text",
75
105
  onPress: onCreate
76
106
  }, t('commons.create'))))));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_components","_bottomSheet","_reactI18next","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","CreateBusinessBottomSheet","exports","forwardRef","isVisible","close","ref","name","setName","useState","mutate","createNewMenuGroup","isLoading","useCreateBusiness","onSuccess","useTranslation","textInputRef","useRef","onCreate","trim","useEffect","current","focus","createElement","BottomSheet","pressBehavior","View","px","bg","flex","Text","pt","variant","KeyboardAvoidingView","TextInput","render","props","BottomSheetTextInput","mt","mode","onChangeText","value","label","flexDirection","justifyContent","Button","onPress","loading","disabled"],"sourceRoot":"../../../../src","sources":["screens/SelectBusiness/CreateBusinessBottomSheet.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_components","_bottomSheet","_reactI18next","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","CreateBusinessBottomSheet","exports","forwardRef","isVisible","close","ref","name","setName","useState","isSubmitting","setIsSubmitting","lastSubmittedName","setLastSubmittedName","mutate","createNewMenuGroup","isLoading","error","useCreateBusiness","onSuccess","useTranslation","textInputRef","useRef","useEffect","onCreate","trimmedName","trim","current","focus","createElement","BottomSheet","pressBehavior","View","px","bg","flex","Text","pt","variant","KeyboardAvoidingView","TextInput","render","props","BottomSheetTextInput","mt","mode","onChangeText","value","label","flexDirection","justifyContent","Button","onPress","disabled","loading"],"sourceRoot":"../../../../src","sources":["screens/SelectBusiness/CreateBusinessBottomSheet.tsx"],"mappings":"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"}
@@ -27,7 +27,14 @@ Object.defineProperty(exports, "createColorPalette", {
27
27
  return _colorPaletteGenerator.createColorPalette;
28
28
  }
29
29
  });
30
- exports.getPercentageFromHeight = exports.getCurrentTimestamp = exports.getAvatarLetter = void 0;
30
+ exports.getCurrentTimestamp = exports.getAvatarLetter = void 0;
31
+ Object.defineProperty(exports, "getOrderItemsCount", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _order.getOrderItemsCount;
35
+ }
36
+ });
37
+ exports.getPercentageFromHeight = void 0;
31
38
  Object.defineProperty(exports, "useMultiSnapBottomSheetRef", {
32
39
  enumerable: true,
33
40
  get: function () {
@@ -55,6 +62,7 @@ var _currency = require("./currency");
55
62
  var _useMultiSnapBottomSheetRef = require("./useMultiSnapBottomSheetRef");
56
63
  var _useSingleSnapBottomSheetRef = require("./useSingleSnapBottomSheetRef");
57
64
  var _useMultiSnapModal = require("./useMultiSnapModal");
65
+ var _order = require("./order");
58
66
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
59
67
  const getPercentageFromHeight = height => {
60
68
  const totalHeight = _reactNative.Dimensions.get('window').height - (_reactNativeSafeAreaContext.initialWindowMetrics?.insets?.top ?? 0) - (_reactNativeSafeAreaContext.initialWindowMetrics?.insets?.bottom ?? 0);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeSafeAreaContext","_firestore","_interopRequireDefault","_analytics","_colorPaletteGenerator","_currency","_useMultiSnapBottomSheetRef","_useSingleSnapBottomSheetRef","_useMultiSnapModal","obj","__esModule","default","getPercentageFromHeight","height","totalHeight","Dimensions","get","initialWindowMetrics","insets","top","bottom","Math","ceil","exports","getCurrentTimestamp","firestoreTimestamp","firestore","Timestamp","now","toDate","formattedTimestamp","toISOString","getAvatarLetter","string","charAt","toUpperCase"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AAkBA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,2BAAA,GAAAP,OAAA;AAIA,IAAAQ,4BAAA,GAAAR,OAAA;AAIA,IAAAS,kBAAA,GAAAT,OAAA;AAA8E,SAAAG,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA3BvE,MAAMG,uBAAuB,GAAIC,MAAc,IAAa;EACjE,MAAMC,WAAW,GACfC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACH,MAAM,IAC9BI,gDAAoB,EAAEC,MAAM,EAAEC,GAAG,IAAI,CAAC,CAAC,IACvCF,gDAAoB,EAAEC,MAAM,EAAEE,MAAM,IAAI,CAAC,CAAC;EAE7C,OAAOC,IAAI,CAACC,IAAI,CAAET,MAAM,GAAGC,WAAW,GAAI,GAAG,CAAC,GAAG,GAAG;AACtD,CAAC;AAACS,OAAA,CAAAX,uBAAA,GAAAA,uBAAA;AAEK,MAAMY,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,kBAAkB,GAAGC,kBAAS,CAACC,SAAS,CAACC,GAAG,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC;EAC7D,MAAMC,kBAAkB,GAAGL,kBAAkB,CAACM,WAAW,CAAC,CAAC;EAE3D,OAAOD,kBAAkB;AAC3B,CAAC;AAACP,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAeK,MAAMQ,eAAe,GAAIC,MAAW,IAAK;EAC9C,OAAOA,MAAM,EAAEC,MAAM,CAAC,CAAC,CAAC,EAAEC,WAAW,CAAC,CAAC,IAAI,EAAE;AAC/C,CAAC;AAACZ,OAAA,CAAAS,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeSafeAreaContext","_firestore","_interopRequireDefault","_analytics","_colorPaletteGenerator","_currency","_useMultiSnapBottomSheetRef","_useSingleSnapBottomSheetRef","_useMultiSnapModal","_order","obj","__esModule","default","getPercentageFromHeight","height","totalHeight","Dimensions","get","initialWindowMetrics","insets","top","bottom","Math","ceil","exports","getCurrentTimestamp","firestoreTimestamp","firestore","Timestamp","now","toDate","formattedTimestamp","toISOString","getAvatarLetter","string","charAt","toUpperCase"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AAkBA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,2BAAA,GAAAP,OAAA;AAIA,IAAAQ,4BAAA,GAAAR,OAAA;AAIA,IAAAS,kBAAA,GAAAT,OAAA;AAKA,IAAAU,MAAA,GAAAV,OAAA;AAA6C,SAAAG,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAhCtC,MAAMG,uBAAuB,GAAIC,MAAc,IAAa;EACjE,MAAMC,WAAW,GACfC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACH,MAAM,IAC9BI,gDAAoB,EAAEC,MAAM,EAAEC,GAAG,IAAI,CAAC,CAAC,IACvCF,gDAAoB,EAAEC,MAAM,EAAEE,MAAM,IAAI,CAAC,CAAC;EAE7C,OAAOC,IAAI,CAACC,IAAI,CAAET,MAAM,GAAGC,WAAW,GAAI,GAAG,CAAC,GAAG,GAAG;AACtD,CAAC;AAACS,OAAA,CAAAX,uBAAA,GAAAA,uBAAA;AAEK,MAAMY,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,kBAAkB,GAAGC,kBAAS,CAACC,SAAS,CAACC,GAAG,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC;EAC7D,MAAMC,kBAAkB,GAAGL,kBAAkB,CAACM,WAAW,CAAC,CAAC;EAE3D,OAAOD,kBAAkB;AAC3B,CAAC;AAACP,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAeK,MAAMQ,eAAe,GAAIC,MAAW,IAAK;EAC9C,OAAOA,MAAM,EAAEC,MAAM,CAAC,CAAC,CAAC,EAAEC,WAAW,CAAC,CAAC,IAAI,EAAE;AAC/C,CAAC;AAACZ,OAAA,CAAAS,eAAA,GAAAA,eAAA"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getOrderItemsCount = void 0;
7
+ const getOrderItemsCount = order => {
8
+ if (!order) {
9
+ return 0;
10
+ }
11
+ if (order.products) {
12
+ return order.products.reduce((sum, item) => sum + item._quantity, 0);
13
+ }
14
+ if (order.lineItems) {
15
+ return order.lineItems.reduce((sum, item) => sum + item.quantity, 0);
16
+ }
17
+ return 0;
18
+ };
19
+ exports.getOrderItemsCount = getOrderItemsCount;
20
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOrderItemsCount","order","products","reduce","sum","item","_quantity","lineItems","quantity","exports"],"sourceRoot":"../../../src","sources":["utils/order.ts"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAIC,KAGlC,IAAa;EACZ,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,CAAC;EACV;EAEA,IAAIA,KAAK,CAACC,QAAQ,EAAE;IAClB,OAAOD,KAAK,CAACC,QAAQ,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAKD,GAAG,GAAGC,IAAI,CAACC,SAAS,EAAE,CAAC,CAAC;EACtE;EAEA,IAAIL,KAAK,CAACM,SAAS,EAAE;IACnB,OAAON,KAAK,CAACM,SAAS,CAACJ,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAKD,GAAG,GAAGC,IAAI,CAACG,QAAQ,EAAE,CAAC,CAAC;EACtE;EAEA,OAAO,CAAC;AACV,CAAC;AAACC,OAAA,CAAAT,kBAAA,GAAAA,kBAAA"}
@@ -6,7 +6,8 @@ export const queryKeys = {
6
6
  CUSTOMER: 'CUSTOMER',
7
7
  PROGRAM: 'PROGRAM',
8
8
  LOYALTY: 'LOYALTY',
9
- REWARDS: 'REWARDS'
9
+ REWARDS: 'REWARDS',
10
+ CREATE_BUSINESS: 'CREATE_BUSINESS'
10
11
  };
11
12
  export const DEFAULT_STALE_TIME = 60 * (60 * 1000); // 60 mins
12
13
  //# sourceMappingURL=queryKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["queryKeys","BUSINESSES","TERMS_AND_CONDITIONS","TERMS_AND_CONDITIONS_URL","CARDS","CUSTOMER","PROGRAM","LOYALTY","REWARDS","DEFAULT_STALE_TIME"],"sourceRoot":"../../../src","sources":["hooks/queryKeys.ts"],"mappings":"AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,UAAU,EAAE,YAAY;EACxBC,oBAAoB,EAAE,sBAAsB;EAC5CC,wBAAwB,EAAE,0BAA0B;EACpDC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"names":["queryKeys","BUSINESSES","TERMS_AND_CONDITIONS","TERMS_AND_CONDITIONS_URL","CARDS","CUSTOMER","PROGRAM","LOYALTY","REWARDS","CREATE_BUSINESS","DEFAULT_STALE_TIME"],"sourceRoot":"../../../src","sources":["hooks/queryKeys.ts"],"mappings":"AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,UAAU,EAAE,YAAY;EACxBC,oBAAoB,EAAE,sBAAsB;EAC5CC,wBAAwB,EAAE,0BAA0B;EACpDC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE;AACnB,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC"}
@@ -8,6 +8,7 @@ export const useCreateBusiness = ({
8
8
  return useMutation(async params => {
9
9
  await signUpAPI(params);
10
10
  }, {
11
+ mutationKey: [queryKeys.CREATE_BUSINESS],
11
12
  onSuccess: () => {
12
13
  queryClient.invalidateQueries([queryKeys.BUSINESSES]);
13
14
  onSuccess();
@@ -1 +1 @@
1
- {"version":3,"names":["useMutation","useQueryClient","queryKeys","signUpAPI","useCreateBusiness","onSuccess","queryClient","params","invalidateQueries","BUSINESSES"],"sourceRoot":"../../../src","sources":["hooks/useCreateBusiness.ts"],"mappings":"AAAA,SAASA,WAAW,EAAEC,cAAc,QAAQ,uBAAuB;AACnE,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,SAAS,QAAQ,uBAAuB;AAEjD,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAAqC,CAAC,KAAK;EAC7E,MAAMC,WAAW,GAAGL,cAAc,CAAC,CAAC;EACpC,OAAOD,WAAW,CAChB,MAAOO,MAAW,IAAK;IACrB,MAAMJ,SAAS,CAACI,MAAM,CAAC;EACzB,CAAC,EACD;IACEF,SAAS,EAAEA,CAAA,KAAM;MACfC,WAAW,CAACE,iBAAiB,CAAC,CAACN,SAAS,CAACO,UAAU,CAAC,CAAC;MACrDJ,SAAS,CAAC,CAAC;IACb;EACF,CACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"names":["useMutation","useQueryClient","queryKeys","signUpAPI","useCreateBusiness","onSuccess","queryClient","params","mutationKey","CREATE_BUSINESS","invalidateQueries","BUSINESSES"],"sourceRoot":"../../../src","sources":["hooks/useCreateBusiness.ts"],"mappings":"AAAA,SAASA,WAAW,EAAEC,cAAc,QAAQ,uBAAuB;AACnE,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,SAAS,QAAQ,uBAAuB;AAEjD,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAAqC,CAAC,KAAK;EAC7E,MAAMC,WAAW,GAAGL,cAAc,CAAC,CAAC;EACpC,OAAOD,WAAW,CAChB,MAAOO,MAAW,IAAK;IACrB,MAAMJ,SAAS,CAACI,MAAM,CAAC;EACzB,CAAC,EACD;IACEC,WAAW,EAAE,CAACN,SAAS,CAACO,eAAe,CAAC;IACxCJ,SAAS,EAAEA,CAAA,KAAM;MACfC,WAAW,CAACI,iBAAiB,CAAC,CAACR,SAAS,CAACS,UAAU,CAAC,CAAC;MACrDN,SAAS,CAAC,CAAC;IACb;EACF,CACF,CAAC;AACH,CAAC"}
@@ -9,11 +9,16 @@ export const CreateBusinessBottomSheet = /*#__PURE__*/forwardRef(({
9
9
  close
10
10
  }, ref) => {
11
11
  const [name, setName] = useState('');
12
+ const [isSubmitting, setIsSubmitting] = useState(false);
13
+ const [lastSubmittedName, setLastSubmittedName] = useState('');
12
14
  const {
13
15
  mutate: createNewMenuGroup,
14
- isLoading
16
+ isLoading,
17
+ error
15
18
  } = useCreateBusiness({
16
19
  onSuccess: () => {
20
+ setIsSubmitting(false);
21
+ setLastSubmittedName('');
17
22
  close();
18
23
  }
19
24
  });
@@ -21,9 +26,33 @@ export const CreateBusinessBottomSheet = /*#__PURE__*/forwardRef(({
21
26
  t
22
27
  } = useTranslation();
23
28
  const textInputRef = useRef();
29
+ useEffect(() => {
30
+ if (error) {
31
+ setIsSubmitting(false);
32
+ }
33
+ }, [error]);
34
+ useEffect(() => {
35
+ if (!isVisible) {
36
+ setIsSubmitting(false);
37
+ setLastSubmittedName('');
38
+ }
39
+ }, [isVisible]);
24
40
  const onCreate = () => {
41
+ const trimmedName = name.trim();
42
+
43
+ // Guard against multiple submissions
44
+ if (isSubmitting || isLoading || trimmedName.length === 0) {
45
+ return;
46
+ }
47
+
48
+ // Guard against duplicate submissions of the same name
49
+ if (trimmedName === lastSubmittedName) {
50
+ return;
51
+ }
52
+ setIsSubmitting(true);
53
+ setLastSubmittedName(trimmedName);
25
54
  createNewMenuGroup({
26
- name: name.trim()
55
+ name: trimmedName
27
56
  });
28
57
  setName('');
29
58
  };
@@ -59,10 +88,11 @@ export const CreateBusinessBottomSheet = /*#__PURE__*/forwardRef(({
59
88
  justifyContent: "flex-end"
60
89
  }, /*#__PURE__*/React.createElement(Button, {
61
90
  mode: "text",
62
- onPress: close
91
+ onPress: close,
92
+ disabled: isSubmitting || isLoading
63
93
  }, t('commons.cancel')), /*#__PURE__*/React.createElement(Button, {
64
- loading: isLoading,
65
- disabled: isLoading || name.trim().length === 0,
94
+ loading: isLoading || isSubmitting,
95
+ disabled: isLoading || isSubmitting || name.trim().length === 0,
66
96
  mode: "text",
67
97
  onPress: onCreate
68
98
  }, t('commons.create'))))));
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useEffect","useRef","useState","Text","Button","KeyboardAvoidingView","TextInput","View","BottomSheet","BottomSheetTextInput","useTranslation","useCreateBusiness","CreateBusinessBottomSheet","isVisible","close","ref","name","setName","mutate","createNewMenuGroup","isLoading","onSuccess","t","textInputRef","onCreate","trim","current","focus","createElement","pressBehavior","px","bg","flex","pt","variant","render","props","_extends","mt","mode","onChangeText","value","label","flexDirection","justifyContent","onPress","loading","disabled","length"],"sourceRoot":"../../../../src","sources":["screens/SelectBusiness/CreateBusinessBottomSheet.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","forwardRef","useEffect","useRef","useState","Text","Button","KeyboardAvoidingView","TextInput","View","BottomSheet","BottomSheetTextInput","useTranslation","useCreateBusiness","CreateBusinessBottomSheet","isVisible","close","ref","name","setName","isSubmitting","setIsSubmitting","lastSubmittedName","setLastSubmittedName","mutate","createNewMenuGroup","isLoading","error","onSuccess","t","textInputRef","onCreate","trimmedName","trim","length","current","focus","createElement","pressBehavior","px","bg","flex","pt","variant","render","props","_extends","mt","mode","onChangeText","value","label","flexDirection","justifyContent","onPress","disabled","loading"],"sourceRoot":"../../../../src","sources":["screens/SelectBusiness/CreateBusinessBottomSheet.tsx"],"mappings":"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"}
@@ -19,4 +19,5 @@ export { useMultiSnapModal } from './useMultiSnapModal';
19
19
  export const getAvatarLetter = string => {
20
20
  return string?.charAt(0)?.toUpperCase() ?? '';
21
21
  };
22
+ export { getOrderItemsCount } from './order';
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","initialWindowMetrics","firestore","getPercentageFromHeight","height","totalHeight","get","insets","top","bottom","Math","ceil","getCurrentTimestamp","firestoreTimestamp","Timestamp","now","toDate","formattedTimestamp","toISOString","analytics","Analytics","createColorPalette","Currency","useMultiSnapBottomSheetRef","useSingleSnapBottomSheetRef","useMultiSnapModal","getAvatarLetter","string","charAt","toUpperCase"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,oBAAoB,QAAQ,gCAAgC;AACrE,OAAOC,SAAS,MAAM,kCAAkC;AAExD,OAAO,MAAMC,uBAAuB,GAAIC,MAAc,IAAa;EACjE,MAAMC,WAAW,GACfL,UAAU,CAACM,GAAG,CAAC,QAAQ,CAAC,CAACF,MAAM,IAC9BH,oBAAoB,EAAEM,MAAM,EAAEC,GAAG,IAAI,CAAC,CAAC,IACvCP,oBAAoB,EAAEM,MAAM,EAAEE,MAAM,IAAI,CAAC,CAAC;EAE7C,OAAOC,IAAI,CAACC,IAAI,CAAEP,MAAM,GAAGC,WAAW,GAAI,GAAG,CAAC,GAAG,GAAG;AACtD,CAAC;AAED,OAAO,MAAMO,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,kBAAkB,GAAGX,SAAS,CAACY,SAAS,CAACC,GAAG,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC;EAC7D,MAAMC,kBAAkB,GAAGJ,kBAAkB,CAACK,WAAW,CAAC,CAAC;EAE3D,OAAOD,kBAAkB;AAC3B,CAAC;AAED,SAASE,SAAS,EAAEC,SAAS,QAAQ,aAAa;AAClD,SAASC,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAEEC,0BAA0B,QACrB,8BAA8B;AACrC,SAEEC,2BAA2B,QACtB,+BAA+B;AACtC,SAA+BC,iBAAiB,QAAQ,qBAAqB;AAE7E,OAAO,MAAMC,eAAe,GAAIC,MAAW,IAAK;EAC9C,OAAOA,MAAM,EAAEC,MAAM,CAAC,CAAC,CAAC,EAAEC,WAAW,CAAC,CAAC,IAAI,EAAE;AAC/C,CAAC"}
1
+ {"version":3,"names":["Dimensions","initialWindowMetrics","firestore","getPercentageFromHeight","height","totalHeight","get","insets","top","bottom","Math","ceil","getCurrentTimestamp","firestoreTimestamp","Timestamp","now","toDate","formattedTimestamp","toISOString","analytics","Analytics","createColorPalette","Currency","useMultiSnapBottomSheetRef","useSingleSnapBottomSheetRef","useMultiSnapModal","getAvatarLetter","string","charAt","toUpperCase","getOrderItemsCount"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,oBAAoB,QAAQ,gCAAgC;AACrE,OAAOC,SAAS,MAAM,kCAAkC;AAExD,OAAO,MAAMC,uBAAuB,GAAIC,MAAc,IAAa;EACjE,MAAMC,WAAW,GACfL,UAAU,CAACM,GAAG,CAAC,QAAQ,CAAC,CAACF,MAAM,IAC9BH,oBAAoB,EAAEM,MAAM,EAAEC,GAAG,IAAI,CAAC,CAAC,IACvCP,oBAAoB,EAAEM,MAAM,EAAEE,MAAM,IAAI,CAAC,CAAC;EAE7C,OAAOC,IAAI,CAACC,IAAI,CAAEP,MAAM,GAAGC,WAAW,GAAI,GAAG,CAAC,GAAG,GAAG;AACtD,CAAC;AAED,OAAO,MAAMO,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,kBAAkB,GAAGX,SAAS,CAACY,SAAS,CAACC,GAAG,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC;EAC7D,MAAMC,kBAAkB,GAAGJ,kBAAkB,CAACK,WAAW,CAAC,CAAC;EAE3D,OAAOD,kBAAkB;AAC3B,CAAC;AAED,SAASE,SAAS,EAAEC,SAAS,QAAQ,aAAa;AAClD,SAASC,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAEEC,0BAA0B,QACrB,8BAA8B;AACrC,SAEEC,2BAA2B,QACtB,+BAA+B;AACtC,SAA+BC,iBAAiB,QAAQ,qBAAqB;AAE7E,OAAO,MAAMC,eAAe,GAAIC,MAAW,IAAK;EAC9C,OAAOA,MAAM,EAAEC,MAAM,CAAC,CAAC,CAAC,EAAEC,WAAW,CAAC,CAAC,IAAI,EAAE;AAC/C,CAAC;AACD,SAASC,kBAAkB,QAAQ,SAAS"}
@@ -0,0 +1,13 @@
1
+ export const getOrderItemsCount = order => {
2
+ if (!order) {
3
+ return 0;
4
+ }
5
+ if (order.products) {
6
+ return order.products.reduce((sum, item) => sum + item._quantity, 0);
7
+ }
8
+ if (order.lineItems) {
9
+ return order.lineItems.reduce((sum, item) => sum + item.quantity, 0);
10
+ }
11
+ return 0;
12
+ };
13
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOrderItemsCount","order","products","reduce","sum","item","_quantity","lineItems","quantity"],"sourceRoot":"../../../src","sources":["utils/order.ts"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB,GAAIC,KAGlC,IAAa;EACZ,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,CAAC;EACV;EAEA,IAAIA,KAAK,CAACC,QAAQ,EAAE;IAClB,OAAOD,KAAK,CAACC,QAAQ,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAKD,GAAG,GAAGC,IAAI,CAACC,SAAS,EAAE,CAAC,CAAC;EACtE;EAEA,IAAIL,KAAK,CAACM,SAAS,EAAE;IACnB,OAAON,KAAK,CAACM,SAAS,CAACJ,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAKD,GAAG,GAAGC,IAAI,CAACG,QAAQ,EAAE,CAAC,CAAC;EACtE;EAEA,OAAO,CAAC;AACV,CAAC"}
@@ -7,6 +7,7 @@ export declare const queryKeys: {
7
7
  PROGRAM: string;
8
8
  LOYALTY: string;
9
9
  REWARDS: string;
10
+ CREATE_BUSINESS: string;
10
11
  };
11
12
  export declare const DEFAULT_STALE_TIME: number;
12
13
  //# sourceMappingURL=queryKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../src/hooks/queryKeys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;CASrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAmB,CAAC"}
1
+ {"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../src/hooks/queryKeys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;CAUrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateBusiness.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCreateBusiness.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB;eAAgC,MAAM,IAAI;oFAavE,CAAC"}
1
+ {"version":3,"file":"useCreateBusiness.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCreateBusiness.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB;eAAgC,MAAM,IAAI;oFAcvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateBusinessBottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/screens/SelectBusiness/CreateBusinessBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAavE,KAAK,8BAA8B,GAAG;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,gGA2DrC,CAAC"}
1
+ {"version":3,"file":"CreateBusinessBottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/screens/SelectBusiness/CreateBusinessBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAavE,KAAK,8BAA8B,GAAG;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,gGAoGrC,CAAC"}
@@ -7,4 +7,5 @@ export { type TMultiSnapBottomSheetRef, useMultiSnapBottomSheetRef, } from './us
7
7
  export { type TSingleSnapBottomSheetRef, useSingleSnapBottomSheetRef, } from './useSingleSnapBottomSheetRef';
8
8
  export { type TMultiSnapModal, useMultiSnapModal } from './useMultiSnapModal';
9
9
  export declare const getAvatarLetter: (string: any) => any;
10
+ export { getOrderItemsCount } from './order';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,WAAY,MAAM,KAAG,MAOxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAK/B,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,KAAK,wBAAwB,EAC7B,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,yBAAyB,EAC9B,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,eAAO,MAAM,eAAe,WAAY,GAAG,QAE1C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,WAAY,MAAM,KAAG,MAOxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAK/B,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,KAAK,wBAAwB,EAC7B,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,yBAAyB,EAC9B,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,eAAO,MAAM,eAAe,WAAY,GAAG,QAE1C,CAAC;AACF,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const getOrderItemsCount: (order: {
2
+ products?: {
3
+ _quantity: number;
4
+ }[];
5
+ lineItems?: {
6
+ quantity: number;
7
+ }[];
8
+ }) => number;
9
+ //# sourceMappingURL=order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../src/utils/order.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAAW;IACxC,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpC,KAAG,MAcH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiosinc/commons-rn",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Common Code",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -7,6 +7,7 @@ export const queryKeys = {
7
7
  PROGRAM: 'PROGRAM',
8
8
  LOYALTY: 'LOYALTY',
9
9
  REWARDS: 'REWARDS',
10
+ CREATE_BUSINESS: 'CREATE_BUSINESS',
10
11
  };
11
12
 
12
13
  export const DEFAULT_STALE_TIME = 60 * (60 * 1000); // 60 mins
@@ -9,6 +9,7 @@ export const useCreateBusiness = ({ onSuccess }: { onSuccess: () => void }) => {
9
9
  await signUpAPI(params);
10
10
  },
11
11
  {
12
+ mutationKey: [queryKeys.CREATE_BUSINESS],
12
13
  onSuccess: () => {
13
14
  queryClient.invalidateQueries([queryKeys.BUSINESSES]);
14
15
  onSuccess();
@@ -19,17 +19,54 @@ type CreateBusinessBottomSheetProps = {
19
19
  export const CreateBusinessBottomSheet = forwardRef(
20
20
  ({ isVisible, close }: CreateBusinessBottomSheetProps, ref) => {
21
21
  const [name, setName] = useState('');
22
- const { mutate: createNewMenuGroup, isLoading } = useCreateBusiness({
22
+ const [isSubmitting, setIsSubmitting] = useState(false);
23
+ const [lastSubmittedName, setLastSubmittedName] = useState('');
24
+
25
+ const {
26
+ mutate: createNewMenuGroup,
27
+ isLoading,
28
+ error,
29
+ } = useCreateBusiness({
23
30
  onSuccess: () => {
31
+ setIsSubmitting(false);
32
+ setLastSubmittedName('');
24
33
  close();
25
34
  },
26
35
  });
27
36
  const { t } = useTranslation();
28
- const textInputRef = useRef<typeof BottomSheetTextInput>();
37
+ const textInputRef = useRef<any>();
38
+
39
+ useEffect(() => {
40
+ if (error) {
41
+ setIsSubmitting(false);
42
+ }
43
+ }, [error]);
44
+
45
+ useEffect(() => {
46
+ if (!isVisible) {
47
+ setIsSubmitting(false);
48
+ setLastSubmittedName('');
49
+ }
50
+ }, [isVisible]);
29
51
 
30
52
  const onCreate = () => {
53
+ const trimmedName = name.trim();
54
+
55
+ // Guard against multiple submissions
56
+ if (isSubmitting || isLoading || trimmedName.length === 0) {
57
+ return;
58
+ }
59
+
60
+ // Guard against duplicate submissions of the same name
61
+ if (trimmedName === lastSubmittedName) {
62
+ return;
63
+ }
64
+
65
+ setIsSubmitting(true);
66
+ setLastSubmittedName(trimmedName);
67
+
31
68
  createNewMenuGroup({
32
- name: name.trim(),
69
+ name: trimmedName,
33
70
  });
34
71
  setName('');
35
72
  };
@@ -58,12 +95,16 @@ export const CreateBusinessBottomSheet = forwardRef(
58
95
  label={t('commons.businessName')}
59
96
  />
60
97
  <View mt="16" flexDirection="row" justifyContent="flex-end">
61
- <Button mode="text" onPress={close}>
98
+ <Button
99
+ mode="text"
100
+ onPress={close}
101
+ disabled={isSubmitting || isLoading}
102
+ >
62
103
  {t('commons.cancel')}
63
104
  </Button>
64
105
  <Button
65
- loading={isLoading}
66
- disabled={isLoading || name.trim().length === 0}
106
+ loading={isLoading || isSubmitting}
107
+ disabled={isLoading || isSubmitting || name.trim().length === 0}
67
108
  mode="text"
68
109
  onPress={onCreate}
69
110
  >
@@ -34,3 +34,4 @@ export { type TMultiSnapModal, useMultiSnapModal } from './useMultiSnapModal';
34
34
  export const getAvatarLetter = (string: any) => {
35
35
  return string?.charAt(0)?.toUpperCase() ?? '';
36
36
  };
37
+ export { getOrderItemsCount } from './order';
@@ -0,0 +1,18 @@
1
+ export const getOrderItemsCount = (order: {
2
+ products?: { _quantity: number }[];
3
+ lineItems?: { quantity: number }[];
4
+ }): number => {
5
+ if (!order) {
6
+ return 0;
7
+ }
8
+
9
+ if (order.products) {
10
+ return order.products.reduce((sum, item) => sum + item._quantity, 0);
11
+ }
12
+
13
+ if (order.lineItems) {
14
+ return order.lineItems.reduce((sum, item) => sum + item.quantity, 0);
15
+ }
16
+
17
+ return 0;
18
+ };