[feature]:Improved Options Menu for Default View (#13427)

**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>
This commit is contained in:
Priyansh Verma
2025-08-20 21:39:22 +05:30
committed by GitHub
parent f72c3d73bf
commit ff3f1d945c
7 changed files with 425 additions and 212 deletions
@@ -0,0 +1,31 @@
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 };
};