From 2e5e25bfe533a19780be091ae5b2b275c85fe4da Mon Sep 17 00:00:00 2001 From: olav Date: Thu, 21 Apr 2022 08:26:49 +0200 Subject: [PATCH] refactor: improve icon labels and tooltips (#884) --- .../ConfiguredAddons/ConfiguredAddons.tsx | 15 ++-- .../apiToken/ApiTokenList/ApiTokenList.tsx | 35 ++++++---- .../ConfirmToken/UserToken/UserToken.tsx | 13 ++-- .../EnvironmentPermissionAccordion.tsx | 7 +- .../ProjectRoleListItem.tsx | 4 +- .../UserInviteLink/UserInviteLink.tsx | 10 +-- .../UsersList/UserListItem/UserListItem.tsx | 3 - .../ApplicationEdit/ApplicationEdit.tsx | 4 +- .../ApplicationList/ApplicationList.tsx | 2 +- .../AutocompleteBox/AutocompleteBox.tsx | 2 +- .../common/CheckmarkBadge/CheckMarkBadge.tsx | 2 +- .../ConstraintAccordionEditHeader.tsx | 19 +++--- .../ConstraintAccordionView.tsx | 2 +- .../ConstraintAccordionViewHeader.tsx | 6 +- .../ConstraintAccordion/ConstraintIcon.tsx | 2 +- .../common/DropdownMenu/DropdownMenu.jsx | 2 +- .../EnvironmentIcon/EnvironmentIcon.tsx | 4 +- .../common/FormTemplate/FormTemplate.tsx | 29 +++++--- .../common/PasswordField/PasswordField.tsx | 6 +- .../PermissionButton/PermissionButton.tsx | 23 ++++--- .../PermissionIconButton.tsx | 21 +++--- .../PermissionSwitch/PermissionSwitch.tsx | 12 ++-- .../Table/TableActions/TableActions.tsx | 2 +- .../TableSearchField/TableSearchField.tsx | 1 - .../common/ToastRenderer/Toast/Toast.tsx | 19 +++--- .../TooltipResolver/TooltipResolver.tsx | 21 ++++++ .../context/ContextList/ContextList.jsx | 2 - .../EnvironmentListItem.tsx | 68 ++++++++----------- .../CreateFeatureButton.tsx | 2 +- .../FeatureStrategyMenuCard.tsx | 2 +- .../FeatureStrategyRemove.tsx | 3 +- .../FeatureToggleListItem.jsx | 1 + .../FeatureToggleList.test.jsx.snap | 10 ++- .../FeatureOverviewEnvironment.tsx | 2 +- .../FeatureOverviewEnvironmentStrategy.tsx | 3 +- .../FeatureOverviewMetaData.tsx | 6 +- .../FeatureOverviewTags.tsx | 4 +- .../FeatureSettingsInformation.tsx | 3 +- .../FeatureSettingsProjectConfirm.tsx | 5 +- .../OverrideConfig/OverrideConfig.jsx | 10 +-- .../FeatureVariantsListItem.tsx | 48 +++++++------ .../feature/FeatureView/FeatureView.tsx | 12 ++-- .../StrategyConstraintInputField.jsx | 2 +- .../StrategyConstraints.tsx | 5 +- .../feedback/FeedbackNPS/FeedbackNPS.tsx | 16 +++-- frontend/src/component/menu/Header/Header.tsx | 42 ++++++------ .../src/component/project/Project/Project.tsx | 1 + .../Project/ProjectInfo/ProjectInfo.tsx | 5 +- .../ProjectAccessListItem.tsx | 3 +- .../project/ProjectCard/ProjectCard.tsx | 3 +- .../SegmentListItem/SegmentListItem.tsx | 5 +- .../StrategiesList/StrategiesList.tsx | 27 ++++---- .../StrategiesList.test.jsx.snap | 50 ++++++-------- .../StrategyParameter/StrategyParameter.tsx | 25 ++++--- .../StrategyDetails/StrategyDetails.tsx | 20 +++--- .../strategies/StrategyView/StrategyView.tsx | 3 +- .../TogglesLinkList/TogglesLinkList.tsx | 51 +++++++------- .../tags/TagTypeList/TagTypeList.tsx | 4 +- .../src/hooks/api/actions/useApi/useApi.ts | 4 +- frontend/src/hooks/useId.test.ts | 40 +++++++++++ frontend/src/hooks/useId.ts | 10 +++ frontend/src/utils/formatAccessText.test.ts | 11 +++ frontend/src/utils/formatAccessText.ts | 16 +++++ 63 files changed, 479 insertions(+), 311 deletions(-) create mode 100644 frontend/src/component/common/TooltipResolver/TooltipResolver.tsx create mode 100644 frontend/src/hooks/useId.test.ts create mode 100644 frontend/src/hooks/useId.ts create mode 100644 frontend/src/utils/formatAccessText.test.ts create mode 100644 frontend/src/utils/formatAccessText.ts diff --git a/frontend/src/component/addons/AddonList/ConfiguredAddons/ConfiguredAddons.tsx b/frontend/src/component/addons/AddonList/ConfiguredAddons/ConfiguredAddons.tsx index 0fd9042907..de970024cc 100644 --- a/frontend/src/component/addons/AddonList/ConfiguredAddons/ConfiguredAddons.tsx +++ b/frontend/src/component/addons/AddonList/ConfiguredAddons/ConfiguredAddons.tsx @@ -113,29 +113,30 @@ export const ConfiguredAddons = ({ getAddonIcon }: IConfigureAddonsProps) => { toggleAddon(addon)} + tooltip="Toggle addon" > } - elseShow={} + show={} + elseShow={} /> { - history.push(`/addons/edit/${addon.id}`); - }} + tooltip="Edit Addon" + onClick={() => history.push(`/addons/edit/${addon.id}`)} > - + { setDeletedAddon(addon); setShowDelete(true); }} > - + diff --git a/frontend/src/component/admin/apiToken/ApiTokenList/ApiTokenList.tsx b/frontend/src/component/admin/apiToken/ApiTokenList/ApiTokenList.tsx index a334d9835a..fe236a90a5 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenList/ApiTokenList.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenList/ApiTokenList.tsx @@ -8,6 +8,7 @@ import { TableCell, TableHead, TableRow, + Tooltip, } from '@material-ui/core'; import AccessContext from 'contexts/AccessContext'; import useToast from 'hooks/useToast'; @@ -200,24 +201,28 @@ export const ApiTokenList = () => { - { - copyToken(item.secret); - }} - > - - + + { + copyToken(item.secret); + }} + > + + + { - setDeleteToken(item); - setShowDelete(true); - }} - > - - + + { + setDeleteToken(item); + setShowDelete(true); + }} + > + + + } /> diff --git a/frontend/src/component/admin/apiToken/ConfirmToken/UserToken/UserToken.tsx b/frontend/src/component/admin/apiToken/ConfirmToken/UserToken/UserToken.tsx index b0bc6144b2..f434c27b97 100644 --- a/frontend/src/component/admin/apiToken/ConfirmToken/UserToken/UserToken.tsx +++ b/frontend/src/component/admin/apiToken/ConfirmToken/UserToken/UserToken.tsx @@ -1,4 +1,4 @@ -import { IconButton } from '@material-ui/core'; +import { IconButton, Tooltip } from '@material-ui/core'; import CopyIcon from '@material-ui/icons/FileCopy'; import copy from 'copy-to-clipboard'; import useToast from 'hooks/useToast'; @@ -14,8 +14,7 @@ export const UserToken = ({ token }: IUserTokenProps) => { if (copy(token)) { setToastData({ type: 'success', - title: 'Token copied', - text: `Token is copied to clipboard`, + title: 'Token copied to clipboard', }); } else setToastData({ @@ -38,9 +37,11 @@ export const UserToken = ({ token }: IUserTokenProps) => { }} > {token} - - - + + + + + ); }; diff --git a/frontend/src/component/admin/projectRoles/ProjectRoleForm/EnvironmentPermissionAccordion/EnvironmentPermissionAccordion.tsx b/frontend/src/component/admin/projectRoles/ProjectRoleForm/EnvironmentPermissionAccordion/EnvironmentPermissionAccordion.tsx index 23bb956453..9a497a3d78 100644 --- a/frontend/src/component/admin/projectRoles/ProjectRoleForm/EnvironmentPermissionAccordion/EnvironmentPermissionAccordion.tsx +++ b/frontend/src/component/admin/projectRoles/ProjectRoleForm/EnvironmentPermissionAccordion/EnvironmentPermissionAccordion.tsx @@ -121,7 +121,12 @@ const EnvironmentPermissionAccordion = ({ } + expandIcon={ + + } >
{ history.push(`/admin/roles/${id}/edit`); }} permission={ADMIN} + tooltip="Edit role" > { // @ts-expect-error @@ -69,6 +68,7 @@ const RoleListItem = ({ setDelDialog(true); }} permission={ADMIN} + tooltip="Remove role" > diff --git a/frontend/src/component/admin/users/ConfirmUserAdded/ConfirmUserLink/UserInviteLink/UserInviteLink.tsx b/frontend/src/component/admin/users/ConfirmUserAdded/ConfirmUserLink/UserInviteLink/UserInviteLink.tsx index 5548f4c007..81cd25f6fe 100644 --- a/frontend/src/component/admin/users/ConfirmUserAdded/ConfirmUserLink/UserInviteLink/UserInviteLink.tsx +++ b/frontend/src/component/admin/users/ConfirmUserAdded/ConfirmUserLink/UserInviteLink/UserInviteLink.tsx @@ -1,4 +1,4 @@ -import { IconButton } from '@material-ui/core'; +import { IconButton, Tooltip } from '@material-ui/core'; import CopyIcon from '@material-ui/icons/FileCopy'; import useToast from 'hooks/useToast'; @@ -47,9 +47,11 @@ const UserInviteLink = ({ inviteLink }: IInviteLinkProps) => { }} > {inviteLink} - - - + + + + +
); }; diff --git a/frontend/src/component/admin/users/UsersList/UserListItem/UserListItem.tsx b/frontend/src/component/admin/users/UsersList/UserListItem/UserListItem.tsx index b0c8c8f65d..be706c5de1 100644 --- a/frontend/src/component/admin/users/UsersList/UserListItem/UserListItem.tsx +++ b/frontend/src/component/admin/users/UsersList/UserListItem/UserListItem.tsx @@ -87,7 +87,6 @@ const UserListItem = ({ history.push(`/admin/users/${user.id}/edit`) } @@ -98,7 +97,6 @@ const UserListItem = ({ @@ -107,7 +105,6 @@ const UserListItem = ({ diff --git a/frontend/src/component/application/ApplicationEdit/ApplicationEdit.tsx b/frontend/src/component/application/ApplicationEdit/ApplicationEdit.tsx index e017ef2e7f..68c08af65d 100644 --- a/frontend/src/component/application/ApplicationEdit/ApplicationEdit.tsx +++ b/frontend/src/component/application/ApplicationEdit/ApplicationEdit.tsx @@ -112,13 +112,13 @@ export const ApplicationEdit = () => { condition={Boolean(url)} show={ - + } /> diff --git a/frontend/src/component/application/ApplicationList/ApplicationList.tsx b/frontend/src/component/application/ApplicationList/ApplicationList.tsx index 017e8781cb..a99e6becd3 100644 --- a/frontend/src/component/application/ApplicationList/ApplicationList.tsx +++ b/frontend/src/component/application/ApplicationList/ApplicationList.tsx @@ -22,7 +22,7 @@ export const ApplicationList = () => { const renderNoApplications = () => ( <>
-
+

Oh snap, it does not seem like you have connected any applications. To connect your application to Unleash you will diff --git a/frontend/src/component/common/AutocompleteBox/AutocompleteBox.tsx b/frontend/src/component/common/AutocompleteBox/AutocompleteBox.tsx index 9fb5d8be03..2e629c5d5a 100644 --- a/frontend/src/component/common/AutocompleteBox/AutocompleteBox.tsx +++ b/frontend/src/component/common/AutocompleteBox/AutocompleteBox.tsx @@ -46,7 +46,7 @@ export const AutocompleteBox = ({ classes={{ inputRoot: styles.inputRoot }} options={options} value={value} - popupIcon={} + popupIcon={} onChange={(event, value) => onChange(value || [])} renderInput={renderInput} getOptionLabel={value => value.label} diff --git a/frontend/src/component/common/CheckmarkBadge/CheckMarkBadge.tsx b/frontend/src/component/common/CheckmarkBadge/CheckMarkBadge.tsx index c2a7cae1a6..7b8673d84d 100644 --- a/frontend/src/component/common/CheckmarkBadge/CheckMarkBadge.tsx +++ b/frontend/src/component/common/CheckmarkBadge/CheckMarkBadge.tsx @@ -12,7 +12,7 @@ const CheckMarkBadge = ({ type, className }: ICheckMarkBadgeProps) => { return (
{type === 'error' ? ( - + ) : ( )} diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx index bdced50d41..c233f7829d 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx @@ -17,6 +17,7 @@ import { operatorsForContext, CURRENT_TIME_CONTEXT_FIELD, } from 'utils/operatorsForContext'; +import { Tooltip } from '@material-ui/core'; interface IConstraintAccordionViewHeader { localConstraint: IConstraint; @@ -121,14 +122,16 @@ export const ConstraintAccordionEditHeader = ({ show={

Updating...

} elseShow={

Editing

} /> - - - + + + + +
); }; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx index da4a50b9f3..0e60e957ae 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx @@ -45,7 +45,7 @@ export const ConstraintAccordionView = ({ > } + expandIcon={} >