mirror of
https://github.com/Vomitblood/stort.git
synced 2025-03-26 08:41:00 +08:00
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { createDir, exists } from "@tauri-apps/api/fs";
|
|
import { useEffect } from "react";
|
|
import { useSettings } from "../../contexts/SettingsContext";
|
|
import Paths from "../../lib/path";
|
|
|
|
export const Initialization = () => {
|
|
const { settings, settingsLoading } = useSettings();
|
|
|
|
useEffect(() => {
|
|
const initializePaths = async () => {
|
|
try {
|
|
await Paths.initialize();
|
|
} catch (error) {
|
|
console.error(`Failed to initialize paths: ${error}`);
|
|
}
|
|
};
|
|
|
|
const createDirectories = async () => {
|
|
const configDirectoryExists = await exists(Paths.getPath("configDirectory"));
|
|
if (!configDirectoryExists) await createDir(Paths.getPath("configDirectory"));
|
|
};
|
|
|
|
const fullscreen = async () => {
|
|
const { appWindow } = await import("@tauri-apps/api/window");
|
|
await appWindow.setFullscreen(true);
|
|
};
|
|
|
|
initializePaths().then(() => createDirectories());
|
|
// TODO: race condition here, need to wait for settings to load
|
|
if (settings.window.start_fullscreen) fullscreen();
|
|
}, [settingsLoading]);
|
|
|
|
return null;
|
|
};
|