ff3f1d945c
**Feature** - Improved Options Menu for Default View **Closes** - #13306 **Description** This PR fixes the feature request of Better Options in the Default View. Added the option of Create a Custom View in the Options, this helps user create custom views. **Working Demo** https://github.com/user-attachments/assets/32a3f264-c4a0-42aa-9257-56a407ea3c6e --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import { useOpenDropdown } from '@/ui/layout/dropdown/hooks/useOpenDropdown';
|
|
import { useSetRecoilComponentState } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentState';
|
|
import { type View } from '@/views/types/View';
|
|
import { VIEW_PICKER_DROPDOWN_ID } from '@/views/view-picker/constants/ViewPickerDropdownId';
|
|
import { useViewPickerMode } from '@/views/view-picker/hooks/useViewPickerMode';
|
|
import { viewPickerReferenceViewIdComponentState } from '@/views/view-picker/states/viewPickerReferenceViewIdComponentState';
|
|
|
|
import { isDefined } from 'twenty-shared/utils';
|
|
|
|
export const useOpenCreateViewDropdown = (viewBardId?: string) => {
|
|
const setViewPickerReferenceViewId = useSetRecoilComponentState(
|
|
viewPickerReferenceViewIdComponentState,
|
|
viewBardId,
|
|
);
|
|
|
|
const { setViewPickerMode } = useViewPickerMode(viewBardId);
|
|
|
|
const { openDropdown } = useOpenDropdown();
|
|
|
|
const openCreateViewDropdown = (referenceView: View | undefined) => {
|
|
if (isDefined(referenceView?.id)) {
|
|
setViewPickerReferenceViewId(referenceView.id);
|
|
setViewPickerMode('create-empty');
|
|
openDropdown({
|
|
dropdownComponentInstanceIdFromProps: VIEW_PICKER_DROPDOWN_ID,
|
|
});
|
|
}
|
|
};
|
|
|
|
return { openCreateViewDropdown };
|
|
};
|