9fe2a07c55
Adds color support for navigation menu items. --------- Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> Co-authored-by: Devessier <baptiste@devessier.fr> Co-authored-by: Charles Bochet <charles@twenty.com>
31 lines
874 B
TypeScript
31 lines
874 B
TypeScript
import { navigationMenuItemsDraftState } from '@/navigation-menu-item/states/navigationMenuItemsDraftState';
|
|
import { useSetAtomState } from '@/ui/utilities/state/jotai/hooks/useSetAtomState';
|
|
|
|
export type UpdateNavigationMenuItemInDraftUpdates = {
|
|
color?: string;
|
|
name?: string;
|
|
icon?: string;
|
|
link?: string;
|
|
};
|
|
|
|
export const useUpdateNavigationMenuItemInDraft = () => {
|
|
const setNavigationMenuItemsDraft = useSetAtomState(
|
|
navigationMenuItemsDraftState,
|
|
);
|
|
|
|
const updateNavigationMenuItemInDraft = (
|
|
navigationMenuItemId: string,
|
|
updates: UpdateNavigationMenuItemInDraftUpdates,
|
|
) => {
|
|
setNavigationMenuItemsDraft((draft) => {
|
|
if (!draft) return draft;
|
|
|
|
return draft.map((item) =>
|
|
item.id === navigationMenuItemId ? { ...item, ...updates } : item,
|
|
);
|
|
});
|
|
};
|
|
|
|
return { updateNavigationMenuItemInDraft };
|
|
};
|