This repository has been archived on 2023-11-14. You can view files and clone it, but cannot push or open issues/pull-requests.
viscord/packages/renderer/src/contexts/PersistentState/useSessionTokenNative.ts

23 lines
643 B
TypeScript

import { useCallback, useMemo, useState } from 'react';
import {
getSessionToken,
setSessionToken
} from '/@/lib/native';
export default function useSessionTokenNative() {
const [cachedSessionToken, setCachedSessionToken] =
useState<string | null>(getSessionToken());
const setSessionTokenCallback = useCallback((token: string | null) => {
setSessionToken(token);
setCachedSessionToken(getSessionToken());
}, [cachedSessionToken]);
return useMemo(() => {
return {
sessionToken: cachedSessionToken,
setSessionToken: setSessionTokenCallback
};
}, [cachedSessionToken, setSessionTokenCallback])
}