/home/vianto5/distritosatelite.mx/wp-content/plugins/code-snippets/js/hooks
NameSizeModeActions
useHorizontalScrollOverflow.ts13990644editdlrm
useRestAPI.tsx27620644editdlrm
useSelection.ts12400644editdlrm
useSnippetsAPI.tsx37510644editdlrm
useSnippetsList.tsx14670644editdlrm
useSnippetView.ts12410644editdlrm
useSubmitSnippet.tsx55370644editdlrm
Edit: /home/vianto5/distritosatelite.mx/wp-content/plugins/code-snippets/js/hooks/useSnippetView.ts (1241B)
import { useCallback, useState } from 'react' import { DEFAULT_SNIPPET_VIEW } from '../types/SnippetView' import { handleUnknownError } from '../utils/errors' import { REST_BASES } from '../utils/restAPI' import { useRestAPI } from './useRestAPI' import type { SnippetView } from '../types/SnippetView' export interface UseSnippetView { snippetView: SnippetView setSnippetView: (view: SnippetView) => void } /** * Plugin-wide snippet view preference (cards or table). * * The initial value is localized into the page, and updates are persisted * through the preferences REST endpoint so the choice survives page loads * everywhere snippet lists are displayed. The UI updates optimistically * rather than waiting for the save to complete. */ export const useSnippetView = (): UseSnippetView => { const { api } = useRestAPI() const [snippetView, setViewState] = useState( () => window.CODE_SNIPPETS?.snippetView ?? DEFAULT_SNIPPET_VIEW ) const setSnippetView = useCallback((view: SnippetView) => { setViewState(view) api.post<{ view: SnippetView }, { view: SnippetView }>(`${REST_BASES.preferences}/snippet-view`, { view }) .catch(handleUnknownError) }, [api]) return { snippetView, setSnippetView } }