Scaffold Fields widget edition (#17548)

https://github.com/user-attachments/assets/960b8b0d-10e8-42a1-bf61-e875359ea302

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Devessier <29370468+Devessier@users.noreply.github.com>
Co-authored-by: Devessier <baptiste@devessier.fr>
This commit is contained in:
Copilot
2026-02-03 15:56:41 +00:00
committed by GitHub
parent 66d7182d02
commit 43042d55b2
23 changed files with 681 additions and 139 deletions
@@ -10,6 +10,7 @@ import { isDefined } from 'twenty-shared/utils';
import {
IconAppWindow,
IconFrame,
IconList,
IconPlus,
type IconComponent,
} from 'twenty-ui/display';
@@ -149,6 +150,37 @@ export const usePageLayoutHeaderInfo = ({
};
}
case CommandMenuPages.PageLayoutFieldsSettings:
case CommandMenuPages.PageLayoutFieldsLayout: {
if (!isDefined(pageLayoutEditingWidgetId)) {
return null;
}
const widgetInEditMode = draftPageLayout.tabs
.flatMap((tab) => tab.widgets)
.find((widget) => widget.id === pageLayoutEditingWidgetId);
if (!isDefined(widgetInEditMode)) {
return null;
}
const title = isDefined(editedTitle)
? editedTitle
: isDefined(widgetInEditMode.title) && widgetInEditMode.title !== ''
? widgetInEditMode.title
: '';
return {
headerIcon: IconList,
headerIconColor: iconColor,
headerType: t`Fields Widget`,
title,
isReadonly: false,
tab: undefined,
widgetInEditMode,
};
}
case CommandMenuPages.PageLayoutWidgetTypeSelect: {
return {
headerIcon: IconPlus,