Files
twenty/packages/twenty-front/src/modules/navigation-menu-item/hooks/useUpdateNavigationMenuItemInDraft.ts
T
Abdul Rahman 9fe2a07c55 Navbar customization v2 (#18026)
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>
2026-02-28 11:48:28 +01:00

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 };
};