import type { Environment } from '@yaakapp/api'; import { atom, useAtom } from 'jotai/index'; import { useEffect } from 'react'; import { invokeCmd } from '../lib/tauri'; import { useActiveWorkspace } from './useActiveWorkspace'; export const environmentsAtom = atom([]); export function useEnvironments() { const [items, setItems] = useAtom(environmentsAtom); const workspace = useActiveWorkspace(); // Fetch new requests when workspace changes useEffect(() => { if (workspace == null) return; invokeCmd('cmd_list_environments', { workspaceId: workspace.id }).then(setItems); }, [setItems, workspace]); return items; }