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 (24 loc) • 761 B
text/typescript
import {useCallback} from 'react'
import useTimeZone from '../../scheduledPublishing/hooks/useTimeZone'
import {type EditableReleaseDocument} from '../store'
export const useCreateReleaseMetadata = () => {
const {zoneDateToUtc} = useTimeZone()
const createReleaseMetadata = useCallback(
(release: EditableReleaseDocument) => {
const {metadata} = release
const intendedPublishAt = metadata.intendedPublishAt
? zoneDateToUtc(new Date(metadata.intendedPublishAt)).toISOString()
: undefined
return {
...release,
metadata: {
...metadata,
intendedPublishAt,
title: metadata?.title?.trim(),
},
}
},
[zoneDateToUtc],
)
return createReleaseMetadata
}