import { createRoot } from "react-dom/client";
import { HashRouter } from "react-router-dom";
import "tailwindcss/tailwind.css";
import "./index.css";
import { IpcService } from "./services/ipc.service";
import { ThemeService } from "./services/theme.service";
const launcherContainer = document.getElementById("launcher");
const oneclickDownloadMapContainer = document.getElementById("oneclick-download-map");
const oneclickDownloadPlaylistContainer = document.getElementById("oneclick-download-playlist");
const oneclickDownloadModelContainer = document.getElementById("oneclick-download-model");
const shortcutLaunchContainer = document.getElementById("shortcut-launch");
const ipc = IpcService.getInstance();
const themeService = ThemeService.getInstance();
window.onerror = (...data) => {
logRenderError(data);
};
document.addEventListener("DOMContentLoaded", () => {
themeService.theme$.subscribe(() => {
if (themeService.isDark || (themeService.isOS && window.matchMedia("(prefers-color-scheme: dark)").matches)) {
return document.documentElement.classList.add("dark");
}
document.documentElement.classList.remove("dark");
});
});
if (launcherContainer) {
import("./windows/Launcher").then(reactWindow => {
createRoot(launcherContainer).render();
});
} else if (oneclickDownloadMapContainer) {
import("./windows/OneClick/OneClickDownloadMap").then(reactWindow => {
createRoot(oneclickDownloadMapContainer).render();
});
} else if (oneclickDownloadPlaylistContainer) {
import("./windows/OneClick/OneClickDownloadPlaylist").then(reactWindow => {
createRoot(oneclickDownloadPlaylistContainer).render();
});
} else if (oneclickDownloadModelContainer) {
import("./windows/OneClick/OneClickDownloadModel").then(reactWindow => {
createRoot(oneclickDownloadModelContainer).render();
});
} else if (shortcutLaunchContainer) {
import("./windows/ShortcutLaunch").then(reactWindow => {
createRoot(shortcutLaunchContainer).render();
});
} else {
const root = document.getElementById("root");
import("./windows/App").then(reactWindow => {
createRoot(root).render(
);
});
}
export function logRenderError(...params: unknown[]){
ipc.sendLazy("log-error", { args: params });
}
export function addFilterStringLog(str: string){
ipc.sendLazy("add-filter-string", { args: str });
}
export function addFilterPatternLog(pattern: string){
ipc.sendLazy("add-filter-pattern", { args: pattern });
}