ai-stories-factory / src /lib /oauth /usePersistedOAuth.ts
jbilcke-hf's picture
jbilcke-hf HF staff
add login
58379d0
raw
history blame
696 Bytes
"use client"
import { useLocalStorage } from "usehooks-ts"
import { OAuthResult } from "@huggingface/hub"
import { localStorageHuggingFaceOAuthKey } from "@/app/config"
import { getValidOAuth } from "./getValidOAuth"
export function usePersistedOAuth(): [OAuthResult | undefined, (oauthResult: OAuthResult) => void] {
const [serializedHuggingFaceOAuth, setSerializedHuggingFaceOAuth] = useLocalStorage<string>(
localStorageHuggingFaceOAuthKey,
""
)
const oauthResult = getValidOAuth(serializedHuggingFaceOAuth)
const setOAuthResult = (oauthResult: OAuthResult) => {
setSerializedHuggingFaceOAuth(JSON.stringify(oauthResult))
}
return [oauthResult, setOAuthResult]
}