@open-tender/cloud 0.1.103 → 0.1.105
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/dist/cjs/app/hooks.d.ts +1 -0
- package/dist/cjs/app/store.d.ts +3 -0
- package/dist/cjs/app/store.js +1 -0
- package/dist/cjs/services/api.d.ts +1 -0
- package/dist/cjs/services/api.js +3 -0
- package/dist/cjs/slices/allergens.d.ts +1 -0
- package/dist/cjs/slices/announcements.d.ts +2 -0
- package/dist/cjs/slices/checkout.d.ts +2 -2
- package/dist/cjs/slices/checkout.js +3 -2
- package/dist/cjs/slices/config.d.ts +1 -0
- package/dist/cjs/slices/customer/creditCards.d.ts +1 -0
- package/dist/cjs/slices/customer/loyalty.d.ts +2 -0
- package/dist/cjs/slices/customer/order.d.ts +1 -0
- package/dist/cjs/slices/customer/tpls.d.ts +3 -0
- package/dist/cjs/slices/groupOrder.d.ts +4 -0
- package/dist/cjs/slices/index.d.ts +1 -0
- package/dist/cjs/slices/index.js +1 -0
- package/dist/cjs/slices/order.d.ts +3 -0
- package/dist/cjs/slices/quote.d.ts +98 -0
- package/dist/cjs/slices/quote.js +65 -0
- package/dist/cjs/slices/tags.d.ts +1 -0
- package/dist/cjs/slices/types.d.ts +1 -0
- package/dist/cjs/slices/types.js +1 -0
- package/dist/esm/app/hooks.d.ts +1 -0
- package/dist/esm/app/store.d.ts +3 -0
- package/dist/esm/app/store.js +2 -1
- package/dist/esm/services/api.d.ts +1 -0
- package/dist/esm/services/api.js +3 -0
- package/dist/esm/slices/allergens.d.ts +1 -0
- package/dist/esm/slices/announcements.d.ts +2 -0
- package/dist/esm/slices/checkout.d.ts +2 -2
- package/dist/esm/slices/checkout.js +3 -2
- package/dist/esm/slices/config.d.ts +1 -0
- package/dist/esm/slices/customer/creditCards.d.ts +1 -0
- package/dist/esm/slices/customer/loyalty.d.ts +2 -0
- package/dist/esm/slices/customer/order.d.ts +1 -0
- package/dist/esm/slices/customer/tpls.d.ts +3 -0
- package/dist/esm/slices/groupOrder.d.ts +4 -0
- package/dist/esm/slices/index.d.ts +1 -0
- package/dist/esm/slices/index.js +1 -0
- package/dist/esm/slices/order.d.ts +3 -0
- package/dist/esm/slices/quote.d.ts +98 -0
- package/dist/esm/slices/quote.js +61 -0
- package/dist/esm/slices/tags.d.ts +1 -0
- package/dist/esm/slices/types.d.ts +1 -0
- package/dist/esm/slices/types.js +1 -0
- package/package.json +1 -1
package/dist/cjs/app/hooks.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<i
|
|
|
49
49
|
orderRating: import("..").OrderRatingState;
|
|
50
50
|
posts: import("..").PostsSlice;
|
|
51
51
|
qr: import("..").QrState;
|
|
52
|
+
quote: import("..").QuoteState;
|
|
52
53
|
resetPassword: import("..").ResetPasswordState;
|
|
53
54
|
revenueCenters: import("..").RevenueCentersState;
|
|
54
55
|
sidebar: import("..").SidebarState;
|
package/dist/cjs/app/store.d.ts
CHANGED
|
@@ -48,6 +48,7 @@ export declare const appReducer: import("redux").Reducer<import("redux").Combine
|
|
|
48
48
|
orderRating: import("../slices").OrderRatingState;
|
|
49
49
|
posts: import("../slices").PostsSlice;
|
|
50
50
|
qr: import("../slices").QrState;
|
|
51
|
+
quote: import("../slices").QuoteState;
|
|
51
52
|
resetPassword: import("../slices").ResetPasswordState;
|
|
52
53
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
53
54
|
sidebar: import("../slices").SidebarState;
|
|
@@ -108,6 +109,7 @@ declare const store: import("@reduxjs/toolkit/dist/configureStore").ToolkitStore
|
|
|
108
109
|
orderRating: import("../slices").OrderRatingState;
|
|
109
110
|
posts: import("../slices").PostsSlice;
|
|
110
111
|
qr: import("../slices").QrState;
|
|
112
|
+
quote: import("../slices").QuoteState;
|
|
111
113
|
resetPassword: import("../slices").ResetPasswordState;
|
|
112
114
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
113
115
|
sidebar: import("../slices").SidebarState;
|
|
@@ -166,6 +168,7 @@ declare const store: import("@reduxjs/toolkit/dist/configureStore").ToolkitStore
|
|
|
166
168
|
orderRating: import("../slices").OrderRatingState;
|
|
167
169
|
posts: import("../slices").PostsSlice;
|
|
168
170
|
qr: import("../slices").QrState;
|
|
171
|
+
quote: import("../slices").QuoteState;
|
|
169
172
|
resetPassword: import("../slices").ResetPasswordState;
|
|
170
173
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
171
174
|
sidebar: import("../slices").SidebarState;
|
package/dist/cjs/app/store.js
CHANGED
|
@@ -34,6 +34,7 @@ exports.appReducer = (0, toolkit_1.combineReducers)({
|
|
|
34
34
|
[types_1.ReducerType.OrderRating]: slices_1.orderRatingReducer,
|
|
35
35
|
[types_1.ReducerType.Posts]: slices_1.postsReducer,
|
|
36
36
|
[types_1.ReducerType.Qr]: slices_1.qrReducer,
|
|
37
|
+
[types_1.ReducerType.Quote]: slices_1.quoteReducer,
|
|
37
38
|
[types_1.ReducerType.ResetPassword]: slices_1.resetPasswordReducer,
|
|
38
39
|
[types_1.ReducerType.RevenueCenters]: slices_1.revenueCentersReducer,
|
|
39
40
|
[types_1.ReducerType.Sidebar]: slices_1.sidebarReducer,
|
|
@@ -122,6 +122,7 @@ declare class OpenTenderAPI {
|
|
|
122
122
|
postPointsShopReward(token: string, rewardId: string): Promise<unknown>;
|
|
123
123
|
getCustomerOrders(token: string, limit: number, timing: string): Promise<unknown>;
|
|
124
124
|
getCustomerOrder(token: string, orderId: number): Promise<unknown>;
|
|
125
|
+
getQuote(token: string | null, orderUuid: string): Promise<unknown>;
|
|
125
126
|
postCustomerGroupOrder(token: string, data: any): Promise<GroupOrder | null | undefined>;
|
|
126
127
|
getCustomerGroupOrders(token: string): Promise<GroupOrdersExpanded | null | undefined>;
|
|
127
128
|
getCustomerGroupOrder(token: string, cartId: number): Promise<GroupOrder | null | undefined>;
|
package/dist/cjs/services/api.js
CHANGED
|
@@ -577,6 +577,9 @@ class OpenTenderAPI {
|
|
|
577
577
|
getCustomerOrder(token, orderId) {
|
|
578
578
|
return this.request(`/customer/orders/${orderId}`, 'GET', null, null, token);
|
|
579
579
|
}
|
|
580
|
+
getQuote(token, orderUuid) {
|
|
581
|
+
return this.request(`/orders/uuid/${orderUuid}`, 'GET', null, null, token);
|
|
582
|
+
}
|
|
580
583
|
postCustomerGroupOrder(token, data) {
|
|
581
584
|
return this.request(`/customer/carts`, 'POST', data, null, token);
|
|
582
585
|
}
|
|
@@ -76,6 +76,7 @@ export declare const selectSelectedAllergenNames: ((state: import("redux").Empty
|
|
|
76
76
|
orderRating: import("./orderRating").OrderRatingState;
|
|
77
77
|
posts: import("./posts").PostsSlice;
|
|
78
78
|
qr: import("./qr").QrState;
|
|
79
|
+
quote: import("./quote").QuoteState;
|
|
79
80
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
80
81
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
81
82
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -73,6 +73,7 @@ export declare const selectAnnouncementsPage: (page: AnnouncementPageType) => ((
|
|
|
73
73
|
orderRating: import("./orderRating").OrderRatingState;
|
|
74
74
|
posts: import("./posts").PostsSlice;
|
|
75
75
|
qr: import("./qr").QrState;
|
|
76
|
+
quote: import("./quote").QuoteState;
|
|
76
77
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
77
78
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
78
79
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -150,6 +151,7 @@ export declare const selectHasAnnouncementsPage: (page: AnnouncementPageType) =>
|
|
|
150
151
|
orderRating: import("./orderRating").OrderRatingState;
|
|
151
152
|
posts: import("./posts").PostsSlice;
|
|
152
153
|
qr: import("./qr").QrState;
|
|
154
|
+
quote: import("./quote").QuoteState;
|
|
153
155
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
154
156
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
155
157
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -29,8 +29,8 @@ export declare const validateOrder: import("@reduxjs/toolkit").AsyncThunk<{
|
|
|
29
29
|
rejectedMeta?: unknown;
|
|
30
30
|
}>;
|
|
31
31
|
export declare const submitOrder: import("@reduxjs/toolkit").AsyncThunk<Order, {
|
|
32
|
-
save
|
|
33
|
-
}, {
|
|
32
|
+
save: boolean;
|
|
33
|
+
} | undefined, {
|
|
34
34
|
state: AppState;
|
|
35
35
|
rejectValue: CheckoutErrorMessages;
|
|
36
36
|
dispatch?: Dispatch<import("redux").AnyAction> | undefined;
|
|
@@ -141,7 +141,7 @@ exports.validateOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Valid
|
|
|
141
141
|
return rejectWithValue(errors);
|
|
142
142
|
}
|
|
143
143
|
}));
|
|
144
|
-
exports.submitOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.SubmitOrder, (
|
|
144
|
+
exports.submitOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.SubmitOrder, (args, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
145
145
|
const { api } = getState().config;
|
|
146
146
|
if (!api)
|
|
147
147
|
return;
|
|
@@ -151,7 +151,8 @@ exports.submitOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.SubmitO
|
|
|
151
151
|
args: { text: 'Submitting your order...' }
|
|
152
152
|
};
|
|
153
153
|
dispatch((0, order_1.setAlert)(alert));
|
|
154
|
-
const
|
|
154
|
+
const { save = false } = args || {};
|
|
155
|
+
const preparedOrder = assembleOrder(getState(), save);
|
|
155
156
|
if (!preparedOrder) {
|
|
156
157
|
return dispatch((0, order_1.setAlert)({ type: 'close' }));
|
|
157
158
|
}
|
|
@@ -132,6 +132,7 @@ export declare const selectOptIns: ((state: import("redux").EmptyObject & {
|
|
|
132
132
|
orderRating: import("./orderRating").OrderRatingState;
|
|
133
133
|
posts: import("./posts").PostsSlice;
|
|
134
134
|
qr: import("./qr").QrState;
|
|
135
|
+
quote: import("./quote").QuoteState;
|
|
135
136
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
136
137
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
137
138
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -115,6 +115,7 @@ export declare const selectCustomerCreditCardsForPayment: ((state: import("redux
|
|
|
115
115
|
orderRating: import("..").OrderRatingState;
|
|
116
116
|
posts: import("..").PostsSlice;
|
|
117
117
|
qr: import("..").QrState;
|
|
118
|
+
quote: import("..").QuoteState;
|
|
118
119
|
resetPassword: import("..").ResetPasswordState;
|
|
119
120
|
revenueCenters: import("..").RevenueCentersState;
|
|
120
121
|
sidebar: import("..").SidebarState;
|
|
@@ -72,6 +72,7 @@ export declare const selectCustomerLoyaltyProgram: ((state: import("redux").Empt
|
|
|
72
72
|
orderRating: import("..").OrderRatingState;
|
|
73
73
|
posts: import("..").PostsSlice;
|
|
74
74
|
qr: import("..").QrState;
|
|
75
|
+
quote: import("..").QuoteState;
|
|
75
76
|
resetPassword: import("..").ResetPasswordState;
|
|
76
77
|
revenueCenters: import("..").RevenueCentersState;
|
|
77
78
|
sidebar: import("..").SidebarState;
|
|
@@ -147,6 +148,7 @@ export declare const selectCustomerPointsProgram: (orderType: OrderType | null)
|
|
|
147
148
|
orderRating: import("..").OrderRatingState;
|
|
148
149
|
posts: import("..").PostsSlice;
|
|
149
150
|
qr: import("..").QrState;
|
|
151
|
+
quote: import("..").QuoteState;
|
|
150
152
|
resetPassword: import("..").ResetPasswordState;
|
|
151
153
|
revenueCenters: import("..").RevenueCentersState;
|
|
152
154
|
sidebar: import("..").SidebarState;
|
|
@@ -82,6 +82,7 @@ export declare const selectCustomerOrder: ((state: import("redux").EmptyObject &
|
|
|
82
82
|
orderRating: import("..").OrderRatingState;
|
|
83
83
|
posts: import("..").PostsSlice;
|
|
84
84
|
qr: import("..").QrState;
|
|
85
|
+
quote: import("..").QuoteState;
|
|
85
86
|
resetPassword: import("..").ResetPasswordState;
|
|
86
87
|
revenueCenters: import("..").RevenueCentersState;
|
|
87
88
|
sidebar: import("..").SidebarState;
|
|
@@ -69,6 +69,7 @@ export declare const selectCustomerTplsPoints: ((state: import("redux").EmptyObj
|
|
|
69
69
|
orderRating: import("..").OrderRatingState;
|
|
70
70
|
posts: import("..").PostsSlice;
|
|
71
71
|
qr: import("..").QrState;
|
|
72
|
+
quote: import("..").QuoteState;
|
|
72
73
|
resetPassword: import("..").ResetPasswordState;
|
|
73
74
|
revenueCenters: import("..").RevenueCentersState;
|
|
74
75
|
sidebar: import("..").SidebarState;
|
|
@@ -132,6 +133,7 @@ export declare const selectCustomerTplsRewards: ((state: import("redux").EmptyOb
|
|
|
132
133
|
orderRating: import("..").OrderRatingState;
|
|
133
134
|
posts: import("..").PostsSlice;
|
|
134
135
|
qr: import("..").QrState;
|
|
136
|
+
quote: import("..").QuoteState;
|
|
135
137
|
resetPassword: import("..").ResetPasswordState;
|
|
136
138
|
revenueCenters: import("..").RevenueCentersState;
|
|
137
139
|
sidebar: import("..").SidebarState;
|
|
@@ -195,6 +197,7 @@ export declare const selectCustomerTplsProgress: ((state: import("redux").EmptyO
|
|
|
195
197
|
orderRating: import("..").OrderRatingState;
|
|
196
198
|
posts: import("..").PostsSlice;
|
|
197
199
|
qr: import("..").QrState;
|
|
200
|
+
quote: import("..").QuoteState;
|
|
198
201
|
resetPassword: import("..").ResetPasswordState;
|
|
199
202
|
revenueCenters: import("..").RevenueCentersState;
|
|
200
203
|
sidebar: import("..").SidebarState;
|
|
@@ -155,6 +155,7 @@ export declare const selectSpendingLimit: ((state: import("redux").EmptyObject &
|
|
|
155
155
|
orderRating: import("./orderRating").OrderRatingState;
|
|
156
156
|
posts: import("./posts").PostsSlice;
|
|
157
157
|
qr: import("./qr").QrState;
|
|
158
|
+
quote: import("./quote").QuoteState;
|
|
158
159
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
159
160
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
160
161
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -221,6 +222,7 @@ export declare const selectGroupOrderClosed: ((state: import("redux").EmptyObjec
|
|
|
221
222
|
orderRating: import("./orderRating").OrderRatingState;
|
|
222
223
|
posts: import("./posts").PostsSlice;
|
|
223
224
|
qr: import("./qr").QrState;
|
|
225
|
+
quote: import("./quote").QuoteState;
|
|
224
226
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
225
227
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
226
228
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -289,6 +291,7 @@ export declare const selectGroupOrderTests: ((state: import("redux").EmptyObject
|
|
|
289
291
|
orderRating: import("./orderRating").OrderRatingState;
|
|
290
292
|
posts: import("./posts").PostsSlice;
|
|
291
293
|
qr: import("./qr").QrState;
|
|
294
|
+
quote: import("./quote").QuoteState;
|
|
292
295
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
293
296
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
294
297
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -366,6 +369,7 @@ export declare const selectGroupOrderPrepTimes: ((state: import("redux").EmptyOb
|
|
|
366
369
|
orderRating: import("./orderRating").OrderRatingState;
|
|
367
370
|
posts: import("./posts").PostsSlice;
|
|
368
371
|
qr: import("./qr").QrState;
|
|
372
|
+
quote: import("./quote").QuoteState;
|
|
369
373
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
370
374
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
371
375
|
sidebar: import("./sidebar").SidebarState;
|
package/dist/cjs/slices/index.js
CHANGED
|
@@ -30,6 +30,7 @@ tslib_1.__exportStar(require("./orderFulfillment"), exports);
|
|
|
30
30
|
tslib_1.__exportStar(require("./orderRating"), exports);
|
|
31
31
|
tslib_1.__exportStar(require("./posts"), exports);
|
|
32
32
|
tslib_1.__exportStar(require("./qr"), exports);
|
|
33
|
+
tslib_1.__exportStar(require("./quote"), exports);
|
|
33
34
|
tslib_1.__exportStar(require("./resetPassword"), exports);
|
|
34
35
|
tslib_1.__exportStar(require("./revenueCenters"), exports);
|
|
35
36
|
tslib_1.__exportStar(require("./sidebar"), exports);
|
|
@@ -177,6 +177,7 @@ export declare const selectOrderLimits: ((state: import("redux").EmptyObject & {
|
|
|
177
177
|
orderRating: import("./orderRating").OrderRatingState;
|
|
178
178
|
posts: import("./posts").PostsSlice;
|
|
179
179
|
qr: import("./qr").QrState;
|
|
180
|
+
quote: import("./quote").QuoteState;
|
|
180
181
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
181
182
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
182
183
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -251,6 +252,7 @@ export declare const selectCartIds: ((state: import("redux").EmptyObject & {
|
|
|
251
252
|
orderRating: import("./orderRating").OrderRatingState;
|
|
252
253
|
posts: import("./posts").PostsSlice;
|
|
253
254
|
qr: import("./qr").QrState;
|
|
255
|
+
quote: import("./quote").QuoteState;
|
|
254
256
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
255
257
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
256
258
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -320,6 +322,7 @@ export declare const selectMenuVars: ((state: import("redux").EmptyObject & {
|
|
|
320
322
|
orderRating: import("./orderRating").OrderRatingState;
|
|
321
323
|
posts: import("./posts").PostsSlice;
|
|
322
324
|
qr: import("./qr").QrState;
|
|
325
|
+
quote: import("./quote").QuoteState;
|
|
323
326
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
324
327
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
325
328
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Order, RequestError, RequestStatus } from '@open-tender/types';
|
|
2
|
+
import { AppState } from '../app';
|
|
3
|
+
export interface QuoteState {
|
|
4
|
+
entity: Order | null;
|
|
5
|
+
error: RequestError;
|
|
6
|
+
loading: RequestStatus;
|
|
7
|
+
}
|
|
8
|
+
export declare enum QuoteActionType {
|
|
9
|
+
FetchQuote = "customer/fetchQuote"
|
|
10
|
+
}
|
|
11
|
+
export declare const fetchQuote: import("@reduxjs/toolkit").AsyncThunk<Order, string, {
|
|
12
|
+
state: AppState;
|
|
13
|
+
rejectValue: RequestError;
|
|
14
|
+
dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
|
|
15
|
+
extra?: unknown;
|
|
16
|
+
serializedErrorType?: unknown;
|
|
17
|
+
pendingMeta?: unknown;
|
|
18
|
+
fulfilledMeta?: unknown;
|
|
19
|
+
rejectedMeta?: unknown;
|
|
20
|
+
}>;
|
|
21
|
+
export declare const resetQuote: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"quote/resetQuote">, resetQuoteError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"quote/resetQuoteError">, setQuote: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "quote/setQuote">;
|
|
22
|
+
export declare const selectQuote: ((state: import("redux").EmptyObject & {
|
|
23
|
+
alerts: import("@open-tender/types").Alerts;
|
|
24
|
+
allergens: import("./allergens").AllergensState;
|
|
25
|
+
announcements: import("./announcements").AnnouncementsState;
|
|
26
|
+
checkout: import("./checkout").CheckoutState;
|
|
27
|
+
completedOrders: import("./completedOrders").CompletedOrdersState;
|
|
28
|
+
config: import("./config").ConfigState;
|
|
29
|
+
confirmation: import("./confirmation").ConfirmationState;
|
|
30
|
+
customer: import("redux").CombinedState<{
|
|
31
|
+
account: import("./customer").AccountState;
|
|
32
|
+
communicationPreferences: import("./customer").CustomerCommunicationPrefsState;
|
|
33
|
+
creditCards: import("./customer").CustomerCreditCardsState;
|
|
34
|
+
allergens: import("./customer").CustomerAllergensState;
|
|
35
|
+
addresses: import("./customer").CustomerAddressesState;
|
|
36
|
+
favorites: import("./customer").CustomerFavoritesState;
|
|
37
|
+
fcmToken: import("./customer").CustomerFcmTokenState;
|
|
38
|
+
giftCards: import("./customer").CustomerGiftCardsState;
|
|
39
|
+
groupOrders: import("./customer").CustomerGroupOrdersState;
|
|
40
|
+
houseAccounts: import("./customer").CustomerHouseAccountsState;
|
|
41
|
+
loyalty: import("./customer").CustomerLoyaltyState;
|
|
42
|
+
order: import("./customer").CustomerOrderState;
|
|
43
|
+
orders: import("./customer").CustomerOrdersState;
|
|
44
|
+
pointsShop: import("./customer").PointsShopState;
|
|
45
|
+
qrcode: import("./customer").CustomerQRCodeState;
|
|
46
|
+
rewards: import("./customer").CustomerRewardsState;
|
|
47
|
+
thanx: import("./customer").CustomerThanxState;
|
|
48
|
+
tpls: import("./customer").CustomerTplsState;
|
|
49
|
+
}>;
|
|
50
|
+
deals: import("./deals").DealsState;
|
|
51
|
+
donations: import("./donations").DonationState;
|
|
52
|
+
geolocation: import("./geolocation").GeoLocationState;
|
|
53
|
+
giftCards: import("./giftCards").GiftCardsState;
|
|
54
|
+
groupOrder: import("./groupOrder").GroupOrderState;
|
|
55
|
+
guest: import("./guest").GuestState;
|
|
56
|
+
loader: import("./loader").LoaderState;
|
|
57
|
+
menu: import("./menu").MenuState;
|
|
58
|
+
menuDisplay: import("./menuDisplay").MenuDisplayState;
|
|
59
|
+
menuItems: import("./menuItems").MenuItemsState;
|
|
60
|
+
modal: import("@open-tender/types").Modal;
|
|
61
|
+
misc: import("./misc").MiscState;
|
|
62
|
+
nav: import("./nav").NavState;
|
|
63
|
+
navSite: import("./navSite").NavSiteState;
|
|
64
|
+
notifications: import("@open-tender/types").Notifications;
|
|
65
|
+
oneTimePasscode: import("./oneTimePasscode").OneTimePasscodeState;
|
|
66
|
+
order: import("./order").OrderState;
|
|
67
|
+
orderFulfillment: import("./orderFulfillment").OrderFulfillmentState;
|
|
68
|
+
orderRating: import("./orderRating").OrderRatingState;
|
|
69
|
+
posts: import("./posts").PostsSlice;
|
|
70
|
+
qr: import("./qr").QrState;
|
|
71
|
+
quote: QuoteState;
|
|
72
|
+
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
73
|
+
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
74
|
+
sidebar: import("./sidebar").SidebarState;
|
|
75
|
+
sidebarModal: import("./sidebarModal").SidebarModalState;
|
|
76
|
+
signUp: import("./signUp").SignUpState;
|
|
77
|
+
tags: import("./tags").TagsState;
|
|
78
|
+
terms: import("./terms").TermsSlice;
|
|
79
|
+
validTimes: import("./validTimes").ValidTimesState;
|
|
80
|
+
verifyAccount: import("./verifyAccount").VerifyAccountState;
|
|
81
|
+
}) => {
|
|
82
|
+
order: Order | null;
|
|
83
|
+
loading: RequestStatus;
|
|
84
|
+
error: RequestError;
|
|
85
|
+
}) & import("reselect").OutputSelectorFields<(args_0: {
|
|
86
|
+
order: Order | null;
|
|
87
|
+
loading: RequestStatus;
|
|
88
|
+
error: RequestError;
|
|
89
|
+
}) => {
|
|
90
|
+
order: Order | null;
|
|
91
|
+
loading: RequestStatus;
|
|
92
|
+
error: RequestError;
|
|
93
|
+
}, {
|
|
94
|
+
clearCache: () => void;
|
|
95
|
+
}> & {
|
|
96
|
+
clearCache: () => void;
|
|
97
|
+
};
|
|
98
|
+
export declare const quoteReducer: import("redux").Reducer<QuoteState, import("redux").AnyAction>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.quoteReducer = exports.selectQuote = exports.setQuote = exports.resetQuoteError = exports.resetQuote = exports.fetchQuote = exports.QuoteActionType = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const toolkit_1 = require("@reduxjs/toolkit");
|
|
7
|
+
const customer_1 = require("./customer");
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
const initialState = {
|
|
10
|
+
entity: null,
|
|
11
|
+
error: null,
|
|
12
|
+
loading: 'idle'
|
|
13
|
+
};
|
|
14
|
+
var QuoteActionType;
|
|
15
|
+
(function (QuoteActionType) {
|
|
16
|
+
QuoteActionType["FetchQuote"] = "customer/fetchQuote";
|
|
17
|
+
})(QuoteActionType = exports.QuoteActionType || (exports.QuoteActionType = {}));
|
|
18
|
+
exports.fetchQuote = (0, toolkit_1.createAsyncThunk)(QuoteActionType.FetchQuote, (orderUuid, { getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
try {
|
|
20
|
+
const api = getState().config.api;
|
|
21
|
+
const token = (0, customer_1.selectToken)(getState());
|
|
22
|
+
return yield api.getQuote(token, orderUuid);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
return rejectWithValue(err);
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
const quoteSlice = (0, toolkit_1.createSlice)({
|
|
29
|
+
name: types_1.ReducerType.Quote,
|
|
30
|
+
initialState,
|
|
31
|
+
reducers: {
|
|
32
|
+
resetQuote: () => initialState,
|
|
33
|
+
resetQuoteError: state => {
|
|
34
|
+
state.error = null;
|
|
35
|
+
state.loading = 'idle';
|
|
36
|
+
},
|
|
37
|
+
setQuote: (state, action) => {
|
|
38
|
+
state.entity = action.payload;
|
|
39
|
+
state.error = null;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
extraReducers: builder => {
|
|
43
|
+
builder
|
|
44
|
+
.addCase(exports.fetchQuote.fulfilled, (state, action) => {
|
|
45
|
+
state.entity = action.payload;
|
|
46
|
+
state.loading = 'idle';
|
|
47
|
+
state.error = null;
|
|
48
|
+
})
|
|
49
|
+
.addCase(exports.fetchQuote.pending, state => {
|
|
50
|
+
state.loading = 'pending';
|
|
51
|
+
})
|
|
52
|
+
.addCase(exports.fetchQuote.rejected, (state, action) => {
|
|
53
|
+
state.error = action.payload;
|
|
54
|
+
state.loading = 'idle';
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
_a = quoteSlice.actions, exports.resetQuote = _a.resetQuote, exports.resetQuoteError = _a.resetQuoteError, exports.setQuote = _a.setQuote;
|
|
59
|
+
exports.selectQuote = (0, toolkit_1.createSelector)((state) => {
|
|
60
|
+
const { entity: order, loading, error } = state.quote;
|
|
61
|
+
return { order, loading, error };
|
|
62
|
+
}, ({ order, loading, error }) => {
|
|
63
|
+
return { order, loading, error };
|
|
64
|
+
});
|
|
65
|
+
exports.quoteReducer = quoteSlice.reducer;
|
|
@@ -76,6 +76,7 @@ export declare const selectSelectedTagNames: ((state: import("redux").EmptyObjec
|
|
|
76
76
|
orderRating: import("./orderRating").OrderRatingState;
|
|
77
77
|
posts: import("./posts").PostsSlice;
|
|
78
78
|
qr: import("./qr").QrState;
|
|
79
|
+
quote: import("./quote").QuoteState;
|
|
79
80
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
80
81
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
81
82
|
sidebar: import("./sidebar").SidebarState;
|
package/dist/cjs/slices/types.js
CHANGED
|
@@ -45,6 +45,7 @@ var ReducerType;
|
|
|
45
45
|
ReducerType["PointsShop"] = "pointsShop";
|
|
46
46
|
ReducerType["Qr"] = "qr";
|
|
47
47
|
ReducerType["QRCode"] = "qrcode";
|
|
48
|
+
ReducerType["Quote"] = "quote";
|
|
48
49
|
ReducerType["ResetPassword"] = "resetPassword";
|
|
49
50
|
ReducerType["RevenueCenters"] = "revenueCenters";
|
|
50
51
|
ReducerType["Rewards"] = "rewards";
|
package/dist/esm/app/hooks.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<i
|
|
|
49
49
|
orderRating: import("..").OrderRatingState;
|
|
50
50
|
posts: import("..").PostsSlice;
|
|
51
51
|
qr: import("..").QrState;
|
|
52
|
+
quote: import("..").QuoteState;
|
|
52
53
|
resetPassword: import("..").ResetPasswordState;
|
|
53
54
|
revenueCenters: import("..").RevenueCentersState;
|
|
54
55
|
sidebar: import("..").SidebarState;
|
package/dist/esm/app/store.d.ts
CHANGED
|
@@ -48,6 +48,7 @@ export declare const appReducer: import("redux").Reducer<import("redux").Combine
|
|
|
48
48
|
orderRating: import("../slices").OrderRatingState;
|
|
49
49
|
posts: import("../slices").PostsSlice;
|
|
50
50
|
qr: import("../slices").QrState;
|
|
51
|
+
quote: import("../slices").QuoteState;
|
|
51
52
|
resetPassword: import("../slices").ResetPasswordState;
|
|
52
53
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
53
54
|
sidebar: import("../slices").SidebarState;
|
|
@@ -108,6 +109,7 @@ declare const store: import("@reduxjs/toolkit/dist/configureStore").ToolkitStore
|
|
|
108
109
|
orderRating: import("../slices").OrderRatingState;
|
|
109
110
|
posts: import("../slices").PostsSlice;
|
|
110
111
|
qr: import("../slices").QrState;
|
|
112
|
+
quote: import("../slices").QuoteState;
|
|
111
113
|
resetPassword: import("../slices").ResetPasswordState;
|
|
112
114
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
113
115
|
sidebar: import("../slices").SidebarState;
|
|
@@ -166,6 +168,7 @@ declare const store: import("@reduxjs/toolkit/dist/configureStore").ToolkitStore
|
|
|
166
168
|
orderRating: import("../slices").OrderRatingState;
|
|
167
169
|
posts: import("../slices").PostsSlice;
|
|
168
170
|
qr: import("../slices").QrState;
|
|
171
|
+
quote: import("../slices").QuoteState;
|
|
169
172
|
resetPassword: import("../slices").ResetPasswordState;
|
|
170
173
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
171
174
|
sidebar: import("../slices").SidebarState;
|
package/dist/esm/app/store.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
2
|
-
import { alertsReducer, allergensReducer, announcementsReducer, checkoutReducer, completedOrdersReducer, configReducer, confirmationReducer, customerReducer, dealsReducer, donationsReducer, geolocationReducer, giftCardsReducer, groupOrderReducer, guestReducer, loaderReducer, menuDisplayReducer, menuItemsReducer, menuReducer, miscReducer, modalReducer, navReducer, navSiteReducer, notificationsReducer, oneTimePasscodeReducer, orderFulfillmentReducer, orderRatingReducer, orderReducer, postsReducer, qrReducer, resetPasswordReducer, revenueCentersReducer, sidebarModalReducer, sidebarReducer, signUpReducer, tagsReducer, termsReducer, validTimesReducer, verifyAccountReducer } from '../slices';
|
|
2
|
+
import { alertsReducer, allergensReducer, announcementsReducer, checkoutReducer, completedOrdersReducer, configReducer, confirmationReducer, customerReducer, dealsReducer, donationsReducer, geolocationReducer, giftCardsReducer, groupOrderReducer, guestReducer, loaderReducer, menuDisplayReducer, menuItemsReducer, menuReducer, miscReducer, modalReducer, navReducer, navSiteReducer, notificationsReducer, oneTimePasscodeReducer, orderFulfillmentReducer, orderRatingReducer, orderReducer, postsReducer, qrReducer, quoteReducer, resetPasswordReducer, revenueCentersReducer, sidebarModalReducer, sidebarReducer, signUpReducer, tagsReducer, termsReducer, validTimesReducer, verifyAccountReducer } from '../slices';
|
|
3
3
|
import { ReducerType } from '../slices/types';
|
|
4
4
|
export const appReducer = combineReducers({
|
|
5
5
|
[ReducerType.Alerts]: alertsReducer,
|
|
@@ -31,6 +31,7 @@ export const appReducer = combineReducers({
|
|
|
31
31
|
[ReducerType.OrderRating]: orderRatingReducer,
|
|
32
32
|
[ReducerType.Posts]: postsReducer,
|
|
33
33
|
[ReducerType.Qr]: qrReducer,
|
|
34
|
+
[ReducerType.Quote]: quoteReducer,
|
|
34
35
|
[ReducerType.ResetPassword]: resetPasswordReducer,
|
|
35
36
|
[ReducerType.RevenueCenters]: revenueCentersReducer,
|
|
36
37
|
[ReducerType.Sidebar]: sidebarReducer,
|
|
@@ -122,6 +122,7 @@ declare class OpenTenderAPI {
|
|
|
122
122
|
postPointsShopReward(token: string, rewardId: string): Promise<unknown>;
|
|
123
123
|
getCustomerOrders(token: string, limit: number, timing: string): Promise<unknown>;
|
|
124
124
|
getCustomerOrder(token: string, orderId: number): Promise<unknown>;
|
|
125
|
+
getQuote(token: string | null, orderUuid: string): Promise<unknown>;
|
|
125
126
|
postCustomerGroupOrder(token: string, data: any): Promise<GroupOrder | null | undefined>;
|
|
126
127
|
getCustomerGroupOrders(token: string): Promise<GroupOrdersExpanded | null | undefined>;
|
|
127
128
|
getCustomerGroupOrder(token: string, cartId: number): Promise<GroupOrder | null | undefined>;
|
package/dist/esm/services/api.js
CHANGED
|
@@ -575,6 +575,9 @@ class OpenTenderAPI {
|
|
|
575
575
|
getCustomerOrder(token, orderId) {
|
|
576
576
|
return this.request(`/customer/orders/${orderId}`, 'GET', null, null, token);
|
|
577
577
|
}
|
|
578
|
+
getQuote(token, orderUuid) {
|
|
579
|
+
return this.request(`/orders/uuid/${orderUuid}`, 'GET', null, null, token);
|
|
580
|
+
}
|
|
578
581
|
postCustomerGroupOrder(token, data) {
|
|
579
582
|
return this.request(`/customer/carts`, 'POST', data, null, token);
|
|
580
583
|
}
|
|
@@ -76,6 +76,7 @@ export declare const selectSelectedAllergenNames: ((state: import("redux").Empty
|
|
|
76
76
|
orderRating: import("./orderRating").OrderRatingState;
|
|
77
77
|
posts: import("./posts").PostsSlice;
|
|
78
78
|
qr: import("./qr").QrState;
|
|
79
|
+
quote: import("./quote").QuoteState;
|
|
79
80
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
80
81
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
81
82
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -73,6 +73,7 @@ export declare const selectAnnouncementsPage: (page: AnnouncementPageType) => ((
|
|
|
73
73
|
orderRating: import("./orderRating").OrderRatingState;
|
|
74
74
|
posts: import("./posts").PostsSlice;
|
|
75
75
|
qr: import("./qr").QrState;
|
|
76
|
+
quote: import("./quote").QuoteState;
|
|
76
77
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
77
78
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
78
79
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -150,6 +151,7 @@ export declare const selectHasAnnouncementsPage: (page: AnnouncementPageType) =>
|
|
|
150
151
|
orderRating: import("./orderRating").OrderRatingState;
|
|
151
152
|
posts: import("./posts").PostsSlice;
|
|
152
153
|
qr: import("./qr").QrState;
|
|
154
|
+
quote: import("./quote").QuoteState;
|
|
153
155
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
154
156
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
155
157
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -29,8 +29,8 @@ export declare const validateOrder: import("@reduxjs/toolkit").AsyncThunk<{
|
|
|
29
29
|
rejectedMeta?: unknown;
|
|
30
30
|
}>;
|
|
31
31
|
export declare const submitOrder: import("@reduxjs/toolkit").AsyncThunk<Order, {
|
|
32
|
-
save
|
|
33
|
-
}, {
|
|
32
|
+
save: boolean;
|
|
33
|
+
} | undefined, {
|
|
34
34
|
state: AppState;
|
|
35
35
|
rejectValue: CheckoutErrorMessages;
|
|
36
36
|
dispatch?: Dispatch<import("redux").AnyAction> | undefined;
|
|
@@ -137,7 +137,7 @@ export const validateOrder = createAsyncThunk(CheckoutActionType.ValidateOrder,
|
|
|
137
137
|
return rejectWithValue(errors);
|
|
138
138
|
}
|
|
139
139
|
}));
|
|
140
|
-
export const submitOrder = createAsyncThunk(CheckoutActionType.SubmitOrder, (
|
|
140
|
+
export const submitOrder = createAsyncThunk(CheckoutActionType.SubmitOrder, (args, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
141
141
|
const { api } = getState().config;
|
|
142
142
|
if (!api)
|
|
143
143
|
return;
|
|
@@ -147,7 +147,8 @@ export const submitOrder = createAsyncThunk(CheckoutActionType.SubmitOrder, ({ s
|
|
|
147
147
|
args: { text: 'Submitting your order...' }
|
|
148
148
|
};
|
|
149
149
|
dispatch(setAlert(alert));
|
|
150
|
-
const
|
|
150
|
+
const { save = false } = args || {};
|
|
151
|
+
const preparedOrder = assembleOrder(getState(), save);
|
|
151
152
|
if (!preparedOrder) {
|
|
152
153
|
return dispatch(setAlert({ type: 'close' }));
|
|
153
154
|
}
|
|
@@ -132,6 +132,7 @@ export declare const selectOptIns: ((state: import("redux").EmptyObject & {
|
|
|
132
132
|
orderRating: import("./orderRating").OrderRatingState;
|
|
133
133
|
posts: import("./posts").PostsSlice;
|
|
134
134
|
qr: import("./qr").QrState;
|
|
135
|
+
quote: import("./quote").QuoteState;
|
|
135
136
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
136
137
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
137
138
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -115,6 +115,7 @@ export declare const selectCustomerCreditCardsForPayment: ((state: import("redux
|
|
|
115
115
|
orderRating: import("..").OrderRatingState;
|
|
116
116
|
posts: import("..").PostsSlice;
|
|
117
117
|
qr: import("..").QrState;
|
|
118
|
+
quote: import("..").QuoteState;
|
|
118
119
|
resetPassword: import("..").ResetPasswordState;
|
|
119
120
|
revenueCenters: import("..").RevenueCentersState;
|
|
120
121
|
sidebar: import("..").SidebarState;
|
|
@@ -72,6 +72,7 @@ export declare const selectCustomerLoyaltyProgram: ((state: import("redux").Empt
|
|
|
72
72
|
orderRating: import("..").OrderRatingState;
|
|
73
73
|
posts: import("..").PostsSlice;
|
|
74
74
|
qr: import("..").QrState;
|
|
75
|
+
quote: import("..").QuoteState;
|
|
75
76
|
resetPassword: import("..").ResetPasswordState;
|
|
76
77
|
revenueCenters: import("..").RevenueCentersState;
|
|
77
78
|
sidebar: import("..").SidebarState;
|
|
@@ -147,6 +148,7 @@ export declare const selectCustomerPointsProgram: (orderType: OrderType | null)
|
|
|
147
148
|
orderRating: import("..").OrderRatingState;
|
|
148
149
|
posts: import("..").PostsSlice;
|
|
149
150
|
qr: import("..").QrState;
|
|
151
|
+
quote: import("..").QuoteState;
|
|
150
152
|
resetPassword: import("..").ResetPasswordState;
|
|
151
153
|
revenueCenters: import("..").RevenueCentersState;
|
|
152
154
|
sidebar: import("..").SidebarState;
|
|
@@ -82,6 +82,7 @@ export declare const selectCustomerOrder: ((state: import("redux").EmptyObject &
|
|
|
82
82
|
orderRating: import("..").OrderRatingState;
|
|
83
83
|
posts: import("..").PostsSlice;
|
|
84
84
|
qr: import("..").QrState;
|
|
85
|
+
quote: import("..").QuoteState;
|
|
85
86
|
resetPassword: import("..").ResetPasswordState;
|
|
86
87
|
revenueCenters: import("..").RevenueCentersState;
|
|
87
88
|
sidebar: import("..").SidebarState;
|
|
@@ -69,6 +69,7 @@ export declare const selectCustomerTplsPoints: ((state: import("redux").EmptyObj
|
|
|
69
69
|
orderRating: import("..").OrderRatingState;
|
|
70
70
|
posts: import("..").PostsSlice;
|
|
71
71
|
qr: import("..").QrState;
|
|
72
|
+
quote: import("..").QuoteState;
|
|
72
73
|
resetPassword: import("..").ResetPasswordState;
|
|
73
74
|
revenueCenters: import("..").RevenueCentersState;
|
|
74
75
|
sidebar: import("..").SidebarState;
|
|
@@ -132,6 +133,7 @@ export declare const selectCustomerTplsRewards: ((state: import("redux").EmptyOb
|
|
|
132
133
|
orderRating: import("..").OrderRatingState;
|
|
133
134
|
posts: import("..").PostsSlice;
|
|
134
135
|
qr: import("..").QrState;
|
|
136
|
+
quote: import("..").QuoteState;
|
|
135
137
|
resetPassword: import("..").ResetPasswordState;
|
|
136
138
|
revenueCenters: import("..").RevenueCentersState;
|
|
137
139
|
sidebar: import("..").SidebarState;
|
|
@@ -195,6 +197,7 @@ export declare const selectCustomerTplsProgress: ((state: import("redux").EmptyO
|
|
|
195
197
|
orderRating: import("..").OrderRatingState;
|
|
196
198
|
posts: import("..").PostsSlice;
|
|
197
199
|
qr: import("..").QrState;
|
|
200
|
+
quote: import("..").QuoteState;
|
|
198
201
|
resetPassword: import("..").ResetPasswordState;
|
|
199
202
|
revenueCenters: import("..").RevenueCentersState;
|
|
200
203
|
sidebar: import("..").SidebarState;
|
|
@@ -155,6 +155,7 @@ export declare const selectSpendingLimit: ((state: import("redux").EmptyObject &
|
|
|
155
155
|
orderRating: import("./orderRating").OrderRatingState;
|
|
156
156
|
posts: import("./posts").PostsSlice;
|
|
157
157
|
qr: import("./qr").QrState;
|
|
158
|
+
quote: import("./quote").QuoteState;
|
|
158
159
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
159
160
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
160
161
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -221,6 +222,7 @@ export declare const selectGroupOrderClosed: ((state: import("redux").EmptyObjec
|
|
|
221
222
|
orderRating: import("./orderRating").OrderRatingState;
|
|
222
223
|
posts: import("./posts").PostsSlice;
|
|
223
224
|
qr: import("./qr").QrState;
|
|
225
|
+
quote: import("./quote").QuoteState;
|
|
224
226
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
225
227
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
226
228
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -289,6 +291,7 @@ export declare const selectGroupOrderTests: ((state: import("redux").EmptyObject
|
|
|
289
291
|
orderRating: import("./orderRating").OrderRatingState;
|
|
290
292
|
posts: import("./posts").PostsSlice;
|
|
291
293
|
qr: import("./qr").QrState;
|
|
294
|
+
quote: import("./quote").QuoteState;
|
|
292
295
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
293
296
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
294
297
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -366,6 +369,7 @@ export declare const selectGroupOrderPrepTimes: ((state: import("redux").EmptyOb
|
|
|
366
369
|
orderRating: import("./orderRating").OrderRatingState;
|
|
367
370
|
posts: import("./posts").PostsSlice;
|
|
368
371
|
qr: import("./qr").QrState;
|
|
372
|
+
quote: import("./quote").QuoteState;
|
|
369
373
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
370
374
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
371
375
|
sidebar: import("./sidebar").SidebarState;
|
package/dist/esm/slices/index.js
CHANGED
|
@@ -177,6 +177,7 @@ export declare const selectOrderLimits: ((state: import("redux").EmptyObject & {
|
|
|
177
177
|
orderRating: import("./orderRating").OrderRatingState;
|
|
178
178
|
posts: import("./posts").PostsSlice;
|
|
179
179
|
qr: import("./qr").QrState;
|
|
180
|
+
quote: import("./quote").QuoteState;
|
|
180
181
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
181
182
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
182
183
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -251,6 +252,7 @@ export declare const selectCartIds: ((state: import("redux").EmptyObject & {
|
|
|
251
252
|
orderRating: import("./orderRating").OrderRatingState;
|
|
252
253
|
posts: import("./posts").PostsSlice;
|
|
253
254
|
qr: import("./qr").QrState;
|
|
255
|
+
quote: import("./quote").QuoteState;
|
|
254
256
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
255
257
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
256
258
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -320,6 +322,7 @@ export declare const selectMenuVars: ((state: import("redux").EmptyObject & {
|
|
|
320
322
|
orderRating: import("./orderRating").OrderRatingState;
|
|
321
323
|
posts: import("./posts").PostsSlice;
|
|
322
324
|
qr: import("./qr").QrState;
|
|
325
|
+
quote: import("./quote").QuoteState;
|
|
323
326
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
324
327
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
325
328
|
sidebar: import("./sidebar").SidebarState;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Order, RequestError, RequestStatus } from '@open-tender/types';
|
|
2
|
+
import { AppState } from '../app';
|
|
3
|
+
export interface QuoteState {
|
|
4
|
+
entity: Order | null;
|
|
5
|
+
error: RequestError;
|
|
6
|
+
loading: RequestStatus;
|
|
7
|
+
}
|
|
8
|
+
export declare enum QuoteActionType {
|
|
9
|
+
FetchQuote = "customer/fetchQuote"
|
|
10
|
+
}
|
|
11
|
+
export declare const fetchQuote: import("@reduxjs/toolkit").AsyncThunk<Order, string, {
|
|
12
|
+
state: AppState;
|
|
13
|
+
rejectValue: RequestError;
|
|
14
|
+
dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
|
|
15
|
+
extra?: unknown;
|
|
16
|
+
serializedErrorType?: unknown;
|
|
17
|
+
pendingMeta?: unknown;
|
|
18
|
+
fulfilledMeta?: unknown;
|
|
19
|
+
rejectedMeta?: unknown;
|
|
20
|
+
}>;
|
|
21
|
+
export declare const resetQuote: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"quote/resetQuote">, resetQuoteError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"quote/resetQuoteError">, setQuote: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "quote/setQuote">;
|
|
22
|
+
export declare const selectQuote: ((state: import("redux").EmptyObject & {
|
|
23
|
+
alerts: import("@open-tender/types").Alerts;
|
|
24
|
+
allergens: import("./allergens").AllergensState;
|
|
25
|
+
announcements: import("./announcements").AnnouncementsState;
|
|
26
|
+
checkout: import("./checkout").CheckoutState;
|
|
27
|
+
completedOrders: import("./completedOrders").CompletedOrdersState;
|
|
28
|
+
config: import("./config").ConfigState;
|
|
29
|
+
confirmation: import("./confirmation").ConfirmationState;
|
|
30
|
+
customer: import("redux").CombinedState<{
|
|
31
|
+
account: import("./customer").AccountState;
|
|
32
|
+
communicationPreferences: import("./customer").CustomerCommunicationPrefsState;
|
|
33
|
+
creditCards: import("./customer").CustomerCreditCardsState;
|
|
34
|
+
allergens: import("./customer").CustomerAllergensState;
|
|
35
|
+
addresses: import("./customer").CustomerAddressesState;
|
|
36
|
+
favorites: import("./customer").CustomerFavoritesState;
|
|
37
|
+
fcmToken: import("./customer").CustomerFcmTokenState;
|
|
38
|
+
giftCards: import("./customer").CustomerGiftCardsState;
|
|
39
|
+
groupOrders: import("./customer").CustomerGroupOrdersState;
|
|
40
|
+
houseAccounts: import("./customer").CustomerHouseAccountsState;
|
|
41
|
+
loyalty: import("./customer").CustomerLoyaltyState;
|
|
42
|
+
order: import("./customer").CustomerOrderState;
|
|
43
|
+
orders: import("./customer").CustomerOrdersState;
|
|
44
|
+
pointsShop: import("./customer").PointsShopState;
|
|
45
|
+
qrcode: import("./customer").CustomerQRCodeState;
|
|
46
|
+
rewards: import("./customer").CustomerRewardsState;
|
|
47
|
+
thanx: import("./customer").CustomerThanxState;
|
|
48
|
+
tpls: import("./customer").CustomerTplsState;
|
|
49
|
+
}>;
|
|
50
|
+
deals: import("./deals").DealsState;
|
|
51
|
+
donations: import("./donations").DonationState;
|
|
52
|
+
geolocation: import("./geolocation").GeoLocationState;
|
|
53
|
+
giftCards: import("./giftCards").GiftCardsState;
|
|
54
|
+
groupOrder: import("./groupOrder").GroupOrderState;
|
|
55
|
+
guest: import("./guest").GuestState;
|
|
56
|
+
loader: import("./loader").LoaderState;
|
|
57
|
+
menu: import("./menu").MenuState;
|
|
58
|
+
menuDisplay: import("./menuDisplay").MenuDisplayState;
|
|
59
|
+
menuItems: import("./menuItems").MenuItemsState;
|
|
60
|
+
modal: import("@open-tender/types").Modal;
|
|
61
|
+
misc: import("./misc").MiscState;
|
|
62
|
+
nav: import("./nav").NavState;
|
|
63
|
+
navSite: import("./navSite").NavSiteState;
|
|
64
|
+
notifications: import("@open-tender/types").Notifications;
|
|
65
|
+
oneTimePasscode: import("./oneTimePasscode").OneTimePasscodeState;
|
|
66
|
+
order: import("./order").OrderState;
|
|
67
|
+
orderFulfillment: import("./orderFulfillment").OrderFulfillmentState;
|
|
68
|
+
orderRating: import("./orderRating").OrderRatingState;
|
|
69
|
+
posts: import("./posts").PostsSlice;
|
|
70
|
+
qr: import("./qr").QrState;
|
|
71
|
+
quote: QuoteState;
|
|
72
|
+
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
73
|
+
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
74
|
+
sidebar: import("./sidebar").SidebarState;
|
|
75
|
+
sidebarModal: import("./sidebarModal").SidebarModalState;
|
|
76
|
+
signUp: import("./signUp").SignUpState;
|
|
77
|
+
tags: import("./tags").TagsState;
|
|
78
|
+
terms: import("./terms").TermsSlice;
|
|
79
|
+
validTimes: import("./validTimes").ValidTimesState;
|
|
80
|
+
verifyAccount: import("./verifyAccount").VerifyAccountState;
|
|
81
|
+
}) => {
|
|
82
|
+
order: Order | null;
|
|
83
|
+
loading: RequestStatus;
|
|
84
|
+
error: RequestError;
|
|
85
|
+
}) & import("reselect").OutputSelectorFields<(args_0: {
|
|
86
|
+
order: Order | null;
|
|
87
|
+
loading: RequestStatus;
|
|
88
|
+
error: RequestError;
|
|
89
|
+
}) => {
|
|
90
|
+
order: Order | null;
|
|
91
|
+
loading: RequestStatus;
|
|
92
|
+
error: RequestError;
|
|
93
|
+
}, {
|
|
94
|
+
clearCache: () => void;
|
|
95
|
+
}> & {
|
|
96
|
+
clearCache: () => void;
|
|
97
|
+
};
|
|
98
|
+
export declare const quoteReducer: import("redux").Reducer<QuoteState, import("redux").AnyAction>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { createAsyncThunk, createSelector, createSlice } from '@reduxjs/toolkit';
|
|
3
|
+
import { selectToken } from './customer';
|
|
4
|
+
import { ReducerType } from './types';
|
|
5
|
+
const initialState = {
|
|
6
|
+
entity: null,
|
|
7
|
+
error: null,
|
|
8
|
+
loading: 'idle'
|
|
9
|
+
};
|
|
10
|
+
export var QuoteActionType;
|
|
11
|
+
(function (QuoteActionType) {
|
|
12
|
+
QuoteActionType["FetchQuote"] = "customer/fetchQuote";
|
|
13
|
+
})(QuoteActionType || (QuoteActionType = {}));
|
|
14
|
+
export const fetchQuote = createAsyncThunk(QuoteActionType.FetchQuote, (orderUuid, { getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
try {
|
|
16
|
+
const api = getState().config.api;
|
|
17
|
+
const token = selectToken(getState());
|
|
18
|
+
return yield api.getQuote(token, orderUuid);
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
return rejectWithValue(err);
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
const quoteSlice = createSlice({
|
|
25
|
+
name: ReducerType.Quote,
|
|
26
|
+
initialState,
|
|
27
|
+
reducers: {
|
|
28
|
+
resetQuote: () => initialState,
|
|
29
|
+
resetQuoteError: state => {
|
|
30
|
+
state.error = null;
|
|
31
|
+
state.loading = 'idle';
|
|
32
|
+
},
|
|
33
|
+
setQuote: (state, action) => {
|
|
34
|
+
state.entity = action.payload;
|
|
35
|
+
state.error = null;
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
extraReducers: builder => {
|
|
39
|
+
builder
|
|
40
|
+
.addCase(fetchQuote.fulfilled, (state, action) => {
|
|
41
|
+
state.entity = action.payload;
|
|
42
|
+
state.loading = 'idle';
|
|
43
|
+
state.error = null;
|
|
44
|
+
})
|
|
45
|
+
.addCase(fetchQuote.pending, state => {
|
|
46
|
+
state.loading = 'pending';
|
|
47
|
+
})
|
|
48
|
+
.addCase(fetchQuote.rejected, (state, action) => {
|
|
49
|
+
state.error = action.payload;
|
|
50
|
+
state.loading = 'idle';
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
export const { resetQuote, resetQuoteError, setQuote } = quoteSlice.actions;
|
|
55
|
+
export const selectQuote = createSelector((state) => {
|
|
56
|
+
const { entity: order, loading, error } = state.quote;
|
|
57
|
+
return { order, loading, error };
|
|
58
|
+
}, ({ order, loading, error }) => {
|
|
59
|
+
return { order, loading, error };
|
|
60
|
+
});
|
|
61
|
+
export const quoteReducer = quoteSlice.reducer;
|
|
@@ -76,6 +76,7 @@ export declare const selectSelectedTagNames: ((state: import("redux").EmptyObjec
|
|
|
76
76
|
orderRating: import("./orderRating").OrderRatingState;
|
|
77
77
|
posts: import("./posts").PostsSlice;
|
|
78
78
|
qr: import("./qr").QrState;
|
|
79
|
+
quote: import("./quote").QuoteState;
|
|
79
80
|
resetPassword: import("./resetPassword").ResetPasswordState;
|
|
80
81
|
revenueCenters: import("./revenueCenters").RevenueCentersState;
|
|
81
82
|
sidebar: import("./sidebar").SidebarState;
|
package/dist/esm/slices/types.js
CHANGED
|
@@ -42,6 +42,7 @@ export var ReducerType;
|
|
|
42
42
|
ReducerType["PointsShop"] = "pointsShop";
|
|
43
43
|
ReducerType["Qr"] = "qr";
|
|
44
44
|
ReducerType["QRCode"] = "qrcode";
|
|
45
|
+
ReducerType["Quote"] = "quote";
|
|
45
46
|
ReducerType["ResetPassword"] = "resetPassword";
|
|
46
47
|
ReducerType["RevenueCenters"] = "revenueCenters";
|
|
47
48
|
ReducerType["Rewards"] = "rewards";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/cloud",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.105",
|
|
4
4
|
"description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|