UNPKG

hydrogen-sanity

Version:
30 lines (25 loc) 1.03 kB
import type {ImageUrlBuilder, SanityImageSource, SanityModernClientLike} from '@sanity/image-url' import {createImageUrlBuilder} from '@sanity/image-url' import {useMemo} from 'react' import {useSanityProviderValue} from './provider' /** * Hook that returns a Sanity image URL builder configured with current provider settings. * Use this to create custom image transformations beyond `useImageUrl`. */ export function useImageUrlBuilder(): ImageUrlBuilder { const {projectId, dataset, apiHost} = useSanityProviderValue() return useMemo(() => { return createImageUrlBuilder({ config: () => ({projectId, dataset, apiHost}), } as SanityModernClientLike) }, [apiHost, dataset, projectId]) } /** * Hook that generates image URLs from Sanity image assets. * Returns a configured image URL builder for the given source. */ export function useImageUrl(source: SanityImageSource): ImageUrlBuilder { const builder = useImageUrlBuilder() return builder.image(source) } export type * from '@sanity/image-url'