1
Fork 0
mirror of https://github.com/Steffo99/festa.git synced 2024-12-23 07:04:22 +00:00
festa/components/postcard/changer.tsx
2022-07-16 16:06:07 +02:00

33 lines
711 B
TypeScript

import { useEffect } from "react"
import { useDefinedContext } from "../../utils/definedContext"
import { PostcardContext, PostcardSource } from "./base"
/**
* Use the passed src as {@link PostcardSource} for the wrapping {@link PostcardContext}.
*/
export function usePostcardImage(src: PostcardSource) {
const { setSrc } = useDefinedContext(PostcardContext)
useEffect(
() => {
setSrc(src)
},
[src, setSrc]
)
}
export type PostcardProps = {
src: PostcardSource
}
/**
* The same as {@link usePostcardImage}, but as a component rendering `null`.
*/
export function Postcard(props: PostcardProps) {
usePostcardImage(props.src)
return null
}