/home/vianto5/heredit.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/heredit.mx/wp-content/plugins/code-snippets/js/hooks/useSnippetsList.tsx (1467B)
import React, { useCallback, useEffect, useState } from 'react' import { createContextHook } from '../utils/bootstrap' import { isNetworkAdmin } from '../utils/screen' import { parseSnippetObject } from '../utils/snippets/objects' import { useSnippetsAPI } from './useSnippetsAPI' import type { PropsWithChildren } from 'react' import type { Snippet } from '../types/Snippet' export interface SnippetsListContext { snippetsList: readonly Snippet[] | undefined refreshSnippetsList: () => Promise } const [Context, useSnippetsList] = createContextHook('useSnippetsList') export const WithSnippetsListContext: React.FC = ({ children }) => { const { fetchAll } = useSnippetsAPI() const [snippetsList, setSnippetsList] = useState( () => window.CODE_SNIPPETS_MANAGE?.snippetsList?.map(parseSnippetObject) ) const refreshSnippetsList = useCallback(async (): Promise => { try { console.info('Fetching snippets list') const response = await fetchAll(isNetworkAdmin()) setSnippetsList(response) } catch (error: unknown) { console.error('Error fetching snippets list', error) } }, [fetchAll]) useEffect(() => { refreshSnippetsList() .catch(() => undefined) }, [refreshSnippetsList]) const value: SnippetsListContext = { snippetsList, refreshSnippetsList } return {children} } export { useSnippetsList }