# Menu Syncs each step of left menu actions with redis backend. ```typescript // Create the menu hook using the factory const useContextMenu = createContextHook({ endpoint: "/context/page/menu", contextName: "menu", extractAvailableItems: (data) => data.selectionList || [], enablePeriodicRefresh: false, }); // Custom hook for menu data with the expected interface interface UseMenuResult { menuData: ClientMenu | null; availableApplications: string[]; isLoading: boolean; error: string | null; refreshMenu: () => Promise; updateMenu: (newMenu: ClientMenu) => Promise; } // Wrapper hook that adapts the generic hook to the expected interface export function useMenu(): UseMenuResult { const { data, availableItems, isLoading, error, refresh, update } = useContextMenu(); return { menuData: data, availableApplications: availableItems, isLoading, error, refreshMenu: refresh, updateMenu: update, }; } export { checkContextPageMenu, setContextPageMenu }; ```