summaryrefslogtreecommitdiff
path: root/makima/frontend/src/hooks/useDirectives.ts
diff options
context:
space:
mode:
Diffstat (limited to 'makima/frontend/src/hooks/useDirectives.ts')
-rw-r--r--makima/frontend/src/hooks/useDirectives.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/makima/frontend/src/hooks/useDirectives.ts b/makima/frontend/src/hooks/useDirectives.ts
index 001cf89..af1c8c6 100644
--- a/makima/frontend/src/hooks/useDirectives.ts
+++ b/makima/frontend/src/hooks/useDirectives.ts
@@ -5,6 +5,7 @@ import {
createDirective,
updateDirective,
deleteDirective,
+ startDirective as startDirectiveApi,
type DirectiveSummary,
type DirectiveWithChains,
type CreateDirectiveRequest,
@@ -90,6 +91,23 @@ export function useDirectives() {
[fetchDirectives]
);
+ const startDirective = useCallback(
+ async (id: string): Promise<boolean> => {
+ setError(null);
+ try {
+ await startDirectiveApi(id);
+ await fetchDirectives();
+ return true;
+ } catch (e) {
+ setError(
+ e instanceof Error ? e.message : "Failed to start directive"
+ );
+ return false;
+ }
+ },
+ [fetchDirectives]
+ );
+
// Initial fetch
useEffect(() => {
fetchDirectives();
@@ -104,5 +122,6 @@ export function useDirectives() {
saveDirective,
editDirective,
removeDirective,
+ startDirective,
};
}