jbilcke-hf's picture
jbilcke-hf HF staff
let's use @aitube/clap inside AiTube
0d218b1
raw
history blame
754 Bytes
"use client"
import { useEffect, useState } from "react";
import { ClapProject, ClapSegment } from "@aitube/clap";
import { resolveSegment } from "./resolveSegment";
export function LatentComponent({
segment,
clap
}: {
segment: ClapSegment,
clap: ClapProject
}): JSX.Element {
const [component, setComponent] = useState<JSX.Element | null>(null)
const [isInitialized, setInitialized] = useState(false)
const [isLoaded, setLoaded] = useState(false)
useEffect(() => {
if (isInitialized) { return }
setInitialized(true)
const fn = async () => {
const component = await resolveSegment(segment, clap)
setComponent(component)
}
fn()
return () => {}
}, [isInitialized])
return <>{component}</>
}