Create the Dashboard record show page (#14423)

Closes https://github.com/twentyhq/core-team-issues/issues/1438

- Reorganized PageLayout module
- Created `DashboardRenderer` and `PageLayoutRenderer`
- Created stories for the `PageLayoutRenderer`
- Refactored the Widget components


https://github.com/user-attachments/assets/27e9ac8f-b237-4c21-8494-3fab6d65af3a
This commit is contained in:
Raphaël Bosi
2025-09-11 18:26:26 +02:00
committed by GitHub
parent 140b416b22
commit e80c552ae7
124 changed files with 1528 additions and 808 deletions
@@ -0,0 +1,41 @@
import { WidgetContainer } from '@/page-layout/widgets/components/WidgetContainer';
import { WidgetContentRenderer } from '@/page-layout/widgets/components/WidgetContentRenderer';
import { WidgetHeader } from '@/page-layout/widgets/components/WidgetHeader';
import { type Widget as WidgetType } from '@/page-layout/widgets/types/Widget';
import styled from '@emotion/styled';
type WidgetRendererProps = {
widget: WidgetType;
displayDragHandle?: boolean;
onEdit?: () => void;
onRemove?: () => void;
};
const StyledContent = styled.div`
align-items: center;
display: flex;
height: 100%;
width: 100%;
justify-content: center;
`;
export const WidgetRenderer = ({
widget,
displayDragHandle = false,
onEdit,
onRemove,
}: WidgetRendererProps) => {
return (
<WidgetContainer>
<WidgetHeader
displayDragHandle={displayDragHandle}
title={widget.title}
onEdit={onEdit}
onRemove={onRemove}
/>
<StyledContent>
<WidgetContentRenderer widget={widget} />
</StyledContent>
</WidgetContainer>
);
};