import type { ComponentType, JSX } from 'react';
import type { PressEvent } from 'react-aria-components';
import useSettings from '@/hooks/useSettings';
import { Button, Show } from '@onelauncher/common/components';
import { Window } from '@tauri-apps/api/window';
import { ChevronLeftIcon, Maximize02Icon, Minimize01Icon, MinusIcon, XCloseIcon } from '@untitled-theme/icons-react';
import { useEffect, useState } from 'react';
import { twMerge } from 'tailwind-merge';
function WindowFrame() {
const [isMaximized, setIsMaximized] = useState(false);
const { settings } = useSettings();
const back = () => history.back();
const minimize = () => Window.getCurrent().minimize();
const toggleMaximize = () => Window.getCurrent().toggleMaximize();
const quit = () => Window.getCurrent().close();
useEffect(() => {
let unlisten: (() => void) | undefined;
(async () => {
unlisten = await Window.getCurrent().onResized(() => {
Window.getCurrent().isMaximized().then(setIsMaximized);
});
})();
return () => unlisten?.();
}, []);
return (
);
}
export default WindowFrame;
function TitlebarButton({
icon: Icon,
onClick,
danger = false,
}: {
icon: ComponentType;
onClick: (e: PressEvent) => void;
danger?: boolean;
}) {
return (
);
}