Files
tkmind_go/ui/desktop/src/components/RecipeParamsModalContainer.tsx
T
2026-06-22 23:05:19 +00:00

31 lines
920 B
TypeScript

import React, { useSyncExternalStore } from 'react';
import {
cancelAcpRecipeParamRequest,
getAcpRecipeParamRequestsSnapshot,
resolveAcpRecipeParamRequest,
subscribeAcpRecipeParamRequests,
} from '../acp/recipeParamRequests';
import type { Parameter } from '../recipe';
import ParameterInputModal from './ParameterInputModal';
export default function RecipeParamsModalContainer(): React.ReactElement | null {
const requests = useSyncExternalStore(
subscribeAcpRecipeParamRequests,
getAcpRecipeParamRequestsSnapshot
);
const request = requests[0];
if (!request) {
return null;
}
return (
<ParameterInputModal
key={request.id}
parameters={request.parameters as Parameter[]}
initialValues={request.initialValues}
onSubmit={(values) => resolveAcpRecipeParamRequest(request.id, values)}
onClose={() => cancelAcpRecipeParamRequest(request.id)}
/>
);
}