Files
yaak/src-web/hooks/useActiveCookieJar.ts
Gregory Schier 219a6b78da Fix cookie jar
2024-01-28 17:49:04 -08:00

30 lines
902 B
TypeScript

import { useEffect } from 'react';
import { NAMESPACE_GLOBAL } from '../lib/keyValueStore';
import { useActiveWorkspaceId } from './useActiveWorkspaceId';
import { useCookieJars } from './useCookieJars';
import { useKeyValue } from './useKeyValue';
export function useActiveCookieJar() {
const workspaceId = useActiveWorkspaceId();
const cookieJars = useCookieJars();
const kv = useKeyValue<string | null>({
namespace: NAMESPACE_GLOBAL,
key: ['activeCookieJar', workspaceId ?? 'n/a'],
defaultValue: null,
});
const activeCookieJar = cookieJars.find((cookieJar) => cookieJar.id === kv.value);
useEffect(() => {
if (!kv.isLoading && activeCookieJar == null && cookieJars.length > 0) {
kv.set(cookieJars[0]?.id ?? null);
}
}, [activeCookieJar, cookieJars, kv]);
return {
activeCookieJar: activeCookieJar ?? null,
setActiveCookieJarId: kv.set,
};
}