Files
web/src/hooks/login.tsx
2024-12-29 19:15:04 +00:00

20 lines
514 B
TypeScript

import { useContext, useSyncExternalStore } from "react";
import { LoginState } from "../login";
import { SnortContext } from "@snort/system-react";
export default function useLogin() {
const session = useSyncExternalStore(
(c) => LoginState.hook(c),
() => LoginState.snapshot(),
);
const system = useContext(SnortContext);
return session
? {
type: session.type,
publicKey: session.publicKey,
builder: LoginState.getSigner(),
system,
}
: undefined;
}