diff --git a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownLayoutContent.tsx b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownLayoutContent.tsx
index 940db0ddf02..81c2cb2225d 100644
--- a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownLayoutContent.tsx
+++ b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownLayoutContent.tsx
@@ -1,6 +1,5 @@
import { OBJECT_OPTIONS_DROPDOWN_ID } from '@/object-record/object-options-dropdown/constants/ObjectOptionsDropdownId';
import { useObjectOptionsDropdown } from '@/object-record/object-options-dropdown/hooks/useObjectOptionsDropdown';
-import { useObjectOptionsForBoard } from '@/object-record/object-options-dropdown/hooks/useObjectOptionsForBoard';
import { useSetViewTypeFromLayoutOptionsMenu } from '@/object-record/object-options-dropdown/hooks/useSetViewTypeFromLayoutOptionsMenu';
import { recordGroupFieldMetadataComponentState } from '@/object-record/record-group/states/recordGroupFieldMetadataComponentState';
import { recordIndexCalendarLayoutState } from '@/object-record/record-index/states/recordIndexCalendarLayoutState';
@@ -16,12 +15,15 @@ import { SelectableListItem } from '@/ui/layout/selectable-list/components/Selec
import { selectedItemIdComponentState } from '@/ui/layout/selectable-list/states/selectedItemIdComponentState';
import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue';
import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly';
+import { useUpdateCurrentView } from '@/views/hooks/useUpdateCurrentView';
+import { type GraphQLView } from '@/views/types/GraphQLView';
import { ViewOpenRecordInType } from '@/views/types/ViewOpenRecordInType';
import { ViewType, viewTypeIconMapping } from '@/views/types/ViewType';
import { useGetAvailableFieldsForCalendar } from '@/views/view-picker/hooks/useGetAvailableFieldsForCalendar';
import { useGetAvailableFieldsForKanban } from '@/views/view-picker/hooks/useGetAvailableFieldsForKanban';
import { useFeatureFlagsMap } from '@/workspace/hooks/useFeatureFlagsMap';
import { useLingui } from '@lingui/react/macro';
+import { useCallback } from 'react';
import { useRecoilValue } from 'recoil';
import { isDefined } from 'twenty-shared/utils';
import {
@@ -40,22 +42,24 @@ import { FeatureFlagKey, ViewCalendarLayout } from '~/generated/graphql';
export const ObjectOptionsDropdownLayoutContent = () => {
const { t } = useLingui();
+
+ const { objectMetadataItem, resetContent, onContentChange, dropdownId } =
+ useObjectOptionsDropdown();
+
const { currentView } = useGetCurrentViewOnly();
+ const { updateCurrentView } = useUpdateCurrentView();
- const {
- recordIndexId,
- objectMetadataItem,
- resetContent,
- onContentChange,
- dropdownId,
- } = useObjectOptionsDropdown();
+ const isCompactModeActive = currentView?.isCompact ?? false;
- const { isCompactModeActive, setAndPersistIsCompactModeActive } =
- useObjectOptionsForBoard({
- objectNameSingular: objectMetadataItem.nameSingular,
- recordBoardId: recordIndexId,
- viewBarId: recordIndexId,
- });
+ const setAndPersistIsCompactModeActive = useCallback(
+ (isCompactModeActive: boolean, view: GraphQLView | undefined) => {
+ if (!view) return;
+ updateCurrentView({
+ isCompact: isCompactModeActive,
+ });
+ },
+ [updateCurrentView],
+ );
const recordIndexOpenRecordIn = useRecoilValue(recordIndexOpenRecordInState);
const recordIndexCalendarLayout = useRecoilValue(
@@ -116,10 +120,11 @@ export const ObjectOptionsDropdownLayoutContent = () => {
...(isDefaultView ? [] : [ViewType.Kanban]),
...(!isDefaultView && hasCalendarViewEnabled ? [ViewType.Calendar] : []),
ViewOpenRecordInType.SIDE_PANEL,
- ...(currentView?.type === ViewType.Kanban ? ['Group', 'Compact view'] : []),
+ ...(currentView?.type === ViewType.Kanban ? ['Group'] : []),
...(currentView?.type === ViewType.Calendar
? ['CalendarView', 'CalendarDateField']
: []),
+ ...(currentView?.type !== ViewType.Table ? ['Compact view'] : []),
];
const selectedItemId = useRecoilComponentValue(
@@ -273,53 +278,52 @@ export const ObjectOptionsDropdownLayoutContent = () => {
/>
{currentView?.type === ViewType.Kanban && (
- <>
- {
+ {
+ isDefined(recordGroupFieldMetadata)
+ ? onContentChange('recordGroups')
+ : onContentChange('recordGroupFields');
+ }}
+ >
+
-
- {
+ : onContentChange('recordGroupFields')
+ }
+ LeftIcon={IconLayoutList}
+ text={t`Group`}
+ contextualText={recordGroupFieldMetadata?.label}
+ hasSubMenu
+ />
+
+ )}
+ {currentView?.type !== ViewType.Table && (
+ {
+ setAndPersistIsCompactModeActive(
+ !isCompactModeActive,
+ currentView,
+ );
+ }}
+ >
+
setAndPersistIsCompactModeActive(
!isCompactModeActive,
currentView,
- );
- }}
- >
-
- setAndPersistIsCompactModeActive(
- !isCompactModeActive,
- currentView,
- )
- }
- toggled={isCompactModeActive}
- text={t`Compact view`}
- toggleSize="small"
- />
-
- >
+ )
+ }
+ toggled={isCompactModeActive}
+ text={t`Compact view`}
+ toggleSize="small"
+ />
+
)}
diff --git a/packages/twenty-front/src/modules/object-record/object-options-dropdown/hooks/useObjectOptionsForBoard.ts b/packages/twenty-front/src/modules/object-record/object-options-dropdown/hooks/useObjectOptionsForBoard.ts
index 188fccb2b14..49be00f25f7 100644
--- a/packages/twenty-front/src/modules/object-record/object-options-dropdown/hooks/useObjectOptionsForBoard.ts
+++ b/packages/twenty-front/src/modules/object-record/object-options-dropdown/hooks/useObjectOptionsForBoard.ts
@@ -4,7 +4,6 @@ import { useRecoilState } from 'recoil';
import { useColumnDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/useColumnDefinitionsFromFieldMetadata';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
-import { isRecordBoardCompactModeActiveComponentState } from '@/object-record/record-board/states/isRecordBoardCompactModeActiveComponentState';
import { useReorderVisibleRecordFields } from '@/object-record/record-field/hooks/useReorderVisibleRecordFields';
import { useUpdateRecordField } from '@/object-record/record-field/hooks/useUpdateRecordField';
import { useUpsertRecordField } from '@/object-record/record-field/hooks/useUpsertRecordField';
@@ -13,11 +12,8 @@ import { type RecordField } from '@/object-record/record-field/types/RecordField
import { type FieldMetadata } from '@/object-record/record-field/ui/types/FieldMetadata';
import { recordIndexFieldDefinitionsState } from '@/object-record/record-index/states/recordIndexFieldDefinitionsState';
import { type ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition';
-import { useRecoilComponentState } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentState';
import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue';
import { useSaveCurrentViewFields } from '@/views/hooks/useSaveCurrentViewFields';
-import { useUpdateCurrentView } from '@/views/hooks/useUpdateCurrentView';
-import { type GraphQLView } from '@/views/types/GraphQLView';
import { mapRecordFieldToViewField } from '@/views/utils/mapRecordFieldToViewField';
import { produce } from 'immer';
import { findByProperty, isDefined } from 'twenty-shared/utils';
@@ -39,12 +35,6 @@ export const useObjectOptionsForBoard = ({
useRecoilState(recordIndexFieldDefinitionsState);
const { saveViewFields } = useSaveCurrentViewFields();
- const { updateCurrentView } = useUpdateCurrentView();
-
- const [isCompactModeActive, setIsCompactModeActive] = useRecoilComponentState(
- isRecordBoardCompactModeActiveComponentState,
- recordBoardId,
- );
const { objectMetadataItem } = useObjectMetadataItem({
objectNameSingular,
@@ -252,23 +242,10 @@ export const useObjectOptionsForBoard = ({
],
);
- const setAndPersistIsCompactModeActive = useCallback(
- (isCompactModeActive: boolean, view: GraphQLView | undefined) => {
- if (!view) return;
- setIsCompactModeActive(isCompactModeActive);
- updateCurrentView({
- isCompact: isCompactModeActive,
- });
- },
- [setIsCompactModeActive, updateCurrentView],
- );
-
return {
handleReorderBoardFields,
handleBoardFieldVisibilityChange,
visibleBoardFields,
hiddenBoardFields,
- isCompactModeActive,
- setAndPersistIsCompactModeActive,
};
};
diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCard.tsx b/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCard.tsx
index 246941eef3a..d3af0c4293e 100644
--- a/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCard.tsx
+++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCard.tsx
@@ -5,7 +5,6 @@ import { RecordBoardCardContext } from '@/object-record/record-board/record-boar
import { isRecordBoardCardActiveComponentFamilyState } from '@/object-record/record-board/states/isRecordBoardCardActiveComponentFamilyState';
import { isRecordBoardCardFocusedComponentFamilyState } from '@/object-record/record-board/states/isRecordBoardCardFocusedComponentFamilyState';
import { isRecordBoardCardSelectedComponentFamilyState } from '@/object-record/record-board/states/isRecordBoardCardSelectedComponentFamilyState';
-import { isRecordBoardCompactModeActiveComponentState } from '@/object-record/record-board/states/isRecordBoardCompactModeActiveComponentState';
import { useRecordDragState } from '@/object-record/record-drag/shared/hooks/useRecordDragState';
import { useActiveRecordBoardCard } from '@/object-record/record-board/hooks/useActiveRecordBoardCard';
@@ -26,8 +25,8 @@ import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/com
import { useRecoilComponentFamilyState } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyState';
import { useRecoilComponentFamilyValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyValue';
import { useRecoilComponentState } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentState';
-import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue';
import { useSetRecoilComponentState } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentState';
+import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly';
import styled from '@emotion/styled';
import { useContext } from 'react';
import { InView, useInView } from 'react-intersection-observer';
@@ -82,9 +81,9 @@ export const RecordBoardCard = () => {
multiDragState.originalSelection.includes(recordId) &&
recordId !== multiDragState.primaryDraggedRecordId;
- const isCompactModeActive = useRecoilComponentValue(
- isRecordBoardCompactModeActiveComponentState,
- );
+ const { currentView } = useGetCurrentViewOnly();
+
+ const isCompactModeActive = currentView?.isCompact ?? false;
const [isCardExpanded, setIsCardExpanded] = useRecoilComponentState(
recordBoardCardIsExpandedComponentState,
diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCardHeader.tsx b/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCardHeader.tsx
index 0d8a880616d..04126dcfe5b 100644
--- a/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCardHeader.tsx
+++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCardHeader.tsx
@@ -2,7 +2,6 @@ import { RecordBoardContext } from '@/object-record/record-board/contexts/Record
import { useRecordBoardSelection } from '@/object-record/record-board/hooks/useRecordBoardSelection';
import { RecordBoardCardContext } from '@/object-record/record-board/record-board-card/contexts/RecordBoardCardContext';
import { isRecordBoardCardSelectedComponentFamilyState } from '@/object-record/record-board/states/isRecordBoardCardSelectedComponentFamilyState';
-import { isRecordBoardCompactModeActiveComponentState } from '@/object-record/record-board/states/isRecordBoardCompactModeActiveComponentState';
import { RecordChip } from '@/object-record/components/RecordChip';
import { useActiveRecordBoardCard } from '@/object-record/record-board/hooks/useActiveRecordBoardCard';
@@ -15,7 +14,7 @@ import { recordIndexOpenRecordInState } from '@/object-record/record-index/state
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
import { useRecoilComponentFamilyState } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyState';
import { useRecoilComponentState } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentState';
-import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue';
+import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly';
import { ViewOpenRecordInType } from '@/views/types/ViewOpenRecordInType';
import styled from '@emotion/styled';
import { useContext } from 'react';
@@ -50,9 +49,9 @@ export const RecordBoardCardHeader = () => {
const { activateBoardCard } = useActiveRecordBoardCard(recordBoardId);
const { unfocusBoardCard } = useFocusedRecordBoardCard(recordBoardId);
- const isCompactModeActive = useRecoilComponentValue(
- isRecordBoardCompactModeActiveComponentState,
- );
+ const { currentView } = useGetCurrentViewOnly();
+
+ const isCompactModeActive = currentView?.isCompact ?? false;
const [isCardExpanded, setIsCardExpanded] = useRecoilComponentState(
recordBoardCardIsExpandedComponentState,
diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnCardsContainer.tsx b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnCardsContainer.tsx
index 6d4e13b5b72..1893a1db2a2 100644
--- a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnCardsContainer.tsx
+++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnCardsContainer.tsx
@@ -9,10 +9,10 @@ import { RecordBoardColumnFetchMoreLoader } from '@/object-record/record-board/r
import { RecordBoardColumnNewRecordButton } from '@/object-record/record-board/record-board-column/components/RecordBoardColumnNewRecordButton';
import { RecordBoardColumnContext } from '@/object-record/record-board/record-board-column/contexts/RecordBoardColumnContext';
import { getNumberOfCardsPerColumnForSkeletonLoading } from '@/object-record/record-board/record-board-column/utils/getNumberOfCardsPerColumnForSkeletonLoading';
-import { isRecordBoardCompactModeActiveComponentState } from '@/object-record/record-board/states/isRecordBoardCompactModeActiveComponentState';
import { visibleRecordFieldsComponentSelector } from '@/object-record/record-field/states/visibleRecordFieldsComponentSelector';
import { isRecordIndexBoardColumnLoadingFamilyState } from '@/object-record/states/isRecordBoardColumnLoadingFamilyState';
import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue';
+import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly';
const StyledColumnCardsContainer = styled.div`
display: flex;
@@ -58,9 +58,9 @@ export const RecordBoardColumnCardsContainer = ({
const numberOfFields = visibleRecordFields.length;
- const isCompactModeActive = useRecoilComponentValue(
- isRecordBoardCompactModeActiveComponentState,
- );
+ const { currentView } = useGetCurrentViewOnly();
+
+ const isCompactModeActive = currentView?.isCompact ?? false;
return (
({
- key: 'isRecordBoardCompactModeActiveComponentState',
- defaultValue: false,
- componentInstanceContext: RecordBoardComponentInstanceContext,
- });
diff --git a/packages/twenty-front/src/modules/object-record/record-calendar/month/components/RecordCalendarMonthBodyDay.tsx b/packages/twenty-front/src/modules/object-record/record-calendar/month/components/RecordCalendarMonthBodyDay.tsx
index 3cfaa3c034b..d9e718c207b 100644
--- a/packages/twenty-front/src/modules/object-record/record-calendar/month/components/RecordCalendarMonthBodyDay.tsx
+++ b/packages/twenty-front/src/modules/object-record/record-calendar/month/components/RecordCalendarMonthBodyDay.tsx
@@ -38,6 +38,7 @@ const StyledDayHeader = styled.div<{ isToday: boolean }>`
padding: ${({ theme }) => theme.spacing(1)} ${({ theme }) => theme.spacing(1)};
font-size: ${({ theme }) => theme.font.size.sm};
+ margin-bottom: ${({ theme }) => theme.spacing(0.5)};
${({ isToday, theme }) =>
isToday &&
css`
@@ -51,6 +52,7 @@ const StyledDayHeader = styled.div<{ isToday: boolean }>`
const StyledCardsContainer = styled.div`
display: flex;
flex-direction: column;
+ gap: ${({ theme }) => theme.spacing(0.5)};
`;
type RecordCalendarMonthBodyDayProps = {
diff --git a/packages/twenty-front/src/modules/object-record/record-calendar/record-calendar-card/components/RecordCalendarCard.tsx b/packages/twenty-front/src/modules/object-record/record-calendar/record-calendar-card/components/RecordCalendarCard.tsx
index bbb91d80741..89e3f127d1b 100644
--- a/packages/twenty-front/src/modules/object-record/record-calendar/record-calendar-card/components/RecordCalendarCard.tsx
+++ b/packages/twenty-front/src/modules/object-record/record-calendar/record-calendar-card/components/RecordCalendarCard.tsx
@@ -5,14 +5,15 @@ import { RecordCalendarCardHeader } from '@/object-record/record-calendar/record
import { RecordCalendarCardComponentInstanceContext } from '@/object-record/record-calendar/record-calendar-card/states/contexts/RecordCalendarCardComponentInstanceContext';
import { RecordCard } from '@/object-record/record-card/components/RecordCard';
import { useOpenRecordFromIndexView } from '@/object-record/record-index/hooks/useOpenRecordFromIndexView';
+import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly';
import styled from '@emotion/styled';
+import { AnimatedEaseInOut } from 'twenty-ui/utilities';
const StyledContainer = styled.div`
display: flex;
`;
const StyledRecordCard = styled(RecordCard)`
- margin-bottom: ${({ theme }) => theme.spacing(1)};
width: calc(100% - 2px);
`;
@@ -23,6 +24,10 @@ type RecordCalendarCardProps = {
export const RecordCalendarCard = ({ recordId }: RecordCalendarCardProps) => {
const { openRecordFromIndexView } = useOpenRecordFromIndexView();
+ const { currentView } = useGetCurrentViewOnly();
+
+ const isCompactModeActive = currentView?.isCompact ?? false;
+
const handleCardClick = () => {
openRecordFromIndexView({ recordId });
};
@@ -36,10 +41,12 @@ export const RecordCalendarCard = ({ recordId }: RecordCalendarCardProps) => {
-
+
+
+
diff --git a/packages/twenty-front/src/modules/object-record/record-calendar/record-calendar-card/components/RecordCalendarCardHeader.tsx b/packages/twenty-front/src/modules/object-record/record-calendar/record-calendar-card/components/RecordCalendarCardHeader.tsx
index 8888739146a..2a35dbda197 100644
--- a/packages/twenty-front/src/modules/object-record/record-calendar/record-calendar-card/components/RecordCalendarCardHeader.tsx
+++ b/packages/twenty-front/src/modules/object-record/record-calendar/record-calendar-card/components/RecordCalendarCardHeader.tsx
@@ -3,6 +3,7 @@ import { StopPropagationContainer } from '@/object-record/record-board/record-bo
import { useRecordCalendarContextOrThrow } from '@/object-record/record-calendar/contexts/RecordCalendarContext';
import { RecordCardHeaderContainer } from '@/object-record/record-card/components/RecordCardHeaderContainer';
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
+import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly';
import styled from '@emotion/styled';
import { useRecoilValue } from 'recoil';
@@ -30,12 +31,16 @@ export const RecordCalendarCardHeader = ({
const { objectMetadataItem } = useRecordCalendarContextOrThrow();
const record = useRecoilValue(recordStoreFamilyState(recordId));
+ const { currentView } = useGetCurrentViewOnly();
+
+ const isCompactModeActive = currentView?.isCompact ?? false;
+
if (!isDefined(record)) {
return null;
}
return (
-
+
{
- const recordIndexIsCompactModeActive = useRecoilValue(
- recordIndexIsCompactModeActiveState,
- );
-
const selectedRecordIds = useRecoilComponentValue(
recordBoardSelectedRecordIdsComponentSelector,
recordBoardId,
);
- const setIsCompactModeActive = useSetRecoilComponentState(
- isRecordBoardCompactModeActiveComponentState,
- recordBoardId,
- );
-
- useEffect(() => {
- setIsCompactModeActive(recordIndexIsCompactModeActive);
- }, [recordIndexIsCompactModeActive, setIsCompactModeActive]);
-
const setContextStoreTargetedRecords = useSetRecoilComponentState(
contextStoreTargetedRecordsRuleComponentState,
);
diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexStates.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexStates.ts
index 74429d8da32..6aeb5d4ad05 100644
--- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexStates.ts
+++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexStates.ts
@@ -7,7 +7,6 @@ import { type FieldMetadata } from '@/object-record/record-field/ui/types/FieldM
import { useSetRecordGroups } from '@/object-record/record-group/hooks/useSetRecordGroups';
import { recordIndexCalendarFieldMetadataIdState } from '@/object-record/record-index/states/recordIndexCalendarFieldMetadataIdState';
import { recordIndexFieldDefinitionsState } from '@/object-record/record-index/states/recordIndexFieldDefinitionsState';
-import { recordIndexIsCompactModeActiveState } from '@/object-record/record-index/states/recordIndexIsCompactModeActiveState';
import { recordIndexKanbanAggregateOperationState } from '@/object-record/record-index/states/recordIndexKanbanAggregateOperationState';
import { recordIndexKanbanFieldMetadataIdState } from '@/object-record/record-index/states/recordIndexKanbanFieldMetadataIdState';
import { recordIndexOpenRecordInState } from '@/object-record/record-index/states/recordIndexOpenRecordInState';
@@ -29,9 +28,6 @@ export const useLoadRecordIndexStates = () => {
const setContextStoreTargetedRecordsRuleComponentState =
useSetRecoilComponentState(contextStoreTargetedRecordsRuleComponentState);
- const setRecordIndexIsCompactModeActive = useSetRecoilState(
- recordIndexIsCompactModeActiveState,
- );
const setRecordIndexViewType = useSetRecoilState(recordIndexViewTypeState);
const setRecordIndexOpenRecordIn = useSetRecoilState(
recordIndexOpenRecordInState,
@@ -204,7 +200,6 @@ export const useLoadRecordIndexStates = () => {
: view.kanbanAggregateOperation,
fieldMetadataId: view.kanbanAggregateOperationFieldMetadataId,
});
- setRecordIndexIsCompactModeActive(view.isCompact);
},
[
onViewFieldsChange,
@@ -215,7 +210,6 @@ export const useLoadRecordIndexStates = () => {
setRecordIndexViewKanbanFieldMetadataIdState,
setRecordIndexCalendarFieldMetadataIdState,
setRecordIndexViewKanbanAggregateOperationState,
- setRecordIndexIsCompactModeActive,
],
);
diff --git a/packages/twenty-front/src/modules/object-record/record-index/states/recordIndexIsCompactModeActiveState.ts b/packages/twenty-front/src/modules/object-record/record-index/states/recordIndexIsCompactModeActiveState.ts
deleted file mode 100644
index c35992af767..00000000000
--- a/packages/twenty-front/src/modules/object-record/record-index/states/recordIndexIsCompactModeActiveState.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { createState } from 'twenty-ui/utilities';
-export const recordIndexIsCompactModeActiveState = createState({
- key: 'recordIndexIsCompactModeActiveState',
- defaultValue: false,
-});
diff --git a/packages/twenty-front/src/modules/views/utils/convertUpdateViewInputToCore.ts b/packages/twenty-front/src/modules/views/utils/convertUpdateViewInputToCore.ts
index f2c7068f68d..ab689dad2aa 100644
--- a/packages/twenty-front/src/modules/views/utils/convertUpdateViewInputToCore.ts
+++ b/packages/twenty-front/src/modules/views/utils/convertUpdateViewInputToCore.ts
@@ -23,7 +23,7 @@ export const convertUpdateViewInputToCore = (
...(view.name && { name: view.name }),
...(view.icon && { icon: view.icon }),
...(view.position && { position: view.position }),
- ...(view.isCompact && { isCompact: view.isCompact }),
+ ...(isDefined(view.isCompact) && { isCompact: view.isCompact }),
...(view.kanbanAggregateOperation && {
kanbanAggregateOperation: view.kanbanAggregateOperation,
}),