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'); + }} + > + isDefined(recordGroupFieldMetadata) ? onContentChange('recordGroups') - : onContentChange('recordGroupFields'); - }} - > - - isDefined(recordGroupFieldMetadata) - ? onContentChange('recordGroups') - : onContentChange('recordGroupFields') - } - LeftIcon={IconLayoutList} - text={t`Group`} - contextualText={recordGroupFieldMetadata?.label} - hasSubMenu - /> - - - { + : 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, }),