From f897067683828b2ec86ca4379f5fb5701ac22fee Mon Sep 17 00:00:00 2001 From: chrox Date: Tue, 3 Dec 2024 15:53:59 +0100 Subject: [PATCH] Refactoring WindowButtons handlers --- .../app/library/components/LibraryHeader.tsx | 18 ---------------- .../src/components/WindowButtons.tsx | 21 +++++++++++++++++++ 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/apps/readest-app/src/app/library/components/LibraryHeader.tsx b/apps/readest-app/src/app/library/components/LibraryHeader.tsx index 499e9e43..b77b2b9a 100644 --- a/apps/readest-app/src/app/library/components/LibraryHeader.tsx +++ b/apps/readest-app/src/app/library/components/LibraryHeader.tsx @@ -33,21 +33,6 @@ const LibraryHeader: React.FC = ({ }; }, [onToggleSelectMode]); - const handleMinimize = async () => { - const { getCurrentWindow } = await import('@tauri-apps/api/window'); - getCurrentWindow().minimize(); - }; - - const handleToggleMaximize = async () => { - const { getCurrentWindow } = await import('@tauri-apps/api/window'); - getCurrentWindow().toggleMaximize(); - }; - - const handleClose = async () => { - const { getCurrentWindow } = await import('@tauri-apps/api/window'); - getCurrentWindow().close(); - }; - return (
= ({ showMinimize={!isTrafficLightVisible} showMaximize={!isTrafficLightVisible} showClose={!isTrafficLightVisible} - onMinimize={handleMinimize} - onToggleMaximize={handleToggleMaximize} - onClose={handleClose} />
diff --git a/apps/readest-app/src/components/WindowButtons.tsx b/apps/readest-app/src/components/WindowButtons.tsx index e8da0093..f2470364 100644 --- a/apps/readest-app/src/components/WindowButtons.tsx +++ b/apps/readest-app/src/components/WindowButtons.tsx @@ -69,21 +69,42 @@ const WindowButtons: React.FC = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + const tauriHandleMinimize = async () => { + const { getCurrentWindow } = await import('@tauri-apps/api/window'); + getCurrentWindow().minimize(); + }; + + const tauriHandleToggleMaximize = async () => { + const { getCurrentWindow } = await import('@tauri-apps/api/window'); + getCurrentWindow().toggleMaximize(); + }; + + const tauriHandleClose = async () => { + const { getCurrentWindow } = await import('@tauri-apps/api/window'); + getCurrentWindow().close(); + }; + const handleMinimize = async () => { if (onMinimize) { onMinimize(); + } else { + tauriHandleMinimize(); } }; const handleMaximize = async () => { if (onToggleMaximize) { onToggleMaximize(); + } else { + tauriHandleToggleMaximize(); } }; const handleClose = async () => { if (onClose) { onClose(); + } else { + tauriHandleClose(); } };