@open-tender/store 0.3.91 → 0.3.93

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.
@@ -1,4 +1,4 @@
1
- import { Cashier, DeviceColorScheme, DeviceFontSize, Employee, RequestError } from '../types';
1
+ import { Cashier, DeviceColorScheme, DeviceFontSize, Employee, Order, RequestError } from '../types';
2
2
  import { AppState } from '../app';
3
3
  export interface PosState {
4
4
  cashier: Cashier | null;
@@ -10,12 +10,15 @@ export interface PosState {
10
10
  notes: string | null;
11
11
  fontSize: DeviceFontSize;
12
12
  colorScheme: DeviceColorScheme;
13
+ order: Order | null;
14
+ refund: Order | null;
13
15
  loading: string | null;
14
16
  error: RequestError;
15
17
  }
16
- export declare enum POSActionType {
18
+ export declare enum PosActionType {
17
19
  FetchOfflineStatus = "pos/fetchOfflineStatus",
18
- UpdateOfflineStatus = "pos/updateOfflineStatus"
20
+ UpdateOfflineStatus = "pos/updateOfflineStatus",
21
+ PrintPosOrder = "pos/printPosOrder"
19
22
  }
20
23
  export declare const fetchOfflineStatus: import("@reduxjs/toolkit").AsyncThunk<boolean, void, {
21
24
  state: AppState;
@@ -25,15 +28,26 @@ export declare const updateOfflineStatus: import("@reduxjs/toolkit").AsyncThunk<
25
28
  state: AppState;
26
29
  rejectValue: RequestError;
27
30
  }>;
28
- export declare const resetPos: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setLastOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosName: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosNotes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCashier: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setManager: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosFontSize: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosColorScheme: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
31
+ export declare const printPosOrder: import("@reduxjs/toolkit").AsyncThunk<void, string, {
32
+ state: AppState;
33
+ }>;
34
+ export declare const resetPos: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setLastOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosName: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosNotes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCashier: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setManager: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosFontSize: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosColorScheme: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosRefund: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
29
35
  export declare const selectPos: (state: AppState) => PosState;
30
36
  export declare const selectLastOrderId: (state: AppState) => string | null;
31
37
  export declare const selectMenuPage: (state: AppState) => number | null;
32
38
  export declare const selectPosName: (state: AppState) => string | null;
33
39
  export declare const selectPosNotes: (state: AppState) => string | null;
34
- export declare const selectCashier: (state: AppState) => Cashier | null;
40
+ export declare const selectCashier: (state: AppState) => {
41
+ cashier: null;
42
+ isExpired: boolean;
43
+ } | {
44
+ cashier: Cashier;
45
+ isExpired: boolean;
46
+ };
35
47
  export declare const selectManager: (state: AppState) => Employee | null;
36
48
  export declare const selectIsOffline: (state: AppState) => boolean;
49
+ export declare const selectPosOrder: (state: AppState) => Order | null;
50
+ export declare const selectPosRefund: (state: AppState) => Order | null;
37
51
  export declare const selectPosFontSize: (state: AppState) => DeviceFontSize;
38
52
  export declare const selectPosColorScheme: (state: AppState) => DeviceColorScheme;
39
53
  export declare const posReducer: import("redux").Reducer<PosState, import("redux").AnyAction>;
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.posReducer = exports.selectPosColorScheme = exports.selectPosFontSize = exports.selectIsOffline = exports.selectManager = exports.selectCashier = exports.selectPosNotes = exports.selectPosName = exports.selectMenuPage = exports.selectLastOrderId = exports.selectPos = exports.setPosColorScheme = exports.setPosFontSize = exports.setManager = exports.setCashier = exports.setPosNotes = exports.setPosName = exports.setMenuPage = exports.setLastOrderId = exports.resetPos = exports.updateOfflineStatus = exports.fetchOfflineStatus = exports.POSActionType = void 0;
4
+ exports.posReducer = exports.selectPosColorScheme = exports.selectPosFontSize = exports.selectPosRefund = exports.selectPosOrder = exports.selectIsOffline = exports.selectManager = exports.selectCashier = exports.selectPosNotes = exports.selectPosName = exports.selectMenuPage = exports.selectLastOrderId = exports.selectPos = exports.setPosRefund = exports.setPosOrder = exports.setPosColorScheme = exports.setPosFontSize = exports.setManager = exports.setCashier = exports.setPosNotes = exports.setPosName = exports.setMenuPage = exports.setLastOrderId = exports.resetPos = exports.printPosOrder = exports.updateOfflineStatus = exports.fetchOfflineStatus = exports.PosActionType = void 0;
5
5
  var tslib_1 = require("tslib");
6
6
  var toolkit_1 = require("@reduxjs/toolkit");
7
7
  var types_1 = require("./types");
8
+ var config_1 = require("./config");
9
+ var utils_1 = require("../utils");
10
+ var alerts_1 = require("./alerts");
8
11
  var initialState = {
9
12
  cashier: null,
10
13
  manager: null,
@@ -15,15 +18,18 @@ var initialState = {
15
18
  notes: '',
16
19
  fontSize: 'medium',
17
20
  colorScheme: 'dark',
21
+ order: null,
22
+ refund: null,
18
23
  loading: 'idle',
19
24
  error: null
20
25
  };
21
- var POSActionType;
22
- (function (POSActionType) {
23
- POSActionType["FetchOfflineStatus"] = "pos/fetchOfflineStatus";
24
- POSActionType["UpdateOfflineStatus"] = "pos/updateOfflineStatus";
25
- })(POSActionType = exports.POSActionType || (exports.POSActionType = {}));
26
- exports.fetchOfflineStatus = (0, toolkit_1.createAsyncThunk)(POSActionType.FetchOfflineStatus, function (_, _a) {
26
+ var PosActionType;
27
+ (function (PosActionType) {
28
+ PosActionType["FetchOfflineStatus"] = "pos/fetchOfflineStatus";
29
+ PosActionType["UpdateOfflineStatus"] = "pos/updateOfflineStatus";
30
+ PosActionType["PrintPosOrder"] = "pos/printPosOrder";
31
+ })(PosActionType = exports.PosActionType || (exports.PosActionType = {}));
32
+ exports.fetchOfflineStatus = (0, toolkit_1.createAsyncThunk)(PosActionType.FetchOfflineStatus, function (_, _a) {
27
33
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
28
34
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
29
35
  var api, response, err_1;
@@ -44,7 +50,7 @@ exports.fetchOfflineStatus = (0, toolkit_1.createAsyncThunk)(POSActionType.Fetch
44
50
  });
45
51
  });
46
52
  });
47
- exports.updateOfflineStatus = (0, toolkit_1.createAsyncThunk)(POSActionType.UpdateOfflineStatus, function (is_offline, _a) {
53
+ exports.updateOfflineStatus = (0, toolkit_1.createAsyncThunk)(PosActionType.UpdateOfflineStatus, function (is_offline, _a) {
48
54
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
49
55
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
50
56
  var api, response, err_2;
@@ -65,6 +71,29 @@ exports.updateOfflineStatus = (0, toolkit_1.createAsyncThunk)(POSActionType.Upda
65
71
  });
66
72
  });
67
73
  });
74
+ exports.printPosOrder = (0, toolkit_1.createAsyncThunk)(PosActionType.PrintPosOrder, function (orderId, _a) {
75
+ var getState = _a.getState, dispatch = _a.dispatch;
76
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
77
+ var api, err_3, detail;
78
+ return tslib_1.__generator(this, function (_b) {
79
+ switch (_b.label) {
80
+ case 0:
81
+ _b.trys.push([0, 2, , 3]);
82
+ api = getState().config.api;
83
+ return [4 /*yield*/, api.postReceipt(orderId)];
84
+ case 1:
85
+ _b.sent();
86
+ return [3 /*break*/, 3];
87
+ case 2:
88
+ err_3 = _b.sent();
89
+ detail = err_3.detail;
90
+ dispatch((0, alerts_1.addAlert)(detail));
91
+ return [3 /*break*/, 3];
92
+ case 3: return [2 /*return*/];
93
+ }
94
+ });
95
+ });
96
+ });
68
97
  var posSlice = (0, toolkit_1.createSlice)({
69
98
  name: types_1.ReducerType.Pos,
70
99
  initialState: initialState,
@@ -96,6 +125,12 @@ var posSlice = (0, toolkit_1.createSlice)({
96
125
  },
97
126
  setPosColorScheme: function (state, action) {
98
127
  state.colorScheme = action.payload;
128
+ },
129
+ setPosOrder: function (state, action) {
130
+ state.order = action.payload;
131
+ },
132
+ setPosRefund: function (state, action) {
133
+ state.refund = action.payload;
99
134
  }
100
135
  },
101
136
  extraReducers: function (builder) {
@@ -123,10 +158,19 @@ var posSlice = (0, toolkit_1.createSlice)({
123
158
  .addCase(exports.updateOfflineStatus.rejected, function (state, action) {
124
159
  state.loading = 'idle';
125
160
  state.error = action.payload;
161
+ })
162
+ .addCase(exports.printPosOrder.fulfilled, function (state) {
163
+ state.loading = 'idle';
164
+ })
165
+ .addCase(exports.printPosOrder.pending, function (state) {
166
+ state.loading = 'pending';
167
+ })
168
+ .addCase(exports.printPosOrder.rejected, function (state) {
169
+ state.loading = 'idle';
126
170
  });
127
171
  }
128
172
  });
129
- exports.resetPos = (_a = posSlice.actions, _a.resetPos), exports.setLastOrderId = _a.setLastOrderId, exports.setMenuPage = _a.setMenuPage, exports.setPosName = _a.setPosName, exports.setPosNotes = _a.setPosNotes, exports.setCashier = _a.setCashier, exports.setManager = _a.setManager, exports.setPosFontSize = _a.setPosFontSize, exports.setPosColorScheme = _a.setPosColorScheme;
173
+ exports.resetPos = (_a = posSlice.actions, _a.resetPos), exports.setLastOrderId = _a.setLastOrderId, exports.setMenuPage = _a.setMenuPage, exports.setPosName = _a.setPosName, exports.setPosNotes = _a.setPosNotes, exports.setCashier = _a.setCashier, exports.setManager = _a.setManager, exports.setPosFontSize = _a.setPosFontSize, exports.setPosColorScheme = _a.setPosColorScheme, exports.setPosOrder = _a.setPosOrder, exports.setPosRefund = _a.setPosRefund;
130
174
  var selectPos = function (state) { return state.pos; };
131
175
  exports.selectPos = selectPos;
132
176
  var selectLastOrderId = function (state) { return state.pos.lastOrderId; };
@@ -137,12 +181,26 @@ var selectPosName = function (state) { return state.pos.name; };
137
181
  exports.selectPosName = selectPosName;
138
182
  var selectPosNotes = function (state) { return state.pos.notes; };
139
183
  exports.selectPosNotes = selectPosNotes;
140
- var selectCashier = function (state) { return state.pos.cashier; };
184
+ var selectCashier = function (state) {
185
+ var cashier = state.pos.cashier;
186
+ if (!cashier)
187
+ return { cashier: null, isExpired: false };
188
+ var tz = (0, config_1.selectTimezone)(state);
189
+ var businessDate = (0, utils_1.currentLocalDateStr)(tz);
190
+ var isExpired = businessDate !== cashier.businessDate;
191
+ if (isExpired)
192
+ return { cashier: null, isExpired: true };
193
+ return { cashier: cashier, isExpired: false };
194
+ };
141
195
  exports.selectCashier = selectCashier;
142
196
  var selectManager = function (state) { return state.pos.manager; };
143
197
  exports.selectManager = selectManager;
144
198
  var selectIsOffline = function (state) { return state.pos.isOffline; };
145
199
  exports.selectIsOffline = selectIsOffline;
200
+ var selectPosOrder = function (state) { return state.pos.order; };
201
+ exports.selectPosOrder = selectPosOrder;
202
+ var selectPosRefund = function (state) { return state.pos.refund; };
203
+ exports.selectPosRefund = selectPosRefund;
146
204
  var selectPosFontSize = function (state) { return state.pos.fontSize; };
147
205
  exports.selectPosFontSize = selectPosFontSize;
148
206
  var selectPosColorScheme = function (state) { return state.pos.colorScheme; };
@@ -94,7 +94,7 @@ export interface Tender {
94
94
  exp?: string;
95
95
  zip?: string;
96
96
  save?: boolean;
97
- gift_card_code?: string;
97
+ gift_card_code?: string | number;
98
98
  house_account_pin?: string;
99
99
  }
100
100
  export interface OrderCreate {
@@ -1,4 +1,4 @@
1
- import { Cashier, DeviceColorScheme, DeviceFontSize, Employee, RequestError } from '../types';
1
+ import { Cashier, DeviceColorScheme, DeviceFontSize, Employee, Order, RequestError } from '../types';
2
2
  import { AppState } from '../app';
3
3
  export interface PosState {
4
4
  cashier: Cashier | null;
@@ -10,12 +10,15 @@ export interface PosState {
10
10
  notes: string | null;
11
11
  fontSize: DeviceFontSize;
12
12
  colorScheme: DeviceColorScheme;
13
+ order: Order | null;
14
+ refund: Order | null;
13
15
  loading: string | null;
14
16
  error: RequestError;
15
17
  }
16
- export declare enum POSActionType {
18
+ export declare enum PosActionType {
17
19
  FetchOfflineStatus = "pos/fetchOfflineStatus",
18
- UpdateOfflineStatus = "pos/updateOfflineStatus"
20
+ UpdateOfflineStatus = "pos/updateOfflineStatus",
21
+ PrintPosOrder = "pos/printPosOrder"
19
22
  }
20
23
  export declare const fetchOfflineStatus: import("@reduxjs/toolkit").AsyncThunk<boolean, void, {
21
24
  state: AppState;
@@ -25,15 +28,26 @@ export declare const updateOfflineStatus: import("@reduxjs/toolkit").AsyncThunk<
25
28
  state: AppState;
26
29
  rejectValue: RequestError;
27
30
  }>;
28
- export declare const resetPos: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setLastOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosName: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosNotes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCashier: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setManager: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosFontSize: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosColorScheme: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
31
+ export declare const printPosOrder: import("@reduxjs/toolkit").AsyncThunk<void, string, {
32
+ state: AppState;
33
+ }>;
34
+ export declare const resetPos: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setLastOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuPage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosName: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosNotes: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCashier: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setManager: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosFontSize: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosColorScheme: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPosRefund: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
29
35
  export declare const selectPos: (state: AppState) => PosState;
30
36
  export declare const selectLastOrderId: (state: AppState) => string | null;
31
37
  export declare const selectMenuPage: (state: AppState) => number | null;
32
38
  export declare const selectPosName: (state: AppState) => string | null;
33
39
  export declare const selectPosNotes: (state: AppState) => string | null;
34
- export declare const selectCashier: (state: AppState) => Cashier | null;
40
+ export declare const selectCashier: (state: AppState) => {
41
+ cashier: null;
42
+ isExpired: boolean;
43
+ } | {
44
+ cashier: Cashier;
45
+ isExpired: boolean;
46
+ };
35
47
  export declare const selectManager: (state: AppState) => Employee | null;
36
48
  export declare const selectIsOffline: (state: AppState) => boolean;
49
+ export declare const selectPosOrder: (state: AppState) => Order | null;
50
+ export declare const selectPosRefund: (state: AppState) => Order | null;
37
51
  export declare const selectPosFontSize: (state: AppState) => DeviceFontSize;
38
52
  export declare const selectPosColorScheme: (state: AppState) => DeviceColorScheme;
39
53
  export declare const posReducer: import("redux").Reducer<PosState, import("redux").AnyAction>;
@@ -2,6 +2,9 @@ var _a;
2
2
  import { __awaiter, __generator } from "tslib";
3
3
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
4
4
  import { ReducerType } from './types';
5
+ import { selectTimezone } from './config';
6
+ import { currentLocalDateStr } from '../utils';
7
+ import { addAlert } from './alerts';
5
8
  var initialState = {
6
9
  cashier: null,
7
10
  manager: null,
@@ -12,15 +15,18 @@ var initialState = {
12
15
  notes: '',
13
16
  fontSize: 'medium',
14
17
  colorScheme: 'dark',
18
+ order: null,
19
+ refund: null,
15
20
  loading: 'idle',
16
21
  error: null
17
22
  };
18
- export var POSActionType;
19
- (function (POSActionType) {
20
- POSActionType["FetchOfflineStatus"] = "pos/fetchOfflineStatus";
21
- POSActionType["UpdateOfflineStatus"] = "pos/updateOfflineStatus";
22
- })(POSActionType || (POSActionType = {}));
23
- export var fetchOfflineStatus = createAsyncThunk(POSActionType.FetchOfflineStatus, function (_, _a) {
23
+ export var PosActionType;
24
+ (function (PosActionType) {
25
+ PosActionType["FetchOfflineStatus"] = "pos/fetchOfflineStatus";
26
+ PosActionType["UpdateOfflineStatus"] = "pos/updateOfflineStatus";
27
+ PosActionType["PrintPosOrder"] = "pos/printPosOrder";
28
+ })(PosActionType || (PosActionType = {}));
29
+ export var fetchOfflineStatus = createAsyncThunk(PosActionType.FetchOfflineStatus, function (_, _a) {
24
30
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
25
31
  return __awaiter(void 0, void 0, void 0, function () {
26
32
  var api, response, err_1;
@@ -41,7 +47,7 @@ export var fetchOfflineStatus = createAsyncThunk(POSActionType.FetchOfflineStatu
41
47
  });
42
48
  });
43
49
  });
44
- export var updateOfflineStatus = createAsyncThunk(POSActionType.UpdateOfflineStatus, function (is_offline, _a) {
50
+ export var updateOfflineStatus = createAsyncThunk(PosActionType.UpdateOfflineStatus, function (is_offline, _a) {
45
51
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
46
52
  return __awaiter(void 0, void 0, void 0, function () {
47
53
  var api, response, err_2;
@@ -62,6 +68,29 @@ export var updateOfflineStatus = createAsyncThunk(POSActionType.UpdateOfflineSta
62
68
  });
63
69
  });
64
70
  });
71
+ export var printPosOrder = createAsyncThunk(PosActionType.PrintPosOrder, function (orderId, _a) {
72
+ var getState = _a.getState, dispatch = _a.dispatch;
73
+ return __awaiter(void 0, void 0, void 0, function () {
74
+ var api, err_3, detail;
75
+ return __generator(this, function (_b) {
76
+ switch (_b.label) {
77
+ case 0:
78
+ _b.trys.push([0, 2, , 3]);
79
+ api = getState().config.api;
80
+ return [4 /*yield*/, api.postReceipt(orderId)];
81
+ case 1:
82
+ _b.sent();
83
+ return [3 /*break*/, 3];
84
+ case 2:
85
+ err_3 = _b.sent();
86
+ detail = err_3.detail;
87
+ dispatch(addAlert(detail));
88
+ return [3 /*break*/, 3];
89
+ case 3: return [2 /*return*/];
90
+ }
91
+ });
92
+ });
93
+ });
65
94
  var posSlice = createSlice({
66
95
  name: ReducerType.Pos,
67
96
  initialState: initialState,
@@ -93,6 +122,12 @@ var posSlice = createSlice({
93
122
  },
94
123
  setPosColorScheme: function (state, action) {
95
124
  state.colorScheme = action.payload;
125
+ },
126
+ setPosOrder: function (state, action) {
127
+ state.order = action.payload;
128
+ },
129
+ setPosRefund: function (state, action) {
130
+ state.refund = action.payload;
96
131
  }
97
132
  },
98
133
  extraReducers: function (builder) {
@@ -120,18 +155,39 @@ var posSlice = createSlice({
120
155
  .addCase(updateOfflineStatus.rejected, function (state, action) {
121
156
  state.loading = 'idle';
122
157
  state.error = action.payload;
158
+ })
159
+ .addCase(printPosOrder.fulfilled, function (state) {
160
+ state.loading = 'idle';
161
+ })
162
+ .addCase(printPosOrder.pending, function (state) {
163
+ state.loading = 'pending';
164
+ })
165
+ .addCase(printPosOrder.rejected, function (state) {
166
+ state.loading = 'idle';
123
167
  });
124
168
  }
125
169
  });
126
- export var resetPos = (_a = posSlice.actions, _a.resetPos), setLastOrderId = _a.setLastOrderId, setMenuPage = _a.setMenuPage, setPosName = _a.setPosName, setPosNotes = _a.setPosNotes, setCashier = _a.setCashier, setManager = _a.setManager, setPosFontSize = _a.setPosFontSize, setPosColorScheme = _a.setPosColorScheme;
170
+ export var resetPos = (_a = posSlice.actions, _a.resetPos), setLastOrderId = _a.setLastOrderId, setMenuPage = _a.setMenuPage, setPosName = _a.setPosName, setPosNotes = _a.setPosNotes, setCashier = _a.setCashier, setManager = _a.setManager, setPosFontSize = _a.setPosFontSize, setPosColorScheme = _a.setPosColorScheme, setPosOrder = _a.setPosOrder, setPosRefund = _a.setPosRefund;
127
171
  export var selectPos = function (state) { return state.pos; };
128
172
  export var selectLastOrderId = function (state) { return state.pos.lastOrderId; };
129
173
  export var selectMenuPage = function (state) { return state.pos.page; };
130
174
  export var selectPosName = function (state) { return state.pos.name; };
131
175
  export var selectPosNotes = function (state) { return state.pos.notes; };
132
- export var selectCashier = function (state) { return state.pos.cashier; };
176
+ export var selectCashier = function (state) {
177
+ var cashier = state.pos.cashier;
178
+ if (!cashier)
179
+ return { cashier: null, isExpired: false };
180
+ var tz = selectTimezone(state);
181
+ var businessDate = currentLocalDateStr(tz);
182
+ var isExpired = businessDate !== cashier.businessDate;
183
+ if (isExpired)
184
+ return { cashier: null, isExpired: true };
185
+ return { cashier: cashier, isExpired: false };
186
+ };
133
187
  export var selectManager = function (state) { return state.pos.manager; };
134
188
  export var selectIsOffline = function (state) { return state.pos.isOffline; };
189
+ export var selectPosOrder = function (state) { return state.pos.order; };
190
+ export var selectPosRefund = function (state) { return state.pos.refund; };
135
191
  export var selectPosFontSize = function (state) { return state.pos.fontSize; };
136
192
  export var selectPosColorScheme = function (state) { return state.pos.colorScheme; };
137
193
  export var posReducer = posSlice.reducer;
@@ -94,7 +94,7 @@ export interface Tender {
94
94
  exp?: string;
95
95
  zip?: string;
96
96
  save?: boolean;
97
- gift_card_code?: string;
97
+ gift_card_code?: string | number;
98
98
  house_account_pin?: string;
99
99
  }
100
100
  export interface OrderCreate {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/store",
3
- "version": "0.3.91",
3
+ "version": "0.3.93",
4
4
  "description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",