import { __, _x, sprintf } from '@wordpress/i18n' import React, { Fragment, useId, useMemo } from 'react' import { useRestAPI } from '../../../hooks/useRestAPI' import { useSnippetsList } from '../../../hooks/useSnippetsList' import { handleUnknownError } from '../../../utils/errors' import { REST_BASES } from '../../../utils/restAPI' import { buildUrl } from '../../../utils/urls' import { SubmitButton } from '../../common/SubmitButton' import { SearchArea } from './SnippetsTableSearch' import { useFilteredSnippets } from './WithFilteredSnippetsContext' import { INDEX_STATUS, useSnippetsFilters } from './WithSnippetsTableFilters' import type { Snippet } from '../../../types/Snippet' import type { SnippetStatus } from './WithSnippetsTableFilters' const STATUS_LABELS: [SnippetStatus, string][] = [ ['all', __('All', 'code-snippets')], ['active', __('Active', 'code-snippets')], ['inactive', __('Inactive', 'code-snippets')], ['recently_active', __('Recently Active', 'code-snippets')], ['locked', __('Locked', 'code-snippets')], ['unlocked', __('Unlocked', 'code-snippets')], ['trashed', __('Trashed', 'code-snippets')] ] const SnippetStatusCounts = () => { const { currentStatus, setCurrentStatus } = useSnippetsFilters() const { snippetsByStatus } = useFilteredSnippets() const visibleStatuses = STATUS_LABELS.filter(([status]) => snippetsByStatus.has(status) && ('unlocked' !== status || snippetsByStatus.has('locked'))) return (