@tap-payments/auth-jsconnect 2.11.4-development → 2.11.5-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.
Files changed (39) hide show
  1. package/build/@types/terminal.d.ts +32 -44
  2. package/build/api/auth.d.ts +7 -1
  3. package/build/api/index.d.ts +2 -2
  4. package/build/api/terminal.d.ts +2 -2
  5. package/build/api/terminal.js +21 -11
  6. package/build/components/DeviceCard/DeviceCard.js +1 -1
  7. package/build/constants/app.d.ts +2 -2
  8. package/build/constants/app.js +32 -21
  9. package/build/constants/flows.d.ts +1 -1
  10. package/build/constants/flows.js +1 -1
  11. package/build/features/app/terminal/terminalStore.d.ts +7 -7
  12. package/build/features/app/terminal/terminalStore.js +50 -46
  13. package/build/features/featuresScreens.js +3 -3
  14. package/build/features/terminal/Terminal.js +2 -2
  15. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.js +7 -8
  16. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.js +5 -6
  17. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.js +9 -9
  18. package/build/features/terminal/screens/{TerminalListPage/TerminalListPage.js → POSDeviceListPage/POSDeviceListPage.js} +9 -9
  19. package/build/features/terminal/screens/POSDeviceListPage/index.d.ts +2 -0
  20. package/build/features/terminal/screens/POSDeviceListPage/index.js +2 -0
  21. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.d.ts +3 -3
  22. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.js +1 -1
  23. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.js +15 -15
  24. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.js +5 -7
  25. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.js +12 -11
  26. package/build/features/terminal/screens/shared/POSDeviceList.d.ts +11 -0
  27. package/build/features/terminal/screens/shared/POSDeviceList.js +28 -0
  28. package/build/features/terminal/screens/shared/index.d.ts +2 -2
  29. package/build/features/terminal/screens/shared/index.js +2 -2
  30. package/build/features/terminal/screens/shared/styles.d.ts +1 -1
  31. package/build/features/terminal/screens/shared/styles.js +1 -1
  32. package/build/features/terminal/screens/shared/utils.d.ts +4 -4
  33. package/build/features/terminal/screens/shared/utils.js +8 -9
  34. package/package.json +1 -1
  35. package/build/features/terminal/screens/TerminalListPage/index.d.ts +0 -2
  36. package/build/features/terminal/screens/TerminalListPage/index.js +0 -2
  37. package/build/features/terminal/screens/shared/TerminalList.d.ts +0 -11
  38. package/build/features/terminal/screens/shared/TerminalList.js +0 -25
  39. /package/build/features/terminal/screens/{TerminalListPage/TerminalListPage.d.ts → POSDeviceListPage/POSDeviceListPage.d.ts} +0 -0
@@ -146,7 +146,7 @@ import TerminalOperatorErrorPage from './terminal/screens/OperatorError';
146
146
  import TerminalVerifyPage from './terminal/screens/Verify';
147
147
  import NoTerminalDeviceLinkedPage from './terminal/screens/NoTerminalDeviceLinked';
148
148
  import TerminalDeviceListPage from './terminal/screens/TerminalDeviceList';
149
- import TerminalListPage from './terminal/screens/TerminalListPage';
149
+ import POSDeviceListPage from '../features/terminal/screens/POSDeviceListPage';
150
150
  import LinkNewTerminalPage from './terminal/screens/LinkNewTerminal';
151
151
  import LinkedTerminalInfoPage from './terminal/screens/LinkedTerminalInfo';
152
152
  import UnlinkedTerminalInfoPage from './terminal/screens/UnlinkedTerminalInfo';
@@ -744,8 +744,8 @@ export var terminalFeatureScreens = [
744
744
  element: LinkNewTerminalPage
745
745
  },
746
746
  {
747
- name: CONNECT_FLOWS.terminal.terminalList,
748
- element: TerminalListPage
747
+ name: CONNECT_FLOWS.terminal.posDeviceList,
748
+ element: POSDeviceListPage
749
749
  },
750
750
  {
751
751
  name: CONNECT_FLOWS.terminal.linkedTerminalInfo,
@@ -41,7 +41,7 @@ var Terminal = memo(function (_a) {
41
41
  var theme = useAppTheme().theme;
42
42
  var dispatch = useAppDispatch();
43
43
  var _d = useAppSelector(settingsSelector), data = _d.data, error = _d.error, settingLoading = _d.loading;
44
- var _e = useAppSelector(terminalSelector), customLoading = _e.customLoading, terminalError = _e.error, loading = _e.loading, terminalListLoading = _e.terminalListLoading;
44
+ var _e = useAppSelector(terminalSelector), customLoading = _e.customLoading, terminalError = _e.error, loading = _e.loading, posDevicesLoading = _e.posDevicesLoading;
45
45
  useAppConfig(__assign(__assign({ navigation: TERMINAL_SCREENS_NAVIGATION }, props), { disableSettingFetching: props.mode === 'content' ? false : !!verifyToken || !!configToken }));
46
46
  useErrorListener(terminalError || error);
47
47
  useStepStartedListener();
@@ -77,7 +77,7 @@ var Terminal = memo(function (_a) {
77
77
  });
78
78
  }, []);
79
79
  var initialLoading = verifyToken && props.mode !== 'content' ? settingLoading : settingLoading || customLoading;
80
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Background, __assign({ mode: props.mode, open: open, isTapOrigin: isTapOrigin, loading: initialLoading }, { children: _jsx(AnimationFlow, __assign({ pointerEvents: loading || terminalListLoading ? 'none' : 'auto', isTapOrigin: isTapOrigin, animationDirection: animationDirection, open: open, error: error, loading: initialLoading, loaderColor: loaderColor, breakpoint: 'sm', screenId: activeScreen.name, merchantInfo: merchant, isMaturityExpress: isMaturityExpress, type: props.mode === 'content' ? 'CONTENT' : undefined, dialogEdgeFormat: data.appConfig.dialogEdgeFormat, features: appConfig.features }, { children: _jsx(FeatureContainer, __assign({ mode: props.mode, isMaturityExpress: isMaturityExpress }, { children: terminalFeatureScreens.map(function (_a, index) {
80
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Background, __assign({ mode: props.mode, open: open, isTapOrigin: isTapOrigin, loading: initialLoading }, { children: _jsx(AnimationFlow, __assign({ pointerEvents: loading || posDevicesLoading ? 'none' : 'auto', isTapOrigin: isTapOrigin, animationDirection: animationDirection, open: open, error: error, loading: initialLoading, loaderColor: loaderColor, breakpoint: 'sm', screenId: activeScreen.name, merchantInfo: merchant, isMaturityExpress: isMaturityExpress, type: props.mode === 'content' ? 'CONTENT' : undefined, dialogEdgeFormat: data.appConfig.dialogEdgeFormat, features: appConfig.features }, { children: _jsx(FeatureContainer, __assign({ mode: props.mode, isMaturityExpress: isMaturityExpress }, { children: terminalFeatureScreens.map(function (_a, index) {
81
81
  var Element = _a.element, name = _a.name;
82
82
  var isActive = activeScreen.name === name;
83
83
  return (_jsx(Collapse, __assign({ in: isActive, timeout: { enter: 1000, exit: 800 } }, { children: _jsx(Element, {}) }), index));
@@ -27,17 +27,16 @@ var LinkNewTerminal = function () {
27
27
  var _a, _b, _c, _d;
28
28
  var t = useTranslation().t;
29
29
  var dispatch = useAppDispatch();
30
- var data = useAppSelector(terminalSelector).data;
31
- var _e = React.useState(false), isReady = _e[0], setIsReady = _e[1];
32
- var _f = React.useState(false), success = _f[0], setSuccess = _f[1];
33
- var _g = React.useState(false), failed = _g[0], setFailed = _g[1];
34
- var terminalInfo = data.terminalInfo, responseData = data.responseData;
35
- var _h = responseData || {}, terminalData = _h.terminalData, linkNewTerminalData = _h.linkNewTerminalData;
30
+ var _e = useAppSelector(terminalSelector).data, terminal_device = _e.terminalInfo.selectedTerminal.terminal_device, responseData = _e.responseData;
31
+ var _f = React.useState(false), isReady = _f[0], setIsReady = _f[1];
32
+ var _g = React.useState(false), success = _g[0], setSuccess = _g[1];
33
+ var _h = React.useState(false), failed = _h[0], setFailed = _h[1];
34
+ var _j = responseData || {}, terminalData = _j.terminalData, linkNewTerminalData = _j.linkNewTerminalData;
36
35
  var terminal_devices = (terminalData || {}).terminal_devices;
37
36
  var qrCode = "data:image/png;base64,".concat((_a = linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.linking) === null || _a === void 0 ? void 0 : _a.qr);
38
37
  var code = (_b = linkNewTerminalData === null || linkNewTerminalData === void 0 ? void 0 : linkNewTerminalData.linking) === null || _b === void 0 ? void 0 : _b.code;
39
38
  var expiry = TERMINAL_PUSH_NOTIFICATION_DURATION;
40
- var deviceName = ((_d = (_c = terminalInfo.selectedTerminalDevice.model) === null || _c === void 0 ? void 0 : _c.name[0]) === null || _d === void 0 ? void 0 : _d.text) || '';
39
+ var deviceName = ((_d = (_c = terminal_device === null || terminal_device === void 0 ? void 0 : terminal_device.model) === null || _c === void 0 ? void 0 : _c.name[0]) === null || _d === void 0 ? void 0 : _d.text) || '';
41
40
  var newTerminal = true;
42
41
  React.useEffect(function () {
43
42
  if (linkNewTerminalData && !isReady) {
@@ -61,7 +60,7 @@ var LinkNewTerminal = function () {
61
60
  };
62
61
  }, [isReady]);
63
62
  var handleOnBack = function () {
64
- var previousScreen = (terminal_devices === null || terminal_devices === void 0 ? void 0 : terminal_devices.length) ? CONNECT_FLOWS.terminal.terminalList : CONNECT_FLOWS.terminal.noTerminalLinked;
63
+ var previousScreen = (terminal_devices === null || terminal_devices === void 0 ? void 0 : terminal_devices.length) ? CONNECT_FLOWS.terminal.posDeviceList : CONNECT_FLOWS.terminal.noTerminalLinked;
65
64
  dispatch(handlePrevScreenStep(previousScreen));
66
65
  };
67
66
  return (_jsxs(ScreenContainer, __assign({ minHeight: 200, justifyContent: 'space-between' }, { children: [_jsx(PushNotification, __assign({ error: t('terminal_request_denied', { device: deviceName }), failed: failed, success: success, expiryInSeconds: expiry }, { children: _jsxs(LinkNewTerminalContainer, { children: [_jsx(LinkTerminalText, { children: t('terminal_link_terminal') }), _jsx(QRCodeDescription, { children: t('terminal_qr_code_description') }), _jsx(QRCodeImage, { src: qrCode }), code && (_jsxs(_Fragment, { children: [_jsx(LinkTerminalText, { children: t('terminal_or_use_code') }), _jsx(CodeDescription, { children: formatCode(code) })] }))] }) })), _jsx(Box, __assign({ sx: { ml: 2.5, mr: 2.5 } }, { children: _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: handleOnBack, variant: 'text' }, { children: t('back') })) }))] })));
@@ -15,22 +15,21 @@ import { useTranslation } from 'react-i18next';
15
15
  import Box from '@mui/material/Box';
16
16
  import { useAppDispatch, useAppSelector, useLanguage } from '../../../../hooks';
17
17
  import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/settings';
18
- import { retrieveBoardDetails, retrieveBoardStatus, retrieveTerminalDeviceList, terminalSelector } from '../../../app/terminal/terminalStore';
18
+ import { retrieveBoardDetails, retrieveBoardStatus, retrieveTerminalList, terminalSelector } from '../../../app/terminal/terminalStore';
19
19
  import SuccessScreen from '../../../shared/SuccessScreen';
20
20
  import Button from '../../../shared/Button';
21
- import { getTerminalName, SuccessContainerStyled } from '../shared';
21
+ import { SuccessContainerStyled } from '../shared';
22
22
  import { CONNECT_FLOWS } from '../../../../constants';
23
23
  var LinkedSuccess = function () {
24
24
  var t = useTranslation().t;
25
25
  var isAr = useLanguage().isAr;
26
26
  var dispatch = useAppDispatch();
27
- var _a = useAppSelector(terminalSelector), error = _a.error, loading = _a.loading, _b = _a.data, selectedTerminal = _b.terminalInfo.selectedTerminal, responseData = _b.responseData;
27
+ var _a = useAppSelector(terminalSelector), error = _a.error, loading = _a.loading, _b = _a.data, selectedPOS = _b.terminalInfo.selectedPOS, responseData = _b.responseData;
28
28
  var _c = responseData || {}, boardData = _c.boardData, authData = _c.authData;
29
- var deviceName = getTerminalName(selectedTerminal);
30
29
  var handleGoToBoard = function () {
31
30
  var board_id = (boardData || {}).id;
32
31
  var _a = (authData === null || authData === void 0 ? void 0 : authData.recipient) || {}, id = _a.id, type = _a.type;
33
- dispatch(retrieveTerminalDeviceList());
32
+ dispatch(retrieveTerminalList());
34
33
  dispatch(retrieveBoardStatus({ boardId: board_id }))
35
34
  .unwrap()
36
35
  .then(function () {
@@ -46,6 +45,6 @@ var LinkedSuccess = function () {
46
45
  var handleOnBack = function () {
47
46
  dispatch(handlePrevScreenStep());
48
47
  };
49
- return (_jsxs(SuccessContainerStyled, { children: [_jsx(SuccessScreen, { sx: { minHeight: 'unset', ml: 2.5, mr: 2.5 }, title: t('terminal_linked_success', { device: deviceName }), successTitle: t('terminal_go_to_board'), loading: loading, error: error || '' }), _jsx(Box, __assign({ sx: { width: '100%' } }, { children: _jsx(Button, __assign({ loading: loading, disableBack: true, onBackClicked: handleOnBack, onClick: handleGoToBoard, isAr: isAr }, { children: t('terminal_go_to_board') })) }))] }));
48
+ return (_jsxs(SuccessContainerStyled, { children: [_jsx(SuccessScreen, { sx: { minHeight: 'unset', ml: 2.5, mr: 2.5 }, title: t('terminal_linked_success', { device: selectedPOS === null || selectedPOS === void 0 ? void 0 : selectedPOS.display_name }), successTitle: t('terminal_go_to_board'), loading: loading, error: error || '' }), _jsx(Box, __assign({ sx: { width: '100%' } }, { children: _jsx(Button, __assign({ loading: loading, disableBack: true, onBackClicked: handleOnBack, onClick: handleGoToBoard, isAr: isAr }, { children: t('terminal_go_to_board') })) }))] }));
50
49
  };
51
50
  export default React.memo(LinkedSuccess);
@@ -23,17 +23,17 @@ import Button from '../../../shared/Button';
23
23
  import { clearError, terminalSelector, unlinkTerminalDevice } from '../../../app/terminal/terminalStore';
24
24
  import { Container, getId, getIdLabel, getPairedWith, LinkWithText } from '../shared';
25
25
  var LinkedTerminalInfo = function () {
26
- var _a, _b, _c, _d, _e, _f, _g;
26
+ var _a;
27
27
  var t = useTranslation().t;
28
- var _h = useTheme(), spacing = _h.spacing, palette = _h.palette;
28
+ var _b = useTheme(), spacing = _b.spacing, palette = _b.palette;
29
29
  var dispatch = useAppDispatch();
30
30
  var isAr = useLanguage().isAr;
31
- var _j = useAppSelector(terminalSelector), error = _j.error, selectedTerminalDevice = _j.data.terminalInfo.selectedTerminalDevice, loading = _j.loading;
32
- var model = selectedTerminalDevice.model, linked = selectedTerminalDevice.linked, display_name = selectedTerminalDevice.display_name, terminal = selectedTerminalDevice.terminal, platform = selectedTerminalDevice.platform;
33
- var _k = (model || {}).image_url, image_url = _k === void 0 ? ICONS_NAMES.device_image : _k;
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;
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;
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;
31
+ var _c = useAppSelector(terminalSelector), error = _c.error, selectedTerminal = _c.data.terminalInfo.selectedTerminal, loading = _c.loading;
32
+ var terminal_device = selectedTerminal.terminal_device, linked = selectedTerminal.linked, device = selectedTerminal.device;
33
+ var _d = (terminal_device.model || {}).image_url, image_url = _d === void 0 ? ICONS_NAMES.device_image : _d;
34
+ var deviceName = (device === null || device === void 0 ? void 0 : device.display_name) || '';
35
+ var deviceImage = (device === null || device === void 0 ? void 0 : device.logo) || ICONS_NAMES.platform_image;
36
+ var deviceId = (device === null || device === void 0 ? void 0 : device.reference) || (device === null || device === void 0 ? void 0 : device.id) || '';
37
37
  React.useEffect(function () {
38
38
  if (error)
39
39
  dispatch(clearError());
@@ -50,6 +50,6 @@ var LinkedTerminalInfo = function () {
50
50
  var handleOnBack = function () {
51
51
  dispatch(handlePrevScreenStep(CONNECT_FLOWS.terminal.terminalDeviceList));
52
52
  };
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') }))] })));
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: ((_a = selectedTerminal.terminal_device) === null || _a === void 0 ? void 0 : _a.display_name) || '', deviceId: getId(selectedTerminal), deviceIdLabel: getIdLabel(selectedTerminal), pairedWith: getPairedWith(selectedTerminal), 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, 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') }))] })));
54
54
  };
55
55
  export default React.memo(LinkedTerminalInfo);
@@ -18,19 +18,19 @@ import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/sett
18
18
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
19
19
  import Button from '../../../../components/Button';
20
20
  import Warning from '../../../../components/Warning';
21
- import { clearError, linkNewTerminal, storeSelectedTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
22
- import { Header, Container, TerminalList } from '../shared';
23
- var TerminalListPage = function () {
21
+ import { clearError, linkNewTerminal, storeSelectedPOS, terminalSelector } from '../../../app/terminal/terminalStore';
22
+ import { Header, Container, POSDeviceList } from '../shared';
23
+ var POSDeviceListPage = function () {
24
24
  var t = useTranslation().t;
25
25
  var dispatch = useAppDispatch();
26
- var _a = useAppSelector(terminalSelector), _b = _a.data, selectedTerminal = _b.terminalInfo.selectedTerminal, responseData = _b.responseData, loading = _a.loading, error = _a.error;
27
- var terminalList = (responseData || {}).terminalList;
26
+ var _a = useAppSelector(terminalSelector), _b = _a.data, selectedPOS = _b.terminalInfo.selectedPOS, responseData = _b.responseData, loading = _a.loading, error = _a.error;
27
+ var posDevices = (responseData || {}).posDevices;
28
28
  React.useEffect(function () {
29
29
  if (error)
30
30
  dispatch(clearError());
31
31
  }, []);
32
- var handleOnSelectTerminal = function (terminal) {
33
- dispatch(storeSelectedTerminal(terminal));
32
+ var handleOnSelectPOS = function (pos) {
33
+ dispatch(storeSelectedPOS(pos));
34
34
  dispatch(linkNewTerminal())
35
35
  .unwrap()
36
36
  .then(function (_a) {
@@ -42,6 +42,6 @@ var TerminalListPage = function () {
42
42
  var handleOnBack = function () {
43
43
  dispatch(handlePrevScreenStep());
44
44
  };
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') })) }))] })));
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(POSDeviceList, { select: false, loading: loading, selectedPOS: selectedPOS, posDevices: posDevices, onClick: handleOnSelectPOS })] })), 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') })) }))] })));
46
46
  };
47
- export default React.memo(TerminalListPage);
47
+ export default React.memo(POSDeviceListPage);
@@ -0,0 +1,2 @@
1
+ import TerminalListPage from './POSDeviceListPage';
2
+ export default TerminalListPage;
@@ -0,0 +1,2 @@
1
+ import TerminalListPage from './POSDeviceListPage';
2
+ export default TerminalListPage;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { TerminalDeviceInfo } from '../../../../@types';
2
+ import { TerminalInfo } from '../../../../@types';
3
3
  interface DeviceListProps {
4
- devices: TerminalDeviceInfo[];
4
+ devices: TerminalInfo[];
5
5
  loading?: boolean;
6
- onClick: (device: TerminalDeviceInfo) => void;
6
+ onClick: (device: TerminalInfo) => void;
7
7
  }
8
8
  declare const _default: React.MemoExoticComponent<({ devices, onClick, loading }: DeviceListProps) => JSX.Element>;
9
9
  export default _default;
@@ -14,7 +14,7 @@ var DeviceList = function (_a) {
14
14
  };
15
15
  return (_jsx(DeviceListContainer, { children: devices.map(function (device, index) {
16
16
  var _a;
17
- return (_jsx(DeviceCard, { onClick: function () { return handleOnClick(device); }, loading: device.id === (selected === null || selected === void 0 ? void 0 : selected.id) && loading, image: (_a = device.model.image_url) !== null && _a !== void 0 ? _a : defaultImage, name: device.display_name, deviceId: getId(device), pairedWith: getPairedWith(device), deviceIdLabel: getIdLabel(device), isLinked: device.linked, arrow: true, badge: true }, index));
17
+ return (_jsx(DeviceCard, { onClick: function () { return handleOnClick(device); }, loading: device.id === (selected === null || selected === void 0 ? void 0 : selected.id) && loading, image: (_a = device.terminal_device.model.image_url) !== null && _a !== void 0 ? _a : defaultImage, name: device.terminal_device.display_name, deviceId: getId(device), pairedWith: getPairedWith(device), deviceIdLabel: getIdLabel(device), isLinked: device.linked, arrow: true, badge: true }, index));
18
18
  }) }));
19
19
  };
20
20
  export default memo(DeviceList);
@@ -56,27 +56,27 @@ import Button from '../../../../components/Button';
56
56
  import Loader from '../../../../components/Loader';
57
57
  import Warning from '../../../../components/Warning';
58
58
  import Box from '@mui/material/Box';
59
- import { clearError, resetTerminalLinkResponse, retrieveBoardDetails, retrieveBoardStatus, retrieveTerminalList, storeSelectedTerminalDevice, terminalSelector } from '../../../app/terminal/terminalStore';
59
+ import { clearError, resetTerminalLinkResponse, retrieveBoardDetails, retrieveBoardStatus, retrievePOSDevices, storeSelectedTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
60
60
  import { Header, Container, TextTypography } from '../shared';
61
61
  import DeviceList from './DeviceList';
62
62
  var TerminalDeviceList = function () {
63
63
  var t = useTranslation().t;
64
64
  var dispatch = useAppDispatch();
65
- var _a = useAppSelector(terminalSelector), data = _a.data, loading = _a.loading, terminalListLoading = _a.terminalListLoading, error = _a.error;
65
+ var _a = useAppSelector(terminalSelector), data = _a.data, loading = _a.loading, posDevicesLoading = _a.posDevicesLoading, error = _a.error;
66
66
  var _b = React.useState(false), newLinkClicked = _b[0], setNewLinkClicked = _b[1];
67
- var _c = data.responseData || {}, boardFlows = _c.boardFlows, authData = _c.authData, boardData = _c.boardData, terminalData = _c.terminalData, terminalList = _c.terminalList;
68
- var terminal_devices = (terminalData || {}).terminal_devices;
67
+ var _c = data.responseData || {}, boardFlows = _c.boardFlows, authData = _c.authData, boardData = _c.boardData, terminalData = _c.terminalData, posDevices = _c.posDevices;
68
+ var list = (terminalData || {}).list;
69
69
  var _d = React.useMemo(function () {
70
- var linked = terminal_devices === null || terminal_devices === void 0 ? void 0 : terminal_devices.filter(function (d) { return d.linked; });
71
- var unLinked = terminal_devices === null || terminal_devices === void 0 ? void 0 : terminal_devices.filter(function (d) { return !d.linked; });
70
+ var linked = list === null || list === void 0 ? void 0 : list.filter(function (d) { return d.linked; });
71
+ var unLinked = list === null || list === void 0 ? void 0 : list.filter(function (d) { return !d.linked; });
72
72
  return { linkedDevices: linked, unLinkedDevices: unLinked };
73
- }, [terminal_devices]), linkedDevices = _d.linkedDevices, unLinkedDevices = _d.unLinkedDevices;
73
+ }, [list]), linkedDevices = _d.linkedDevices, unLinkedDevices = _d.unLinkedDevices;
74
74
  var handleOnClickNewTerminalLink = function () { return __awaiter(void 0, void 0, void 0, function () {
75
75
  return __generator(this, function (_a) {
76
76
  switch (_a.label) {
77
77
  case 0:
78
78
  setNewLinkClicked(true);
79
- return [4, retrieveTerminalListAsync(CONNECT_FLOWS.terminal.terminalList)];
79
+ return [4, retrievePOSDevicesAsync(CONNECT_FLOWS.terminal.posDeviceList)];
80
80
  case 1:
81
81
  _a.sent();
82
82
  return [2];
@@ -88,19 +88,19 @@ var TerminalDeviceList = function () {
88
88
  dispatch(clearError());
89
89
  dispatch(resetTerminalLinkResponse());
90
90
  }, []);
91
- var retrieveTerminalListAsync = function (nextScreen) { return __awaiter(void 0, void 0, void 0, function () {
91
+ var retrievePOSDevicesAsync = function (nextScreen) { return __awaiter(void 0, void 0, void 0, function () {
92
92
  var err_1;
93
93
  return __generator(this, function (_a) {
94
94
  switch (_a.label) {
95
95
  case 0:
96
- if (terminalList === null || terminalList === void 0 ? void 0 : terminalList.length) {
96
+ if (posDevices === null || posDevices === void 0 ? void 0 : posDevices.length) {
97
97
  dispatch(handleNextScreenStep(nextScreen));
98
98
  return [2];
99
99
  }
100
100
  _a.label = 1;
101
101
  case 1:
102
102
  _a.trys.push([1, 3, , 4]);
103
- return [4, dispatch(retrieveTerminalList()).unwrap()];
103
+ return [4, dispatch(retrievePOSDevices()).unwrap()];
104
104
  case 2:
105
105
  _a.sent();
106
106
  dispatch(handleNextScreenStep(nextScreen));
@@ -114,7 +114,7 @@ var TerminalDeviceList = function () {
114
114
  });
115
115
  }); };
116
116
  var handleOnClickLinkedTerminal = function (terminal) {
117
- dispatch(storeSelectedTerminalDevice(terminal));
117
+ dispatch(storeSelectedTerminal(terminal));
118
118
  dispatch(handleNextScreenStep(CONNECT_FLOWS.terminal.linkedTerminalInfo));
119
119
  };
120
120
  var handleOnClickUnlinkedTerminal = function (terminal) { return __awaiter(void 0, void 0, void 0, function () {
@@ -122,8 +122,8 @@ var TerminalDeviceList = function () {
122
122
  switch (_a.label) {
123
123
  case 0:
124
124
  setNewLinkClicked(false);
125
- dispatch(storeSelectedTerminalDevice(terminal));
126
- return [4, retrieveTerminalListAsync(CONNECT_FLOWS.terminal.unlinkedTerminalInfo)];
125
+ dispatch(storeSelectedTerminal(terminal));
126
+ return [4, retrievePOSDevicesAsync(CONNECT_FLOWS.terminal.unlinkedTerminalInfo)];
127
127
  case 1:
128
128
  _a.sent();
129
129
  return [2];
@@ -148,6 +148,6 @@ var TerminalDeviceList = function () {
148
148
  })
149
149
  .catch(function () { });
150
150
  };
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') })) }))] })));
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: posDevicesLoading && 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: posDevicesLoading && !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') })) }))] })));
152
152
  };
153
153
  export default React.memo(TerminalDeviceList);
@@ -16,23 +16,21 @@ import Box from '@mui/material/Box';
16
16
  import { useAppDispatch, useAppSelector, useLanguage } from '../../../../hooks';
17
17
  import { CONNECT_FLOWS } from '../../../../constants';
18
18
  import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/settings';
19
- import { retrieveBoardDetails, retrieveBoardStatus, retrieveTerminalDeviceList, terminalSelector } from '../../../app/terminal/terminalStore';
19
+ import { retrieveBoardDetails, retrieveBoardStatus, retrieveTerminalList, terminalSelector } from '../../../app/terminal/terminalStore';
20
20
  import SuccessScreen from '../../../shared/SuccessScreen';
21
21
  import Button from '../../../shared/Button';
22
22
  import { SuccessContainerStyled } from '../shared';
23
23
  var UnlinkedSuccess = function () {
24
- var _a, _b, _c;
25
24
  var t = useTranslation().t;
26
25
  var isAr = useLanguage().isAr;
27
26
  var dispatch = useAppDispatch();
28
- var _d = useAppSelector(terminalSelector), error = _d.error, loading = _d.loading, _e = _d.data, selectedTerminalDevice = _e.terminalInfo.selectedTerminalDevice, responseData = _e.responseData;
29
- var _f = responseData || {}, boardData = _f.boardData, authData = _f.authData;
30
- var terminal = (selectedTerminalDevice || {}).terminal;
31
- 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;
27
+ var _a = useAppSelector(terminalSelector), error = _a.error, loading = _a.loading, _b = _a.data, device = _b.terminalInfo.selectedTerminal.device, responseData = _b.responseData;
28
+ var _c = responseData || {}, boardData = _c.boardData, authData = _c.authData;
29
+ var deviceName = device === null || device === void 0 ? void 0 : device.display_name;
32
30
  var handleGoToBoard = function () {
33
31
  var board_id = (boardData || {}).id;
34
32
  var _a = (authData === null || authData === void 0 ? void 0 : authData.recipient) || {}, id = _a.id, type = _a.type;
35
- dispatch(retrieveTerminalDeviceList());
33
+ dispatch(retrieveTerminalList());
36
34
  dispatch(retrieveBoardStatus({ boardId: board_id }))
37
35
  .unwrap()
38
36
  .then(function () {
@@ -21,12 +21,12 @@ import { ScreenContainer } from '../../../shared/Containers';
21
21
  import DeviceCard from '../../../../components/DeviceCard';
22
22
  import OTPTimer from '../../../../components/OTPTimer';
23
23
  import Collapse from '../../../../components/Collapse';
24
- import { clearError, linkTerminalDevice, pushNotificationLinkNewTerminal, storeSelectedTerminal, terminalSelector } from '../../../app/terminal/terminalStore';
24
+ import { clearError, linkTerminalDevice, pushNotificationLinkNewTerminal, storeSelectedPOS, terminalSelector } from '../../../app/terminal/terminalStore';
25
25
  import PushNotification from '../../../shared/PushNotification';
26
26
  import Button from '../../../shared/Button';
27
27
  import { Container, getId, getIdLabel, LinkWithText } from '../shared';
28
28
  import { SendRequestContainer } from './styles';
29
- import { TerminalList } from '../shared';
29
+ import { POSDeviceList } from '../shared';
30
30
  var UnlinkedTerminalInfo = function () {
31
31
  var t = useTranslation().t;
32
32
  var typography = useTheme().typography;
@@ -37,10 +37,11 @@ var UnlinkedTerminalInfo = function () {
37
37
  var _c = React.useState(false), success = _c[0], setSuccess = _c[1];
38
38
  var _d = React.useState(false), failed = _d[0], setFailed = _d[1];
39
39
  var _e = useAppSelector(terminalSelector), data = _e.data, error = _e.error;
40
- var _f = data.terminalInfo, selectedTerminalDevice = _f.selectedTerminalDevice, selectedTerminal = _f.selectedTerminal, responseData = data.responseData;
41
- var _g = responseData || {}, linkTerminalDeviceData = _g.linkTerminalDeviceData, terminalList = _g.terminalList;
42
- var model = selectedTerminalDevice.model, linked = selectedTerminalDevice.linked, display_name = selectedTerminalDevice.display_name;
43
- var _h = (model || {}).image_url, image_url = _h === void 0 ? ICONS_NAMES.device_image : _h;
40
+ var _f = data.terminalInfo, selectedTerminal = _f.selectedTerminal, selectedPOS = _f.selectedPOS, responseData = data.responseData;
41
+ var _g = responseData || {}, linkTerminalDeviceData = _g.linkTerminalDeviceData, posDevices = _g.posDevices;
42
+ var terminal_device = selectedTerminal.terminal_device, linked = selectedTerminal.linked;
43
+ var _h = ((terminal_device === null || terminal_device === void 0 ? void 0 : terminal_device.model) || {}).image_url, image_url = _h === void 0 ? ICONS_NAMES.device_image : _h;
44
+ var displayName = (terminal_device === null || terminal_device === void 0 ? void 0 : terminal_device.display_name) || '';
44
45
  var expiry = TERMINAL_PUSH_NOTIFICATION_DURATION;
45
46
  var newTerminal = false;
46
47
  React.useEffect(function () {
@@ -66,7 +67,7 @@ var UnlinkedTerminalInfo = function () {
66
67
  }, [isReady]);
67
68
  var getRequestSendDescription = function () {
68
69
  if (error)
69
- return t('terminal_request_denied', { device: display_name });
70
+ return t('terminal_request_denied', { device: displayName });
70
71
  if (isRequestSent)
71
72
  return t('terminal_new_request_will_send');
72
73
  return t('terminal_request_will_send');
@@ -80,10 +81,10 @@ var UnlinkedTerminalInfo = function () {
80
81
  dispatch(clearError());
81
82
  dispatch(handlePrevScreenStep(CONNECT_FLOWS.terminal.terminalDeviceList));
82
83
  };
83
- var handleOnSelectTerminal = function (terminal) {
84
+ var handleOnSelectPOS = function (pos) {
84
85
  if (error)
85
86
  dispatch(clearError());
86
- dispatch(storeSelectedTerminal(terminal));
87
+ dispatch(storeSelectedPOS(pos));
87
88
  };
88
89
  var handleOnResendClick = function () {
89
90
  if (isReady)
@@ -92,7 +93,7 @@ var UnlinkedTerminalInfo = function () {
92
93
  setFailed(false);
93
94
  dispatch(linkTerminalDevice());
94
95
  };
95
- var disabled = !(selectedTerminal === null || selectedTerminal === void 0 ? void 0 : selectedTerminal.id) || isRequestSent;
96
- return (_jsxs(ScreenContainer, __assign({ minHeight: 224, justifyContent: 'space-between' }, { children: [_jsx(PushNotification, __assign({ error: t('terminal_request_denied', { device: display_name }), failed: failed, success: success, expiryInSeconds: expiry }, { children: _jsxs(Container, { children: [_jsxs(Box, __assign({ sx: { ml: 2.5, mr: 2.5 } }, { children: [_jsx(LinkWithText, { children: "".concat(t('terminal_link'), " ").concat(display_name) }), _jsx(DeviceCard, { image: image_url, name: display_name, deviceId: getId(selectedTerminalDevice), deviceIdLabel: getIdLabel(selectedTerminalDevice), isLinked: linked }), _jsx(LinkWithText, { children: t('terminal_with') }), _jsx(TerminalList, { selectedTerminal: selectedTerminal, list: terminalList, onClick: handleOnSelectTerminal })] })), _jsxs(SendRequestContainer, __assign({ hasError: !!error, sx: __assign(__assign({}, typography.button_small), { fontWeight: typography.fontWeightRegular, mt: 2 }) }, { children: [getRequestSendDescription(), _jsx(Collapse, __assign({ in: isRequestSent && !error }, { children: _jsx(OTPTimer, { timeEndLabel: t('terminal_resend_request'), failed: failed, timeInSeconds: DEFAULT_TIMER_VALUE, onResetClick: handleOnResendClick }) }))] }))] }) })), _jsx(Button, __assign({ sx: { ml: 2.5, mr: 2.5, mt: 2 }, disabled: disabled, onBackClicked: handleOnBack, onClick: handleOnSendRequest, isAr: isAr }, { children: t('terminal_send_link_request') }))] })));
96
+ var disabled = !(selectedPOS === null || selectedPOS === void 0 ? void 0 : selectedPOS.id) || isRequestSent;
97
+ return (_jsxs(ScreenContainer, __assign({ minHeight: 224, justifyContent: 'space-between' }, { children: [_jsx(PushNotification, __assign({ error: t('terminal_request_denied', { device: displayName }), failed: failed, success: success, expiryInSeconds: expiry }, { children: _jsxs(Container, { children: [_jsxs(Box, __assign({ sx: { ml: 2.5, mr: 2.5 } }, { children: [_jsx(LinkWithText, { children: "".concat(t('terminal_link'), " ").concat(displayName) }), _jsx(DeviceCard, { image: image_url, name: displayName, deviceId: getId(selectedTerminal), deviceIdLabel: getIdLabel(selectedTerminal), isLinked: linked }), _jsx(LinkWithText, { children: t('terminal_with') }), _jsx(POSDeviceList, { selectedPOS: selectedPOS, posDevices: posDevices, onClick: handleOnSelectPOS })] })), _jsxs(SendRequestContainer, __assign({ hasError: !!error, sx: __assign(__assign({}, typography.button_small), { fontWeight: typography.fontWeightRegular, mt: 2 }) }, { children: [getRequestSendDescription(), _jsx(Collapse, __assign({ in: isRequestSent && !error }, { children: _jsx(OTPTimer, { timeEndLabel: t('terminal_resend_request'), failed: failed, timeInSeconds: DEFAULT_TIMER_VALUE, onResetClick: handleOnResendClick }) }))] }))] }) })), _jsx(Button, __assign({ sx: { ml: 2.5, mr: 2.5, mt: 2 }, disabled: disabled, onBackClicked: handleOnBack, onClick: handleOnSendRequest, isAr: isAr }, { children: t('terminal_send_link_request') }))] })));
97
98
  };
98
99
  export default React.memo(UnlinkedTerminalInfo);
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { POSInfo } from '../../../../@types';
3
+ interface POSDeviceListProps {
4
+ selectedPOS: POSInfo;
5
+ posDevices: POSInfo[];
6
+ select?: boolean;
7
+ loading?: boolean;
8
+ onClick: (pos: POSInfo) => void;
9
+ }
10
+ declare const _default: React.MemoExoticComponent<({ posDevices, onClick, selectedPOS, select, loading }: POSDeviceListProps) => JSX.Element>;
11
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { memo } from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { ICONS_NAMES } from '../../../../constants';
5
+ import Icon from '../../../../components/Icon';
6
+ import Loader from '../../../../components/Loader';
7
+ import { ListContainer, POSListContainer, TitleContainer, Image, Title, ScrollContainer, ListItem, StyledRadio, ArrowIcon } from './styles';
8
+ import { useAppSelector } from '../../../../hooks';
9
+ import { terminalSelector } from '../../../../features/app/terminal/terminalStore';
10
+ var POSDeviceList = function (_a) {
11
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
12
+ var posDevices = _a.posDevices, onClick = _a.onClick, selectedPOS = _a.selectedPOS, _m = _a.select, select = _m === void 0 ? true : _m, loading = _a.loading;
13
+ var t = useTranslation().t;
14
+ var responseData = useAppSelector(terminalSelector).data.responseData;
15
+ var terminalData = (responseData || {}).terminalData;
16
+ var platformImage = ((_e = (_d = (_c = (_b = terminalData === null || terminalData === void 0 ? void 0 : terminalData.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.platform) === null || _d === void 0 ? void 0 : _d.brand) === null || _e === void 0 ? void 0 : _e.logo) || ICONS_NAMES.platform_image;
17
+ var platformName = (_l = (_k = (_j = (_h = (_g = (_f = terminalData === null || terminalData === void 0 ? void 0 : terminalData.list) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.platform) === null || _h === void 0 ? void 0 : _h.brand) === null || _j === void 0 ? void 0 : _j.name) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.text;
18
+ var getEndComponent = function (pos) {
19
+ if (loading && (selectedPOS === null || selectedPOS === void 0 ? void 0 : selectedPOS.id) === (pos === null || pos === void 0 ? void 0 : pos.id))
20
+ return _jsx(Loader, { innerColor: 'black', outerColor: 'black', size: 10, style: { height: 24, width: 24 }, toggleAnimation: !!loading });
21
+ if (select)
22
+ return (_jsx(StyledRadio, { sx: { paddingInlineEnd: 0 }, disableFocusRipple: true, disableRipple: true, disableTouchRipple: true, onChange: function () { return onClick(pos); }, checkedIcon: _jsx(Icon, { src: ICONS_NAMES.radio_checked }), checked: (selectedPOS === null || selectedPOS === void 0 ? void 0 : selectedPOS.id) === pos.id }));
23
+ if (!select)
24
+ return _jsx(ArrowIcon, {});
25
+ };
26
+ 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(POSListContainer, { children: (posDevices || []).map(function (device, index) { return (_jsx(ListItem, { sx: { minHeight: 'unset' }, onClick: function () { return onClick(device); }, name: device.display_name, deviceId: device.reference, deviceIdLabel: 'terminal_device_id', endAdornment: getEndComponent(device) }, index)); }) }) })] }));
27
+ };
28
+ export default memo(POSDeviceList);
@@ -1,5 +1,5 @@
1
1
  import Header from './Header';
2
- import TerminalList from './TerminalList';
2
+ import POSDeviceList from './POSDeviceList';
3
3
  export * from './styles';
4
4
  export * from './utils';
5
- export { Header, TerminalList };
5
+ export { Header, POSDeviceList };
@@ -1,5 +1,5 @@
1
1
  import Header from './Header';
2
- import TerminalList from './TerminalList';
2
+ import POSDeviceList from './POSDeviceList';
3
3
  export * from './styles';
4
4
  export * from './utils';
5
- export { Header, TerminalList };
5
+ export { Header, POSDeviceList };
@@ -78,7 +78,7 @@ export declare const ScrollContainer: import("@emotion/styled").StyledComponent<
78
78
  } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
79
79
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
80
80
  }, keyof import("@mui/material/OverridableComponent").CommonProps | ("left" | "right" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "color" | "zIndex" | "position" | "top" | "bottom" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform") | "children" | "component" | "ref" | "sx"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
81
- export declare const TerminalListContainer: import("@emotion/styled").StyledComponent<import("@mui/system").SystemProps<import("@mui/material/styles").Theme> & {
81
+ export declare const POSListContainer: import("@emotion/styled").StyledComponent<import("@mui/system").SystemProps<import("@mui/material/styles").Theme> & {
82
82
  children?: import("react").ReactNode;
83
83
  component?: import("react").ElementType<any> | undefined;
84
84
  ref?: import("react").Ref<unknown> | undefined;
@@ -60,7 +60,7 @@ export var ScrollContainer = styled(Box)(function (_a) {
60
60
  overflow: 'scroll'
61
61
  });
62
62
  });
63
- export var TerminalListContainer = styled(Box)(function (_a) {
63
+ export var POSListContainer = styled(Box)(function (_a) {
64
64
  var spacing = _a.theme.spacing;
65
65
  return ({
66
66
  display: 'flex',
@@ -1,7 +1,7 @@
1
- import { TerminalDeviceInfo, TerminalInfo } from '../../../../@types';
2
- export declare const getPairedWith: (device: TerminalDeviceInfo) => string | undefined;
3
- export declare const getId: (device: TerminalDeviceInfo) => string;
4
- export declare const getIdLabel: (device: TerminalDeviceInfo) => "terminal_device_id" | "terminal_serial_number";
1
+ import { TerminalInfo } from '../../../../@types';
2
+ export declare const getPairedWith: (terminal: TerminalInfo | undefined) => string | undefined;
3
+ export declare const getId: (terminal: TerminalInfo | undefined) => string;
4
+ export declare const getIdLabel: (terminal: TerminalInfo | undefined) => "terminal_device_id" | "terminal_serial_number";
5
5
  export declare const getTerminalId: (terminal: TerminalInfo) => string;
6
6
  export declare const getTerminalName: (terminal: TerminalInfo) => string;
7
7
  export declare const getTerminalIdLabel: (terminal: TerminalInfo) => "terminal_device_id" | "terminal_id";
@@ -1,14 +1,13 @@
1
- export var getPairedWith = function (device) {
2
- var _a, _b, _c, _d;
3
- return (_c = (_b = (_a = device === null || device === void 0 ? void 0 : device.terminal) === null || _a === void 0 ? void 0 : _a.device) === null || _b === void 0 ? void 0 : _b.display_name) !== null && _c !== void 0 ? _c : (_d = device === null || device === void 0 ? void 0 : device.terminal) === null || _d === void 0 ? void 0 : _d.name.en;
1
+ export var getPairedWith = function (terminal) {
2
+ var _a;
3
+ return (_a = terminal === null || terminal === void 0 ? void 0 : terminal.device) === null || _a === void 0 ? void 0 : _a.display_name;
4
4
  };
5
- export var getId = function (device) {
6
- var _a, _b, _c;
7
- return (_c = (_b = (_a = device === null || device === void 0 ? void 0 : device.terminal) === null || _a === void 0 ? void 0 : _a.device) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : device.serial_number;
5
+ export var getId = function (terminal) {
6
+ return ((terminal === null || terminal === void 0 ? void 0 : terminal.device) ? terminal.device.reference || terminal.device.id : terminal === null || terminal === void 0 ? void 0 : terminal.terminal_device.serial_number) || '';
8
7
  };
9
- export var getIdLabel = function (device) {
10
- var _a, _b;
11
- return ((_b = (_a = device === null || device === void 0 ? void 0 : device.terminal) === null || _a === void 0 ? void 0 : _a.device) === null || _b === void 0 ? void 0 : _b.id) ? 'terminal_device_id' : 'terminal_serial_number';
8
+ export var getIdLabel = function (terminal) {
9
+ var _a;
10
+ return ((_a = terminal === null || terminal === void 0 ? void 0 : terminal.device) === null || _a === void 0 ? void 0 : _a.id) ? 'terminal_device_id' : 'terminal_serial_number';
12
11
  };
13
12
  export var getTerminalId = function (terminal) {
14
13
  var _a, _b;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tap-payments/auth-jsconnect",
3
- "version": "2.11.4-development",
3
+ "version": "2.11.5-development",
4
4
  "description": "connect library, auth",
5
5
  "private": false,
6
6
  "main": "build/index.js",
@@ -1,2 +0,0 @@
1
- import TerminalListPage from './TerminalListPage';
2
- export default TerminalListPage;
@@ -1,2 +0,0 @@
1
- import TerminalListPage from './TerminalListPage';
2
- export default TerminalListPage;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { TerminalInfo } from '../../../../@types';
3
- interface TerminalListProps {
4
- selectedTerminal: TerminalInfo;
5
- list: TerminalInfo[];
6
- select?: boolean;
7
- loading?: boolean;
8
- onClick: (device: TerminalInfo) => void;
9
- }
10
- declare const _default: React.MemoExoticComponent<({ list, onClick, selectedTerminal, select, loading }: TerminalListProps) => JSX.Element>;
11
- export default _default;