import useLocalStorage from "@saleor/hooks/useLocalStorage"; import { AppListViewSettings, defaultListSettings } from "./../config"; import { ListSettings, ListViews } from "./../types"; export interface UseListSettings { settings: ListSettings; updateListSettings: (key: keyof ListSettings, value: any) => void; } export default function useListSettings( listName: ListViews ): UseListSettings { const [settings, setListSettings] = useLocalStorage( "listConfig", defaultListSettings ); const updateListSettings = (key: keyof ListSettings, value: any) => setListSettings(settings => ({ ...settings, [listName]: { ...settings[listName], [key]: value } })); return { settings: settings[listName] as ListSettings, updateListSettings }; }