@tap-payments/auth-jsconnect 2.10.11-development → 2.10.12-development

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.
@@ -102,8 +102,9 @@ export declare const terminalSlice: import("@reduxjs/toolkit").Slice<TerminalDat
102
102
  resetOTPScreen: (state: TerminalDataState) => void;
103
103
  storeSelectedTerminalDevice: (state: TerminalDataState, action: ActionState<TerminalDeviceInfo>) => void;
104
104
  storeSelectedTerminal: (state: TerminalDataState, action: ActionState<TerminalInfo>) => void;
105
+ resetTerminalLinkResponse: (state: TerminalDataState) => void;
105
106
  }, "terminal/store">;
106
- export declare const clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, stopLoader: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetOTPScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, storeSelectedTerminalDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<TerminalDeviceInfo, string>, storeSelectedTerminal: import("@reduxjs/toolkit").ActionCreatorWithPayload<TerminalInfo, string>;
107
+ export declare const clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, stopLoader: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetOTPScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, storeSelectedTerminalDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<TerminalDeviceInfo, string>, storeSelectedTerminal: import("@reduxjs/toolkit").ActionCreatorWithPayload<TerminalInfo, string>, resetTerminalLinkResponse: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
107
108
  declare const _default: import("redux").Reducer<TerminalDataState, import("redux").AnyAction>;
108
109
  export default _default;
109
110
  export declare const terminalSelector: (state: RootState) => TerminalDataState;
@@ -431,7 +431,7 @@ export var onCloseCompleteTerminal = createAsyncThunk('terminal/onCloseCompleteT
431
431
  });
432
432
  }); });
433
433
  var initialState = {
434
- error: 'null',
434
+ error: null,
435
435
  loading: false,
436
436
  customLoading: false,
437
437
  terminalListLoading: false,
@@ -470,6 +470,9 @@ export var terminalSlice = createSlice({
470
470
  },
471
471
  storeSelectedTerminal: function (state, action) {
472
472
  state.data.terminalInfo.selectedTerminal = action.payload;
473
+ },
474
+ resetTerminalLinkResponse: function (state) {
475
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { linkTerminalDeviceData: undefined, pushNotificationLinkedNewTerminalData: undefined, linkNewTerminalData: undefined });
473
476
  }
474
477
  },
475
478
  extraReducers: function (builder) {
@@ -668,6 +671,6 @@ export var terminalSlice = createSlice({
668
671
  });
669
672
  }
670
673
  });
671
- export var clearError = (_a = terminalSlice.actions, _a.clearError), setError = _a.setError, stopLoader = _a.stopLoader, resetOTPScreen = _a.resetOTPScreen, storeSelectedTerminalDevice = _a.storeSelectedTerminalDevice, storeSelectedTerminal = _a.storeSelectedTerminal;
674
+ export var clearError = (_a = terminalSlice.actions, _a.clearError), setError = _a.setError, stopLoader = _a.stopLoader, resetOTPScreen = _a.resetOTPScreen, storeSelectedTerminalDevice = _a.storeSelectedTerminalDevice, storeSelectedTerminal = _a.storeSelectedTerminal, resetTerminalLinkResponse = _a.resetTerminalLinkResponse;
672
675
  export default terminalSlice.reducer;
673
676
  export var terminalSelector = function (state) { return state.terminal; };
@@ -17,9 +17,10 @@ import { useAppDispatch, useAppSelector, useLanguage } from '../../../../hooks';
17
17
  import { useTheme } from '@mui/material';
18
18
  import { CONNECT_FLOWS, ICONS_NAMES } from '../../../../constants';
19
19
  import DeviceCard from '../../../../components/DeviceCard';
20
+ import Warning from '../../../../components/Warning';
20
21
  import { ScreenContainer } from '../../../shared/Containers';
21
22
  import Button from '../../../shared/Button';
22
- import { terminalSelector, unlinkTerminalDevice } from '../../../app/terminal/terminalStore';
23
+ import { clearError, terminalSelector, unlinkTerminalDevice } from '../../../app/terminal/terminalStore';
23
24
  import { Container, getId, getIdLabel, getPairedWith, LinkWithText } from '../shared';
24
25
  var LinkedTerminalInfo = function () {
25
26
  var _a, _b, _c, _d, _e, _f, _g;
@@ -27,12 +28,16 @@ var LinkedTerminalInfo = function () {
27
28
  var _h = useTheme(), spacing = _h.spacing, palette = _h.palette;
28
29
  var dispatch = useAppDispatch();
29
30
  var isAr = useLanguage().isAr;
30
- var _j = useAppSelector(terminalSelector), selectedTerminalDevice = _j.data.terminalInfo.selectedTerminalDevice, loading = _j.loading;
31
+ var _j = useAppSelector(terminalSelector), error = _j.error, selectedTerminalDevice = _j.data.terminalInfo.selectedTerminalDevice, loading = _j.loading;
31
32
  var model = selectedTerminalDevice.model, linked = selectedTerminalDevice.linked, display_name = selectedTerminalDevice.display_name, terminal = selectedTerminalDevice.terminal, platform = selectedTerminalDevice.platform;
32
33
  var _k = (model || {}).image_url, image_url = _k === void 0 ? ICONS_NAMES.device_image : _k;
33
34
  var deviceName = (_b = (_a = terminal === null || terminal === void 0 ? void 0 : terminal.device) === null || _a === void 0 ? void 0 : _a.display_name) !== null && _b !== void 0 ? _b : (_c = terminal === null || terminal === void 0 ? void 0 : terminal.name) === null || _c === void 0 ? void 0 : _c.en;
34
35
  var deviceImage = (_e = (_d = platform === null || platform === void 0 ? void 0 : platform.brand) === null || _d === void 0 ? void 0 : _d.logo) !== null && _e !== void 0 ? _e : ICONS_NAMES.platform_image;
35
36
  var deviceId = (_g = (_f = terminal === null || terminal === void 0 ? void 0 : terminal.device) === null || _f === void 0 ? void 0 : _f.id) !== null && _g !== void 0 ? _g : terminal === null || terminal === void 0 ? void 0 : terminal.legacy_id;
37
+ React.useEffect(function () {
38
+ if (error)
39
+ dispatch(clearError());
40
+ }, []);
36
41
  var handleOnNext = function () {
37
42
  dispatch(unlinkTerminalDevice())
38
43
  .unwrap()
@@ -45,6 +50,6 @@ var LinkedTerminalInfo = function () {
45
50
  var handleOnBack = function () {
46
51
  dispatch(handlePrevScreenStep(CONNECT_FLOWS.terminal.terminalDeviceList));
47
52
  };
48
- return (_jsxs(ScreenContainer, __assign({ minHeight: 224, sx: { pl: 2.5, pr: 2.5 }, justifyContent: 'space-between' }, { children: [_jsxs(Container, { children: [_jsx(DeviceCard, { badge: true, image: image_url, name: display_name, deviceId: getId(selectedTerminalDevice), deviceIdLabel: getIdLabel(selectedTerminalDevice), pairedWith: getPairedWith(selectedTerminalDevice), isLinked: linked }), _jsx(LinkWithText, { children: t('terminal_linked_with') }), _jsx(DeviceCard, { sx: { minHeight: spacing(10), borderRadius: spacing(1), background: palette.components.deviceCard.deviceInfoBackground }, image: deviceImage || '', name: deviceName || '', deviceId: deviceId !== null && deviceId !== void 0 ? deviceId : '', isLinked: linked })] }), _jsx(Button, __assign({ sx: { ml: 0, mr: 0 }, loading: loading, onBackClicked: handleOnBack, onClick: handleOnNext, isAr: isAr }, { children: t('terminal_unlink') }))] })));
53
+ return (_jsxs(ScreenContainer, __assign({ minHeight: 224, justifyContent: 'space-between' }, { children: [_jsxs(Container, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: [_jsx(DeviceCard, { badge: true, image: image_url, name: display_name, deviceId: getId(selectedTerminalDevice), deviceIdLabel: getIdLabel(selectedTerminalDevice), pairedWith: getPairedWith(selectedTerminalDevice), isLinked: linked }), _jsx(LinkWithText, { children: t('terminal_linked_with') }), _jsx(DeviceCard, { sx: { minHeight: spacing(10), borderRadius: spacing(1), background: palette.components.deviceCard.deviceInfoBackground }, image: deviceImage || '', name: deviceName || '', deviceId: deviceId !== null && deviceId !== void 0 ? deviceId : '', isLinked: linked })] })), error && _jsx(Warning, __assign({ sx: { mt: 2 } }, { children: t(error) })), _jsx(Button, __assign({ loading: loading, onBackClicked: handleOnBack, onClick: handleOnNext, isAr: isAr }, { children: t('terminal_unlink') }))] })));
49
54
  };
50
55
  export default React.memo(LinkedTerminalInfo);
@@ -54,13 +54,15 @@ import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/sett
54
54
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
55
55
  import Button from '../../../../components/Button';
56
56
  import Loader from '../../../../components/Loader';
57
- import { retrieveBoardDetails, retrieveBoardStatus, retrieveTerminalList, storeSelectedTerminalDevice, terminalSelector } from '../../../app/terminal/terminalStore';
57
+ import Warning from '../../../../components/Warning';
58
+ import Box from '@mui/material/Box';
59
+ import { clearError, resetTerminalLinkResponse, retrieveBoardDetails, retrieveBoardStatus, retrieveTerminalList, storeSelectedTerminalDevice, terminalSelector } from '../../../app/terminal/terminalStore';
58
60
  import { Header, Container, TextTypography } from '../shared';
59
61
  import DeviceList from './DeviceList';
60
62
  var TerminalDeviceList = function () {
61
63
  var t = useTranslation().t;
62
64
  var dispatch = useAppDispatch();
63
- var _a = useAppSelector(terminalSelector), data = _a.data, loading = _a.loading, terminalListLoading = _a.terminalListLoading;
65
+ var _a = useAppSelector(terminalSelector), data = _a.data, loading = _a.loading, terminalListLoading = _a.terminalListLoading, error = _a.error;
64
66
  var _b = React.useState(false), newLinkClicked = _b[0], setNewLinkClicked = _b[1];
65
67
  var _c = data.responseData || {}, boardFlows = _c.boardFlows, authData = _c.authData, boardData = _c.boardData, terminalData = _c.terminalData, terminalList = _c.terminalList;
66
68
  var terminal_devices = (terminalData || {}).terminal_devices;
@@ -74,26 +76,34 @@ var TerminalDeviceList = function () {
74
76
  switch (_a.label) {
75
77
  case 0:
76
78
  setNewLinkClicked(true);
77
- return [4, retrieveTerminalListAsync()];
79
+ return [4, retrieveTerminalListAsync(CONNECT_FLOWS.terminal.terminalList)];
78
80
  case 1:
79
81
  _a.sent();
80
- dispatch(handleNextScreenStep(CONNECT_FLOWS.terminal.terminalList));
81
82
  return [2];
82
83
  }
83
84
  });
84
85
  }); };
85
- var retrieveTerminalListAsync = function () { return __awaiter(void 0, void 0, void 0, function () {
86
+ React.useEffect(function () {
87
+ if (error)
88
+ dispatch(clearError());
89
+ dispatch(resetTerminalLinkResponse());
90
+ }, []);
91
+ var retrieveTerminalListAsync = function (nextScreen) { return __awaiter(void 0, void 0, void 0, function () {
86
92
  var err_1;
87
93
  return __generator(this, function (_a) {
88
94
  switch (_a.label) {
89
95
  case 0:
90
- if (!!(terminalList === null || terminalList === void 0 ? void 0 : terminalList.length)) return [3, 4];
96
+ if (terminalList === null || terminalList === void 0 ? void 0 : terminalList.length) {
97
+ dispatch(handleNextScreenStep(nextScreen));
98
+ return [2];
99
+ }
91
100
  _a.label = 1;
92
101
  case 1:
93
102
  _a.trys.push([1, 3, , 4]);
94
- return [4, dispatch(retrieveTerminalList())];
103
+ return [4, dispatch(retrieveTerminalList()).unwrap()];
95
104
  case 2:
96
105
  _a.sent();
106
+ dispatch(handleNextScreenStep(nextScreen));
97
107
  return [3, 4];
98
108
  case 3:
99
109
  err_1 = _a.sent();
@@ -113,10 +123,9 @@ var TerminalDeviceList = function () {
113
123
  case 0:
114
124
  setNewLinkClicked(false);
115
125
  dispatch(storeSelectedTerminalDevice(terminal));
116
- return [4, retrieveTerminalListAsync()];
126
+ return [4, retrieveTerminalListAsync(CONNECT_FLOWS.terminal.unlinkedTerminalInfo)];
117
127
  case 1:
118
128
  _a.sent();
119
- dispatch(handleNextScreenStep(CONNECT_FLOWS.terminal.unlinkedTerminalInfo));
120
129
  return [2];
121
130
  }
122
131
  });
@@ -139,6 +148,6 @@ var TerminalDeviceList = function () {
139
148
  })
140
149
  .catch(function () { });
141
150
  };
142
- return (_jsxs(ScreenContainer, __assign({ minHeight: 200, sx: { pl: 2.5, pr: 2.5 }, justifyContent: 'space-between' }, { children: [_jsxs(Container, { children: [_jsx(Header, { onLinkClick: handleOnClickNewTerminalLink, loading: terminalListLoading && newLinkClicked }), _jsx(DeviceList, { devices: linkedDevices, onClick: handleOnClickLinkedTerminal }), !!(unLinkedDevices === null || unLinkedDevices === void 0 ? void 0 : unLinkedDevices.length) && !!(linkedDevices === null || linkedDevices === void 0 ? void 0 : linkedDevices.length) && _jsx(TextTypography, __assign({ sx: { pt: 1, pb: 1 } }, { children: t('terminal_unlinked') })), _jsx(DeviceList, { loading: terminalListLoading && !newLinkClicked, devices: unLinkedDevices, onClick: handleOnClickUnlinkedTerminal })] }), _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: function () { return handleOnBack(); }, variant: 'text' }, { children: loading ? _jsx(Loader, { innerColor: 'black', outerColor: 'black', size: 15, toggleAnimation: !!loading }) : t('back') }))] })));
151
+ return (_jsxs(ScreenContainer, __assign({ minHeight: 200, justifyContent: 'space-between' }, { children: [_jsxs(Container, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: [_jsx(Header, { onLinkClick: handleOnClickNewTerminalLink, loading: terminalListLoading && newLinkClicked }), _jsx(DeviceList, { devices: linkedDevices, onClick: handleOnClickLinkedTerminal }), !!(unLinkedDevices === null || unLinkedDevices === void 0 ? void 0 : unLinkedDevices.length) && !!(linkedDevices === null || linkedDevices === void 0 ? void 0 : linkedDevices.length) && _jsx(TextTypography, __assign({ sx: { pt: 1, pb: 1 } }, { children: t('terminal_unlinked') })), _jsx(DeviceList, { loading: terminalListLoading && !newLinkClicked, devices: unLinkedDevices, onClick: handleOnClickUnlinkedTerminal })] })), error && _jsx(Warning, __assign({ sx: { mt: 2 } }, { children: t(error) })), _jsx(Box, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: function () { return handleOnBack(); }, variant: 'text' }, { children: loading ? _jsx(Loader, { innerColor: 'black', outerColor: 'black', size: 15, toggleAnimation: !!loading }) : t('back') })) }))] })));
143
152
  };
144
153
  export default React.memo(TerminalDeviceList);
@@ -12,18 +12,23 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import * as React from 'react';
14
14
  import { useTranslation } from 'react-i18next';
15
+ import Box from '@mui/material/Box';
15
16
  import { ScreenContainer } from '../../../shared/Containers';
16
17
  import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/settings';
17
18
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
18
19
  import Button from '../../../../components/Button';
19
20
  import Warning from '../../../../components/Warning';
20
- import { linkNewTerminal, storeSelectedTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
21
+ import { clearError, linkNewTerminal, storeSelectedTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
21
22
  import { Header, Container, TerminalList } from '../shared';
22
23
  var TerminalListPage = function () {
23
24
  var t = useTranslation().t;
24
25
  var dispatch = useAppDispatch();
25
26
  var _a = useAppSelector(terminalSelector), _b = _a.data, selectedTerminal = _b.terminalInfo.selectedTerminal, responseData = _b.responseData, loading = _a.loading, error = _a.error;
26
27
  var terminalList = (responseData || {}).terminalList;
28
+ React.useEffect(function () {
29
+ if (error)
30
+ dispatch(clearError());
31
+ }, []);
27
32
  var handleOnSelectTerminal = function (terminal) {
28
33
  dispatch(storeSelectedTerminal(terminal));
29
34
  dispatch(linkNewTerminal())
@@ -37,6 +42,6 @@ var TerminalListPage = function () {
37
42
  var handleOnBack = function () {
38
43
  dispatch(handlePrevScreenStep());
39
44
  };
40
- return (_jsxs(ScreenContainer, __assign({ sx: { pl: 2.5, pr: 2.5 }, minHeight: 200, justifyContent: 'space-between' }, { children: [_jsxs(Container, { children: [_jsx(Header, { title: 'terminal_select_device', sx: { pb: 0 } }), _jsx(TerminalList, { select: false, loading: loading, selectedTerminal: selectedTerminal, list: terminalList, onClick: handleOnSelectTerminal })] }), error && _jsx(Warning, __assign({ sx: { mt: 2 } }, { children: t(error) })), _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: function () { return handleOnBack(); }, variant: 'text' }, { children: t('back') }))] })));
45
+ return (_jsxs(ScreenContainer, __assign({ minHeight: 200, justifyContent: 'space-between' }, { children: [_jsxs(Container, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: [_jsx(Header, { title: 'terminal_select_device', sx: { pb: 0 } }), _jsx(TerminalList, { select: false, loading: loading, selectedTerminal: selectedTerminal, list: terminalList, onClick: handleOnSelectTerminal })] })), error && _jsx(Warning, __assign({ sx: { mt: 2 } }, { children: t(error) })), _jsx(Box, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: function () { return handleOnBack(); }, variant: 'text' }, { children: t('back') })) }))] })));
41
46
  };
42
47
  export default React.memo(TerminalListPage);
@@ -10,8 +10,8 @@ var TerminalList = function (_a) {
10
10
  var _b, _c, _d, _e, _f, _g, _h, _j;
11
11
  var list = _a.list, onClick = _a.onClick, selectedTerminal = _a.selectedTerminal, _k = _a.select, select = _k === void 0 ? true : _k, loading = _a.loading;
12
12
  var t = useTranslation().t;
13
- var platformImage = ((_d = (_c = (_b = list[0]) === null || _b === void 0 ? void 0 : _b.platform) === null || _c === void 0 ? void 0 : _c.brand) === null || _d === void 0 ? void 0 : _d.logo) || ICONS_NAMES.platform_image;
14
- var platformName = (_j = (_h = (_g = (_f = (_e = list[0]) === null || _e === void 0 ? void 0 : _e.platform) === null || _f === void 0 ? void 0 : _f.brand) === null || _g === void 0 ? void 0 : _g.name) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.text;
13
+ var platformImage = ((_d = (_c = (_b = list === null || list === void 0 ? void 0 : list[0]) === null || _b === void 0 ? void 0 : _b.platform) === null || _c === void 0 ? void 0 : _c.brand) === null || _d === void 0 ? void 0 : _d.logo) || ICONS_NAMES.platform_image;
14
+ var platformName = (_j = (_h = (_g = (_f = (_e = list === null || list === void 0 ? void 0 : list[0]) === null || _e === void 0 ? void 0 : _e.platform) === null || _f === void 0 ? void 0 : _f.brand) === null || _g === void 0 ? void 0 : _g.name) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.text;
15
15
  var getEndComponent = function (terminal) {
16
16
  if (loading && (selectedTerminal === null || selectedTerminal === void 0 ? void 0 : selectedTerminal.id) === (terminal === null || terminal === void 0 ? void 0 : terminal.id))
17
17
  return _jsx(Loader, { innerColor: 'black', outerColor: 'black', size: 10, style: { height: 24, width: 24 }, toggleAnimation: !!loading });
@@ -20,6 +20,6 @@ var TerminalList = function (_a) {
20
20
  if (!select)
21
21
  return _jsx(ArrowIcon, {});
22
22
  };
23
- return (_jsxs(ListContainer, { children: [_jsxs(TitleContainer, { children: [_jsx(Image, { src: platformImage, alt: 'Device' }), _jsx(Title, { children: t('terminal_devices', { name: platformName }) })] }), _jsx(ScrollContainer, { children: _jsx(TerminalListContainer, { children: list.map(function (terminal, index) { return (_jsx(ListItem, { sx: { minHeight: 'unset' }, onClick: function () { return onClick(terminal); }, name: getTerminalName(terminal), deviceId: getTerminalId(terminal), deviceIdLabel: getTerminalIdLabel(terminal), endAdornment: getEndComponent(terminal) }, index)); }) }) })] }));
23
+ return (_jsxs(ListContainer, { children: [_jsxs(TitleContainer, { children: [_jsx(Image, { src: platformImage, alt: 'Device' }), _jsx(Title, { children: t('terminal_devices', { name: platformName }) })] }), _jsx(ScrollContainer, { children: _jsx(TerminalListContainer, { children: (list || []).map(function (terminal, index) { return (_jsx(ListItem, { sx: { minHeight: 'unset' }, onClick: function () { return onClick(terminal); }, name: getTerminalName(terminal), deviceId: getTerminalId(terminal), deviceIdLabel: getTerminalIdLabel(terminal), endAdornment: getEndComponent(terminal) }, index)); }) }) })] }));
24
24
  };
25
25
  export default memo(TerminalList);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tap-payments/auth-jsconnect",
3
- "version": "2.10.11-development",
3
+ "version": "2.10.12-development",
4
4
  "description": "connect library, auth",
5
5
  "private": false,
6
6
  "main": "build/index.js",