## New Company ### Before: <img width="500" alt="Capture d’écran 2025-02-17 à 16 47 54" src="https://github.com/user-attachments/assets/4573450d-14b1-41f0-9b86-24003f489fde" /> ### After: <img width="500" alt="Capture d’écran 2025-02-17 à 16 46 24" src="https://github.com/user-attachments/assets/6622bd75-900a-451b-ac21-c98bddeee32d" /> ## Task ### Before: <img width="500" alt="Capture d’écran 2025-02-17 à 16 47 35" src="https://github.com/user-attachments/assets/04b77faa-b628-4839-ab94-95c8570c1818" /> ### After: <img width="501" alt="Capture d’écran 2025-02-17 à 16 47 03" src="https://github.com/user-attachments/assets/1577dea6-7541-497e-af6e-3a4559f1a913" />
64 lines
2.2 KiB
TypeScript
64 lines
2.2 KiB
TypeScript
import { useRecoilState, useSetRecoilState } from 'recoil';
|
|
|
|
import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu';
|
|
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
|
import { viewableRecordIdState } from '@/object-record/record-right-drawer/states/viewableRecordIdState';
|
|
import { viewableRecordNameSingularState } from '@/object-record/record-right-drawer/states/viewableRecordNameSingularState';
|
|
import { useRightDrawer } from '@/ui/layout/right-drawer/hooks/useRightDrawer';
|
|
import { RightDrawerHotkeyScope } from '@/ui/layout/right-drawer/types/RightDrawerHotkeyScope';
|
|
import { RightDrawerPages } from '@/ui/layout/right-drawer/types/RightDrawerPages';
|
|
import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope';
|
|
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
|
|
import { IconList } from 'twenty-ui';
|
|
import { FeatureFlagKey } from '~/generated/graphql';
|
|
|
|
export const useOpenActivityRightDrawer = ({
|
|
objectNameSingular,
|
|
}: {
|
|
objectNameSingular: CoreObjectNameSingular;
|
|
}) => {
|
|
const { openRightDrawer, isRightDrawerOpen, rightDrawerPage } =
|
|
useRightDrawer();
|
|
const [viewableRecordId, setViewableRecordId] = useRecoilState(
|
|
viewableRecordIdState,
|
|
);
|
|
|
|
const setViewableRecordNameSingular = useSetRecoilState(
|
|
viewableRecordNameSingularState,
|
|
);
|
|
|
|
const setHotkeyScope = useSetHotkeyScope();
|
|
|
|
const isCommandMenuV2Enabled = useIsFeatureEnabled(
|
|
FeatureFlagKey.IsCommandMenuV2Enabled,
|
|
);
|
|
|
|
const { openRecordInCommandMenu } = useCommandMenu();
|
|
|
|
return (activityId: string) => {
|
|
if (
|
|
isRightDrawerOpen &&
|
|
rightDrawerPage === RightDrawerPages.ViewRecord &&
|
|
viewableRecordId === activityId
|
|
) {
|
|
return;
|
|
}
|
|
|
|
if (isCommandMenuV2Enabled) {
|
|
openRecordInCommandMenu({
|
|
recordId: activityId,
|
|
objectNameSingular,
|
|
isNewRecord: false,
|
|
});
|
|
} else {
|
|
setHotkeyScope(RightDrawerHotkeyScope.RightDrawer, { goto: false });
|
|
setViewableRecordId(activityId);
|
|
setViewableRecordNameSingular(objectNameSingular);
|
|
openRightDrawer(RightDrawerPages.ViewRecord, {
|
|
title: objectNameSingular,
|
|
Icon: IconList,
|
|
});
|
|
}
|
|
};
|
|
};
|