Refactoring WindowButtons handlers

This commit is contained in:
chrox
2024-12-03 15:53:59 +01:00
parent a189cd6d4f
commit f897067683
2 changed files with 21 additions and 18 deletions
@@ -33,21 +33,6 @@ const LibraryHeader: React.FC<LibraryHeaderProps> = ({
};
}, [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 (
<div
ref={headerRef}
@@ -103,9 +88,6 @@ const LibraryHeader: React.FC<LibraryHeaderProps> = ({
showMinimize={!isTrafficLightVisible}
showMaximize={!isTrafficLightVisible}
showClose={!isTrafficLightVisible}
onMinimize={handleMinimize}
onToggleMaximize={handleToggleMaximize}
onClose={handleClose}
/>
</div>
</div>
@@ -69,21 +69,42 @@ const WindowButtons: React.FC<WindowButtonsProps> = ({
// 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();
}
};