"use client";
import {
HappyOysterProvider,
HappyOysterVideo,
useHappyOyster,
} from "@reactor-models/happy-oyster/react";
function Controller() {
const { createWorld, startTravel, worldState } = useHappyOyster();
async function enter() {
await createWorld({
prompt: "A rain-slick neon alley at midnight.",
resolution: "720p",
narrative: "Dramatic",
});
await startTravel();
}
return (
<button onClick={enter}>{worldState?.phase === "ready" ? "Enter world" : "Build world"}</button>
);
}
export function App({ jwt }: { jwt: string }) {
return (
<HappyOysterProvider mode="directing" jwt={jwt} autoConnect>
<HappyOysterVideo className="aspect-video w-full" />
<Controller />
</HappyOysterProvider>
);
}