import { useQuery } from '@tanstack/react-query'; import { invokeCmd } from '../lib/tauri'; import { useActiveEnvironment } from './useActiveEnvironment'; import { useActiveWorkspace } from './useActiveWorkspace'; export function useRenderTemplate(template: string) { const workspaceId = useActiveWorkspace()?.id ?? 'n/a'; const environmentId = useActiveEnvironment()[0]?.id ?? null; return useQuery({ placeholderData: (prev) => prev, // Keep previous data on refetch queryKey: ['render_template', template], queryFn: () => renderTemplate({ template, workspaceId, environmentId }), }); } export async function renderTemplate({ template, workspaceId, environmentId, }: { template: string; workspaceId: string; environmentId: string | null; }): Promise { return invokeCmd('cmd_render_template', { template, workspaceId, environmentId }); }