"use client"; //=========================================== // THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY UNLESS YOU ALSO EDIT THE CORRESPONDING FILE IN packages/template //=========================================== import { CurrentUserCrud } from "@hexclave/shared/dist/interface/crud/current-user"; import { globalVar } from "@hexclave/shared/dist/utils/globals"; import React, { useEffect } from "react"; import { useStackApp } from "../lib/hooks"; import { StackClientApp, StackClientAppJson, hexclaveAppInternalsSymbol } from "../lib/hexclave-app"; import { HexclaveContext } from "./hexclave-context"; export function HexclaveProviderClient(props: { app: StackClientAppJson | StackClientApp, serialized: boolean, children?: React.ReactNode, }) { const app = props.serialized ? StackClientApp[hexclaveAppInternalsSymbol].fromClientJson(props.app as StackClientAppJson) : props.app as StackClientApp; globalVar.__STACK_AUTH__ = { app }; return ( {props.children} ); } export function UserSetter(props: { userJsonPromise: Promise }) { const app = useStackApp(); useEffect(() => { const promise = (async () => await props.userJsonPromise)(); // there is a Next.js bug where Promises passed by server components return `undefined` as their `then` value, so wrap it in a normal promise app[hexclaveAppInternalsSymbol].setCurrentUser(promise); }, []); return null; }