8964 add feature flag is page header v2 enabled (#8995)

Closes #8964
This commit is contained in:
Raphaël Bosi
2024-12-10 10:56:28 +01:00
committed by GitHub
parent 228b7386ea
commit d70987653b
9 changed files with 160 additions and 48 deletions

View File

@ -1,18 +1,38 @@
import { Button, IconPlus } from 'twenty-ui';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { Button, IconButton, IconPlus } from 'twenty-ui';
type PageAddButtonProps = {
onClick?: () => void;
};
export const PageAddButton = ({ onClick }: PageAddButtonProps) => (
<Button
Icon={IconPlus}
dataTestId="add-button"
size="small"
variant="secondary"
accent="default"
title="New record"
onClick={onClick}
ariaLabel="New record"
/>
);
export const PageAddButton = ({ onClick }: PageAddButtonProps) => {
const isPageHeaderV2Enabled = useIsFeatureEnabled(
'IS_PAGE_HEADER_V2_ENABLED',
);
return (
<>
{isPageHeaderV2Enabled ? (
<Button
Icon={IconPlus}
dataTestId="add-button"
size="small"
variant="secondary"
accent="default"
title="New record"
onClick={onClick}
ariaLabel="New record"
/>
) : (
<IconButton
Icon={IconPlus}
dataTestId="add-button"
size="medium"
variant="secondary"
accent="default"
ariaLabel="Add"
onClick={onClick}
/>
)}
</>
);
};

View File

@ -17,6 +17,7 @@ import { NavigationDrawerCollapseButton } from '@/ui/navigation/navigation-drawe
import { isNavigationDrawerExpandedState } from '@/ui/navigation/states/isNavigationDrawerExpanded';
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
export const PAGE_BAR_MIN_HEIGHT = 40;
@ -111,6 +112,10 @@ export const PageHeader = ({
isNavigationDrawerExpandedState,
);
const isPageHeaderV2Enabled = useIsFeatureEnabled(
'IS_PAGE_HEADER_V2_ENABLED',
);
return (
<StyledTopBarContainer>
<StyledLeftContainer>
@ -129,6 +134,24 @@ export const PageHeader = ({
)}
<StyledTopBarIconStyledTitleContainer>
{!isPageHeaderV2Enabled && hasPaginationButtons && (
<>
<IconButton
Icon={IconChevronUp}
size="small"
variant="secondary"
disabled={!hasPreviousRecord}
onClick={() => navigateToPreviousRecord?.()}
/>
<IconButton
Icon={IconChevronDown}
size="small"
variant="secondary"
disabled={!hasNextRecord}
onClick={() => navigateToNextRecord?.()}
/>
</>
)}
{Icon && <Icon size={theme.icon.size.md} />}
{title && (
<StyledTitleContainer data-testid="top-bar-title">
@ -143,7 +166,7 @@ export const PageHeader = ({
</StyledLeftContainer>
<StyledPageActionContainer>
{hasPaginationButtons && (
{isPageHeaderV2Enabled && hasPaginationButtons && (
<>
<IconButton
Icon={IconChevronUp}