@@ -8,7 +8,7 @@ import React, {useRef, useState} from "react";
88import "./ActionsDock.scss" ;
99import { ThemeProvider } from "@mui/material" ;
1010import { darkTheme } from "../../../../utils" ;
11- import { BinFull , FloppyDiskArrowIn , FloppyDiskArrowOut , Settings as SettingsIcon , HelpCircle as Docs } from "iconoir-react" ;
11+ import { BinFull , FloppyDiskArrowIn , FloppyDiskArrowOut , Settings as SettingsIcon , HelpCircle as Docs , OffTag } from "iconoir-react" ;
1212import { BaseDialog } from "../../../BaseDialog" ;
1313import { DockItem } from "../DockItem" ;
1414import { Settings } from "./components/Settings" ;
@@ -41,6 +41,20 @@ export function ActionsDock ({onSave, onLoad, onClear}: WorkflowActionsProps) {
4141 }
4242 } ;
4343
44+ const handleCloseApp = async ( ) => {
45+ if ( isTauri ( ) ) {
46+ try {
47+ const { invoke} = await import ( '@tauri-apps/api/core' ) ;
48+
49+ await invoke ( 'kill_backend_process' ) ;
50+
51+ const { Window} = await import ( '@tauri-apps/api/window' ) ;
52+
53+ await Window . getCurrent ( ) . close ( ) ;
54+ } catch { /* empty */ }
55+ }
56+ } ;
57+
4458 return (
4559 < ThemeProvider theme = { darkTheme } >
4660 < div className = "actions-dock" >
@@ -53,6 +67,7 @@ export function ActionsDock ({onSave, onLoad, onClear}: WorkflowActionsProps) {
5367 >
5468 < Settings />
5569 </ BaseDialog >
70+ { isTauri ( ) && < DockItem title = "Close App" icon = { < OffTag /> } onClick = { handleCloseApp } /> }
5671 < DockItem title = "Open Documentation" icon = { < Docs /> } onClick = { handleOpenDocs } />
5772 < DockItem title = "Save workflow" icon = { < FloppyDiskArrowIn /> } onClick = { onSave } />
5873 < DockItem title = "Clear workflow" icon = { < BinFull /> } onClick = { onClear } />
0 commit comments