From b1c57edc90fbef45ca0cccabb726fae2ef52b73d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Bosi?= <71827178+bosiraphael@users.noreply.github.com> Date: Fri, 28 Mar 2025 11:01:55 +0100 Subject: [PATCH] Display a tooltip for actions without short labels (#11243) - Merge `RecordIndexActionMenuButtons` and `RecordShowActionMenuButtons` into a single component `PageHeaderActionMenuButtons` - Display tooltip after 1s for actions without short labels https://github.com/user-attachments/assets/7649bed8-a1a9-4c1d-8fbe-f1bf3a51db56 --- .../PageHeaderActionMenuButtons.tsx | 64 +++++++++++++++++ .../components/RecordIndexActionMenu.tsx | 4 +- .../RecordIndexActionMenuButtons.tsx | 29 -------- .../components/RecordShowActionMenu.tsx | 7 +- .../RecordShowActionMenuButtons.tsx | 46 ------------ .../components/RecordIndexPageHeader.tsx | 4 +- ... => PageHeaderToggleCommandMenuButton.tsx} | 72 +++++++++++++------ .../pages/object-record/RecordShowPage.tsx | 2 + .../RecordShowPageBaseHeader.tsx | 4 +- .../src/display/tooltip/AppTooltip.tsx | 5 +- 10 files changed, 131 insertions(+), 106 deletions(-) create mode 100644 packages/twenty-front/src/modules/action-menu/components/PageHeaderActionMenuButtons.tsx delete mode 100644 packages/twenty-front/src/modules/action-menu/components/RecordIndexActionMenuButtons.tsx delete mode 100644 packages/twenty-front/src/modules/action-menu/components/RecordShowActionMenuButtons.tsx rename packages/twenty-front/src/modules/ui/layout/page-header/components/{PageHeaderOpenCommandMenuButton.tsx => PageHeaderToggleCommandMenuButton.tsx} (66%) diff --git a/packages/twenty-front/src/modules/action-menu/components/PageHeaderActionMenuButtons.tsx b/packages/twenty-front/src/modules/action-menu/components/PageHeaderActionMenuButtons.tsx new file mode 100644 index 000000000..63bc9cb3c --- /dev/null +++ b/packages/twenty-front/src/modules/action-menu/components/PageHeaderActionMenuButtons.tsx @@ -0,0 +1,64 @@ +import { actionMenuEntriesComponentSelector } from '@/action-menu/states/actionMenuEntriesComponentSelector'; +import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; +import styled from '@emotion/styled'; +import { i18n } from '@lingui/core'; +import { + AppTooltip, + Button, + IconButton, + TooltipDelay, + TooltipPosition, +} from 'twenty-ui'; + +const StyledWrapper = styled.div` + font-size: ${({ theme }) => theme.font.size.md}; +`; + +export const PageHeaderActionMenuButtons = () => { + const actionMenuEntries = useRecoilComponentValueV2( + actionMenuEntriesComponentSelector, + ); + + const pinnedEntries = actionMenuEntries.filter((entry) => entry.isPinned); + + return ( + <> + {pinnedEntries.map((entry) => + entry.shortLabel ? ( +