)) => {
@@ -39,25 +39,25 @@ export const DropdownMenuHeaderStartIcon = ({
return (
<>
- {'StartIcon' in props &&
+ {'Icon' in props &&
(onClick ? (
) : (
-
))}
- {'StartAvatar' in props && (
- {props.StartAvatar}
+ {'Avatar' in props && (
+ {props.Avatar}
)}
>
);
diff --git a/packages/twenty-front/src/modules/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderWithDropdownMenu.tsx b/packages/twenty-front/src/modules/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderWithDropdownMenu.tsx
deleted file mode 100644
index d7b530f9b..000000000
--- a/packages/twenty-front/src/modules/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderWithDropdownMenu.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
-import { IconComponent, IconDotsVertical, LightIconButton } from 'twenty-ui';
-import { SelectHotkeyScope } from '@/ui/input/types/SelectHotkeyScope';
-import { Placement } from '@floating-ui/react';
-import { ReactNode } from 'react';
-
-export type DropdownMenuHeaderWithDropdownMenuProps = {
- EndIcon?: IconComponent;
- dropdownPlacement?: Placement;
- dropdownComponents: ReactNode;
- dropdownId: string;
-};
-
-export const DropdownMenuHeaderWithDropdownMenu = (
- props: DropdownMenuHeaderWithDropdownMenuProps,
-) => {
- return (
-
-
- }
- dropdownPlacement={props.dropdownPlacement ?? 'bottom-end'}
- dropdownComponents={props.dropdownComponents}
- dropdownId={props.dropdownId}
- dropdownHotkeyScope={{ scope: SelectHotkeyScope.Select }}
- />
-
- );
-};
diff --git a/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/DropdownMenu.stories.tsx b/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/DropdownMenu.stories.tsx
index 28b04e72c..33f63ff49 100644
--- a/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/DropdownMenu.stories.tsx
+++ b/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/DropdownMenu.stories.tsx
@@ -22,6 +22,7 @@ import { DropdownMenuItemsContainer } from '../DropdownMenuItemsContainer';
import { DropdownMenuSearchInput } from '../DropdownMenuSearchInput';
import { DropdownMenuSeparator } from '../DropdownMenuSeparator';
import { StyledDropdownMenuSubheader } from '../StyledDropdownMenuSubheader';
+import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent';
const meta: Meta = {
title: 'UI/Layout/Dropdown/Dropdown',
@@ -219,7 +220,11 @@ export const WithHeaders: Story = {
args: {
dropdownComponents: (
<>
-
+
+ }
+ >
Header
Subheader 1
diff --git a/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/DropdownMenuHeader.stories.tsx b/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/DropdownMenuHeader.stories.tsx
index 57ad19a78..3ed73e189 100644
--- a/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/DropdownMenuHeader.stories.tsx
+++ b/packages/twenty-front/src/modules/ui/layout/dropdown/components/__stories__/DropdownMenuHeader.stories.tsx
@@ -13,6 +13,7 @@ import { DropdownMenuHeader } from '@/ui/layout/dropdown/components/DropdownMenu
import { SelectHotkeyScope } from '@/ui/input/types/SelectHotkeyScope';
import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer';
import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
+import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent';
const meta: Meta = {
title: 'UI/Layout/Dropdown/DropdownMenuHeader',
@@ -31,21 +32,14 @@ export const Text: Story = {
};
export const StartIcon: Story = {
args: {
- StartIcon: IconChevronLeft,
+ StartComponent: ,
children: 'Start Icon',
},
};
-export const EndIcon: Story = {
- args: {
- EndIcon: IconChevronRight,
- children: 'End Icon',
- },
-};
-
export const StartAndEndIcon: Story = {
args: {
- StartIcon: IconChevronLeft,
+ StartComponent: ,
EndIcon: IconChevronRight,
children: 'Start and End Icon',
},
@@ -53,7 +47,7 @@ export const StartAndEndIcon: Story = {
export const StartAvatar: Story = {
args: {
- StartAvatar: (
+ StartComponent: (
),
children: 'Avatar',
@@ -63,10 +57,10 @@ export const StartAvatar: Story = {
export const ContextDropdownAndAvatar: Story = {
args: {
children: 'Context Dropdown',
- StartAvatar: (
+ StartComponent: (
),
- DropdownOnEndIcon: (
+ EndComponent: (
{
dropdownHotkeyScope={{
scope: NavigationDrawerHotKeyScope.MultiWorkspaceDropdownButton,
}}
- dropdownOffset={{ y: 0, x: 0 }}
+ dropdownOffset={{ y: -35, x: -5 }}
clickableComponent={
{
const currentWorkspace = useRecoilValue(currentWorkspaceState);
const theme = useTheme();
diff --git a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/MultiWorkspaceDropdown/internal/MultiWorkspaceDropdownDefaultComponents.tsx b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/MultiWorkspaceDropdown/internal/MultiWorkspaceDropdownDefaultComponents.tsx
index 3f2aad279..37c820e67 100644
--- a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/MultiWorkspaceDropdown/internal/MultiWorkspaceDropdownDefaultComponents.tsx
+++ b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/MultiWorkspaceDropdown/internal/MultiWorkspaceDropdownDefaultComponents.tsx
@@ -36,6 +36,7 @@ import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
import { SelectHotkeyScope } from '@/ui/input/types/SelectHotkeyScope';
import { useColorScheme } from '@/ui/theme/hooks/useColorScheme';
import styled from '@emotion/styled';
+import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent';
const StyledDescription = styled.div`
color: ${({ theme }) => theme.font.color.light};
@@ -91,13 +92,17 @@ export const MultiWorkspaceDropdownDefaultComponents = () => {
return (
<>
+ }
/>
}
- DropdownOnEndIcon={
+ EndComponent={
{
const { t } = useLingui();
@@ -18,8 +19,12 @@ export const MultiWorkspaceDropdownThemesComponents = () => {
return (
setMultiWorkspaceDropdownState('default')}
+ StartComponent={
+ setMultiWorkspaceDropdownState('default')}
+ Icon={IconChevronLeft}
+ />
+ }
>
{t`Theme`}
diff --git a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/MultiWorkspaceDropdown/internal/MultiWorkspaceDropdownWorkspacesListComponents.tsx b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/MultiWorkspaceDropdown/internal/MultiWorkspaceDropdownWorkspacesListComponents.tsx
index 354b2d7ec..4dddb46e7 100644
--- a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/MultiWorkspaceDropdown/internal/MultiWorkspaceDropdownWorkspacesListComponents.tsx
+++ b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/MultiWorkspaceDropdown/internal/MultiWorkspaceDropdownWorkspacesListComponents.tsx
@@ -18,6 +18,7 @@ import { multiWorkspaceDropdownState } from '@/ui/navigation/navigation-drawer/s
import { useState } from 'react';
import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/DropdownMenuSearchInput';
import { DropdownMenuHeader } from '@/ui/layout/dropdown/components/DropdownMenuHeader/DropdownMenuHeader';
+import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent';
export const MultiWorkspaceDropdownWorkspacesListComponents = () => {
const currentWorkspace = useRecoilValue(currentWorkspaceState);
@@ -37,8 +38,12 @@ export const MultiWorkspaceDropdownWorkspacesListComponents = () => {
return (
setMultiWorkspaceDropdownState('default')}
+ StartComponent={
+ setMultiWorkspaceDropdownState('default')}
+ Icon={IconChevronLeft}
+ />
+ }
>
{t`Other workspaces`}
diff --git a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentCreateMode.tsx b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentCreateMode.tsx
index 1584113fa..d5eafd43b 100644
--- a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentCreateMode.tsx
+++ b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentCreateMode.tsx
@@ -34,6 +34,7 @@ import { viewPickerSelectedIconComponentState } from '@/views/view-picker/states
import { viewPickerTypeComponentState } from '@/views/view-picker/states/viewPickerTypeComponentState';
import { useMemo, useState } from 'react';
import { useLingui } from '@lingui/react/macro';
+import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent';
const StyledNoKanbanFieldAvailableContainer = styled.div`
color: ${({ theme }) => theme.font.color.light};
@@ -130,7 +131,11 @@ export const ViewPickerContentCreateMode = () => {
return (
<>
-
+
+ }
+ >
{t`Create view`}
diff --git a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentEditMode.tsx b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentEditMode.tsx
index 91e7e349c..db433df1a 100644
--- a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentEditMode.tsx
+++ b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentEditMode.tsx
@@ -21,6 +21,7 @@ import { viewPickerInputNameComponentState } from '@/views/view-picker/states/vi
import { viewPickerIsDirtyComponentState } from '@/views/view-picker/states/viewPickerIsDirtyComponentState';
import { viewPickerIsPersistingComponentState } from '@/views/view-picker/states/viewPickerIsPersistingComponentState';
import { viewPickerSelectedIconComponentState } from '@/views/view-picker/states/viewPickerSelectedIconComponentState';
+import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent';
export const ViewPickerContentEditMode = () => {
const { setViewPickerMode } = useViewPickerMode();
@@ -68,8 +69,12 @@ export const ViewPickerContentEditMode = () => {
return (
<>
+ }
>
Edit view
diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownFieldItems.tsx b/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownFieldItems.tsx
index dc880657b..744c28543 100644
--- a/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownFieldItems.tsx
+++ b/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownFieldItems.tsx
@@ -26,6 +26,7 @@ import {
OverflowingTextWithTooltip,
useIcons,
} from 'twenty-ui';
+import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent';
type WorkflowVariablesDropdownFieldItemsProps = {
step: StepOutputSchema;
@@ -116,8 +117,12 @@ export const WorkflowVariablesDropdownFieldItems = ({
return (
<>
+ }
style={{ position: 'fixed' }}
>
-
+
+ }
+ >
diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownWorkflowStepItems.tsx b/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownWorkflowStepItems.tsx
index 0fd7d8ffc..c95887b42 100644
--- a/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownWorkflowStepItems.tsx
+++ b/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownWorkflowStepItems.tsx
@@ -12,6 +12,7 @@ import {
OverflowingTextWithTooltip,
useIcons,
} from 'twenty-ui';
+import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent';
type WorkflowVariablesDropdownWorkflowStepItemsProps = {
dropdownId: string;
@@ -37,7 +38,14 @@ export const WorkflowVariablesDropdownWorkflowStepItems = ({
return (
<>
-
+
+ }
+ >