Add Dashboard in Lab, make Calendar available out of lab (#15560)

As per title!
This commit is contained in:
Charles Bochet
2025-11-03 15:40:26 +01:00
committed by GitHub
parent b32ab35db9
commit 20576f2ee7
18 changed files with 51 additions and 131 deletions
@@ -21,7 +21,6 @@ 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';
@@ -38,7 +37,7 @@ import {
OverflowingTextWithTooltip,
} from 'twenty-ui/display';
import { MenuItem, MenuItemSelect, MenuItemToggle } from 'twenty-ui/navigation';
import { FeatureFlagKey, ViewCalendarLayout } from '~/generated/graphql';
import { ViewCalendarLayout } from '~/generated/graphql';
export const ObjectOptionsDropdownLayoutContent = () => {
const { t } = useLingui();
@@ -113,14 +112,10 @@ export const ObjectOptionsDropdownLayoutContent = () => {
const isDefaultView = currentView?.key === 'INDEX';
const nbsp = '\u00A0';
const featureFlags = useFeatureFlagsMap();
const hasCalendarViewEnabled =
featureFlags[FeatureFlagKey.IS_CALENDAR_VIEW_ENABLED];
const selectableItemIdArray = [
ViewType.Table,
...(isDefaultView ? [] : [ViewType.Kanban]),
...(!isDefaultView && hasCalendarViewEnabled ? [ViewType.Calendar] : []),
...(!isDefaultView ? [ViewType.Calendar] : []),
ViewOpenRecordInType.SIDE_PANEL,
...(currentView?.type === ViewType.Kanban ? ['Group'] : []),
...(currentView?.type === ViewType.Calendar
@@ -172,22 +167,20 @@ export const ObjectOptionsDropdownLayoutContent = () => {
}}
/>
</SelectableListItem>
{hasCalendarViewEnabled && (
<SelectableListItem
itemId={ViewType.Calendar}
onEnter={() => {
setAndPersistViewType(ViewType.Calendar);
}}
>
<MenuItemSelect
LeftIcon={viewTypeIconMapping(ViewType.Calendar)}
text={t`Calendar`}
selected={currentView?.type === ViewType.Calendar}
focused={selectedItemId === ViewType.Calendar}
onClick={handleSelectCalendarViewType}
/>
</SelectableListItem>
)}
<SelectableListItem
itemId={ViewType.Calendar}
onEnter={() => {
setAndPersistViewType(ViewType.Calendar);
}}
>
<MenuItemSelect
LeftIcon={viewTypeIconMapping(ViewType.Calendar)}
text={t`Calendar`}
selected={currentView?.type === ViewType.Calendar}
focused={selectedItemId === ViewType.Calendar}
onClick={handleSelectCalendarViewType}
/>
</SelectableListItem>
<SelectableListItem
itemId={ViewType.Kanban}
onEnter={() => {
@@ -108,7 +108,7 @@ describe('evaluateTabVisibility', () => {
evaluateTabVisibility(
{
...baseConfig,
ifFeaturesDisabled: [FeatureFlagKey.IS_CALENDAR_VIEW_ENABLED],
ifFeaturesDisabled: [FeatureFlagKey.IS_PAGE_LAYOUT_ENABLED],
},
baseContext,
),
@@ -121,7 +121,7 @@ describe('evaluateTabVisibility', () => {
currentWorkspace: {
featureFlags: [
{ key: FeatureFlagKey.IS_AI_ENABLED, value: true },
{ key: FeatureFlagKey.IS_CALENDAR_VIEW_ENABLED, value: true },
{ key: FeatureFlagKey.IS_PAGE_LAYOUT_ENABLED, value: true },
],
},
};
@@ -129,7 +129,7 @@ describe('evaluateTabVisibility', () => {
evaluateTabVisibility(
{
...baseConfig,
ifFeaturesDisabled: [FeatureFlagKey.IS_CALENDAR_VIEW_ENABLED],
ifFeaturesDisabled: [FeatureFlagKey.IS_PAGE_LAYOUT_ENABLED],
},
ctx,
),