sanity
Version:
Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches
30 lines (25 loc) • 683 B
text/typescript
import {useMemo} from 'react'
import {ARCHIVED_RELEASE_STATES} from '../util/const'
import {type ReleaseDocument} from './types'
import {useAllReleases} from './useAllReleases'
/**
* @internal
*/
export function useArchivedReleases(): {
data: ReleaseDocument[]
error?: Error
loading: boolean
} {
const {data: releases, error, loading} = useAllReleases()
const archivedReleases = useMemo(
() =>
Array.from(releases.values()).filter((release) => {
return ARCHIVED_RELEASE_STATES.includes(release.state)
}),
[releases],
)
return useMemo(
() => ({data: archivedReleases, error, loading}),
[archivedReleases, error, loading],
)
}