c596a5e342
## Description Promotes the next-gen UI library (formerly `twenty-new-ui`) to the name **`twenty-ui`** (v0.1.0, publishable) and renames the old package to **`twenty-ui-deprecated`**. Rewrites ~1,730 `twenty-ui` imports → `twenty-ui-deprecated`, updates all configs/CI/Docker/deps, and migrates twenty-front's `Toggle` to the new package (first consumer) as a drop-in. ## Next steps - Wire the `ui/v*` publish dispatch (`cd-deploy-tag.yaml` + `.yarnrc.yml`), then tag `ui/v0.1.0` to publish. - Continue migrating components from `twenty-ui-deprecated` → `twenty-ui`.
64 lines
1.9 KiB
TypeScript
64 lines
1.9 KiB
TypeScript
import { useNavigateSidePanel } from '@/side-panel/hooks/useNavigateSidePanel';
|
|
import { viewableRecordIdComponentState } from '@/side-panel/pages/record-page/states/viewableRecordIdComponentState';
|
|
import { t } from '@lingui/core/macro';
|
|
import { useCallback } from 'react';
|
|
import { SidePanelPages } from 'twenty-shared/types';
|
|
import { IconCalendarEvent } from 'twenty-ui-deprecated/display';
|
|
import { v4 } from 'uuid';
|
|
import { useStore } from 'jotai';
|
|
|
|
export const useOpenCalendarEventInSidePanel = () => {
|
|
const store = useStore();
|
|
const { navigateSidePanel } = useNavigateSidePanel();
|
|
|
|
const openCalendarEventInSidePanel = useCallback(
|
|
(calendarEventId: string) => {
|
|
const pageComponentInstanceId = v4();
|
|
|
|
store.set(
|
|
viewableRecordIdComponentState.atomFamily({
|
|
instanceId: pageComponentInstanceId,
|
|
}),
|
|
calendarEventId,
|
|
);
|
|
|
|
// TODO: Uncomment this once we need to calendar event title in the navigation
|
|
// const objectMetadataItem = snapshot
|
|
// .getLoadable(objectMetadataItemsSelector)
|
|
// .getValue()
|
|
// .find(
|
|
// ({ nameSingular }) =>
|
|
// nameSingular === CoreObjectNameSingular.CalendarEvent,
|
|
// );
|
|
|
|
// set(
|
|
// commandMenuNavigationMorphItemsState,
|
|
// new Map([
|
|
// ...snapshot
|
|
// .getLoadable(commandMenuNavigationMorphItemsState)
|
|
// .getValue(),
|
|
// [
|
|
// pageComponentInstanceId,
|
|
// {
|
|
// objectMetadataId: objectMetadataItem?.id,
|
|
// recordId: calendarEventId,
|
|
// },
|
|
// ],
|
|
// ]),
|
|
// );
|
|
|
|
navigateSidePanel({
|
|
page: SidePanelPages.ViewCalendarEvent,
|
|
pageTitle: t`Calendar Event`,
|
|
pageIcon: IconCalendarEvent,
|
|
pageId: pageComponentInstanceId,
|
|
});
|
|
},
|
|
[navigateSidePanel, store],
|
|
);
|
|
|
|
return {
|
|
openCalendarEventInSidePanel,
|
|
};
|
|
};
|