@kiosinc/commons-rn 0.8.0 → 0.8.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/hooks/queryKeys.js +2 -1
- package/lib/commonjs/hooks/queryKeys.js.map +1 -1
- package/lib/commonjs/hooks/useCreateBusiness.js +1 -0
- package/lib/commonjs/hooks/useCreateBusiness.js.map +1 -1
- package/lib/commonjs/screens/SelectBusiness/CreateBusinessBottomSheet.js +35 -5
- package/lib/commonjs/screens/SelectBusiness/CreateBusinessBottomSheet.js.map +1 -1
- package/lib/module/hooks/queryKeys.js +2 -1
- package/lib/module/hooks/queryKeys.js.map +1 -1
- package/lib/module/hooks/useCreateBusiness.js +1 -0
- package/lib/module/hooks/useCreateBusiness.js.map +1 -1
- package/lib/module/screens/SelectBusiness/CreateBusinessBottomSheet.js +35 -5
- package/lib/module/screens/SelectBusiness/CreateBusinessBottomSheet.js.map +1 -1
- package/lib/typescript/src/hooks/queryKeys.d.ts +1 -0
- package/lib/typescript/src/hooks/queryKeys.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useCreateBusiness.d.ts.map +1 -1
- package/lib/typescript/src/screens/SelectBusiness/CreateBusinessBottomSheet.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/hooks/queryKeys.ts +1 -0
- package/src/hooks/useCreateBusiness.ts +1 -0
- package/src/screens/SelectBusiness/CreateBusinessBottomSheet.tsx +47 -6
|
@@ -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;
|
|
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","
|
|
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:
|
|
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","
|
|
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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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -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;
|
|
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:
|
|
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","
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../src/hooks/queryKeys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS
|
|
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;
|
|
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,
|
|
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"}
|
package/package.json
CHANGED
package/src/hooks/queryKeys.ts
CHANGED
|
@@ -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
|
|
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<
|
|
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:
|
|
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
|
|
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
|
>
|