834 Design Adjustments for the Record Page Breadcrumb (#11670)
# Design Adjustments for the Record Page Breadcrumb Closes [834](https://github.com/twentyhq/core-team-issues/issues/834) and [826](https://github.com/twentyhq/core-team-issues/issues/826) ## Description - Added the breadcrumb to every object (not just the workflows) - Fixed spacings - Changed icon color from primary to tertiary for proper visual hierarchy - Displayed pagination information (current/total) - Close button has been removed to simplify the UI - Navigate to index page when the breadcrumb is clicked - Fixed problems when two record title cells were displayed at the same time (in the header and in the record page) ## Before <img width="247" alt="Capture d’écran 2025-04-22 à 12 15 34" src="https://github.com/user-attachments/assets/5ca2aca7-ffb0-49ea-8d3a-4bd621d78f8d" /> ## After <img width="233" alt="Capture d’écran 2025-04-22 à 12 15 06" src="https://github.com/user-attachments/assets/cbcb5dfe-d616-47c9-8017-71dd4d388534" />
This commit is contained in:
@ -1,8 +1,5 @@
|
||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||
import { getObjectMetadataIdentifierFields } from '@/object-metadata/utils/getObjectMetadataIdentifierFields';
|
||||
import { ObjectRecordShowPageBreadcrumb } from '@/object-record/record-show/components/ObjectRecordShowPageBreadcrumb';
|
||||
import { useRecordShowContainerTabs } from '@/object-record/record-show/hooks/useRecordShowContainerTabs';
|
||||
import { useRecordShowPage } from '@/object-record/record-show/hooks/useRecordShowPage';
|
||||
import { useRecordShowPagePagination } from '@/object-record/record-show/hooks/useRecordShowPagePagination';
|
||||
import { PageHeader } from '@/ui/layout/page/components/PageHeader';
|
||||
|
||||
@ -15,40 +12,24 @@ export const RecordShowPageHeader = ({
|
||||
objectRecordId: string;
|
||||
children?: React.ReactNode;
|
||||
}) => {
|
||||
const { viewName, navigateToIndexView, objectMetadataItem } =
|
||||
useRecordShowPagePagination(objectNameSingular, objectRecordId);
|
||||
|
||||
const { headerIcon } = useRecordShowPage(objectNameSingular, objectRecordId);
|
||||
|
||||
const { layout } = useRecordShowContainerTabs(
|
||||
false,
|
||||
objectNameSingular as CoreObjectNameSingular,
|
||||
false,
|
||||
objectMetadataItem,
|
||||
const { objectMetadataItem } = useRecordShowPagePagination(
|
||||
objectNameSingular,
|
||||
objectRecordId,
|
||||
);
|
||||
|
||||
const hasEditableName = layout.hideSummaryAndFields === true;
|
||||
|
||||
const { labelIdentifierFieldMetadataItem } =
|
||||
getObjectMetadataIdentifierFields({ objectMetadataItem });
|
||||
|
||||
return (
|
||||
<PageHeader
|
||||
title={
|
||||
hasEditableName ? (
|
||||
<ObjectRecordShowPageBreadcrumb
|
||||
objectNameSingular={objectNameSingular}
|
||||
objectRecordId={objectRecordId}
|
||||
objectLabelPlural={objectMetadataItem.labelPlural}
|
||||
labelIdentifierFieldMetadataItem={labelIdentifierFieldMetadataItem}
|
||||
/>
|
||||
) : (
|
||||
viewName
|
||||
)
|
||||
<ObjectRecordShowPageBreadcrumb
|
||||
objectNameSingular={objectNameSingular}
|
||||
objectRecordId={objectRecordId}
|
||||
objectLabelPlural={objectMetadataItem.labelPlural}
|
||||
labelIdentifierFieldMetadataItem={labelIdentifierFieldMetadataItem}
|
||||
/>
|
||||
}
|
||||
hasClosePageButton
|
||||
onClosePage={navigateToIndexView}
|
||||
Icon={headerIcon}
|
||||
>
|
||||
{children}
|
||||
</PageHeader>
|
||||
|
||||
Reference in New Issue
Block a user