From df1686a2ae580c00742b15b5c0a1dac573928600 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 10 Apr 2023 11:04:05 +0200 Subject: [PATCH] [WIFI-12437] Improved commonly used device actions accessibility Signed-off-by: Charles --- package-lock.json | 4 +- package.json | 2 +- .../Buttons/DeviceActionDropdown/index.tsx | 125 ++++++++++++------ src/pages/Device/Wrapper.tsx | 9 +- src/pages/Devices/ListCard/Actions.tsx | 7 +- 5 files changed, 94 insertions(+), 53 deletions(-) diff --git a/package-lock.json b/package-lock.json index b0cadaf..249949b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ucentral-client", - "version": "2.10.0(5)", + "version": "2.10.0(11)", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ucentral-client", - "version": "2.10.0(5)", + "version": "2.10.0(11)", "license": "ISC", "dependencies": { "@chakra-ui/icons": "^2.0.11", diff --git a/package.json b/package.json index e14fc48..b37f555 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ucentral-client", - "version": "2.10.0(5)", + "version": "2.10.0(11)", "description": "", "private": true, "main": "index.tsx", diff --git a/src/components/Buttons/DeviceActionDropdown/index.tsx b/src/components/Buttons/DeviceActionDropdown/index.tsx index c9cfafa..c486bcf 100644 --- a/src/components/Buttons/DeviceActionDropdown/index.tsx +++ b/src/components/Buttons/DeviceActionDropdown/index.tsx @@ -1,18 +1,17 @@ import React from 'react'; import { - Button, IconButton, Menu, MenuButton, MenuItem, MenuList, Portal, - Spinner, Tooltip, + useColorModeValue, useToast, } from '@chakra-ui/react'; import axios from 'axios'; -import { Wrench } from 'phosphor-react'; +import { Barcode, Power, TerminalWindow, WifiHigh, Wrench } from 'phosphor-react'; import { useTranslation } from 'react-i18next'; import { useControllerStore } from 'contexts/ControllerSocketProvider/useStore'; import { useBlinkDevice, useGetDeviceRtty } from 'hooks/Network/Devices'; @@ -51,12 +50,13 @@ const DeviceActionDropdown = ({ onOpenScriptModal, onOpenRebootModal, size, - isCompact = true, + isCompact, }: Props) => { const { t } = useTranslation(); const toast = useToast(); + const connectColor = useColorModeValue('blackAlpha', 'gray'); const addEventListeners = useControllerStore((state) => state.addEventListeners); - const { refetch: getRtty, isInitialLoading: isRtty } = useGetDeviceRtty({ + const { refetch: getRtty, isFetching: isRtty } = useGetDeviceRtty({ serialNumber: device.serialNumber, extraId: 'inventory-modal', }); @@ -162,49 +162,90 @@ const DeviceActionDropdown = ({ const handleRebootClick = () => onOpenRebootModal(device.serialNumber); return ( - - - {size === undefined || isCompact ? ( + <> + + } + size={size ?? 'sm'} + isDisabled={isDisabled} + isLoading={isRtty} + onClick={handleConnectClick} + colorScheme={connectColor} + hidden={isCompact} + /> + + + } + size={size ?? 'sm'} + isDisabled={isDisabled} + onClick={handleOpenConfigure} + colorScheme="purple" + hidden={isCompact} + /> + + + } + size={size ?? 'sm'} + isDisabled={isDisabled} + onClick={handleRebootClick} + colorScheme="green" + hidden={isCompact} + /> + + + } + size={size ?? 'sm'} + isDisabled={isDisabled} + onClick={handleOpenScan} + colorScheme="teal" + hidden={isCompact} + /> + + + : } + icon={} size={size ?? 'sm'} isDisabled={isDisabled} - ml={2} /> - ) : ( - : } - size={size ?? 'sm'} - isDisabled={isDisabled} - ml={2} - > - {t('common.actions')} - - )} - - - - {t('commands.blink')} - {t('controller.configure.title')} - {t('commands.connect')} - {t('controller.queue.title')} - {t('commands.factory_reset')} - {t('commands.firmware_upgrade')} - {t('commands.reboot')} - {t('controller.telemetry.title')} - {t('script.one')} - {t('controller.devices.trace')} - - {t('commands.wifiscan')} - - - + + + + {t('commands.blink')} + + + {t('controller.queue.title')} + {t('commands.factory_reset')} + {t('commands.firmware_upgrade')} + + {t('controller.telemetry.title')} + {t('script.one')} + {t('controller.devices.trace')} + + + + + + ); }; diff --git a/src/pages/Device/Wrapper.tsx b/src/pages/Device/Wrapper.tsx index 7910478..30a69c6 100644 --- a/src/pages/Device/Wrapper.tsx +++ b/src/pages/Device/Wrapper.tsx @@ -185,7 +185,7 @@ const DevicePageWrapper = ({ serialNumber }: Props) => { <> {isCompact ? ( - + {serialNumber} {connectedTag} @@ -194,7 +194,7 @@ const DevicePageWrapper = ({ serialNumber }: Props) => { - {breakpoint !== 'base' && breakpoint !== 'md' && } + {getDevice?.data && ( { onOpenRebootModal={rebootModalProps.onOpen} onOpenScriptModal={scriptModal.openModal} size="md" - isCompact /> )} { {t('crud.delete')} {serialNumber} + {t('crud.delete_confirm', { obj: t('devices.one') })} +