Files
yaak-mountain-loop/src-web/hooks/useSyncWorkspaceChildModels.ts
2025-03-31 11:56:17 -07:00

18 lines
564 B
TypeScript

import { changeModelStoreWorkspace } from '@yaakapp-internal/models';
import { useEffect } from 'react';
import { jotaiStore } from '../lib/jotai';
import { activeWorkspaceIdAtom } from './useActiveWorkspace';
export function useSyncWorkspaceChildModels() {
useEffect(() => {
const unsub = jotaiStore.sub(activeWorkspaceIdAtom, sync);
sync().catch(console.error);
return unsub;
}, []);
}
async function sync() {
const workspaceId = jotaiStore.get(activeWorkspaceIdAtom) ?? null;
changeModelStoreWorkspace(workspaceId).catch(console.error);
}