diff --git a/apps/onelauncher/desktop/src/lib.rs b/apps/onelauncher/desktop/src/lib.rs index e6955510..1f025afd 100644 --- a/apps/onelauncher/desktop/src/lib.rs +++ b/apps/onelauncher/desktop/src/lib.rs @@ -54,7 +54,8 @@ async fn initialize_tauri(builder: tauri::Builder) -> LauncherResult .export_config( specta_typescript::Typescript::default() .bigint(specta_typescript::BigIntExportBehavior::BigInt) - .formatter(ext::specta::formatter), + .formatter(ext::specta::formatter) + .header("// @ts-nocheck \n"), ) .merge(api::commands::OneLauncherApiImpl.into_handler()) .merge(onelauncher_core::api::tauri::TauriLauncherApiImpl.into_handler()) diff --git a/apps/onelauncher/frontend/src/components/launcher/LoaderIcon.tsx b/apps/onelauncher/frontend/src/components/launcher/LoaderIcon.tsx index 50b2c1b3..b69ca3b9 100644 --- a/apps/onelauncher/frontend/src/components/launcher/LoaderIcon.tsx +++ b/apps/onelauncher/frontend/src/components/launcher/LoaderIcon.tsx @@ -1,4 +1,4 @@ -import type { GameLoader, Model } from '@/bindings.gen'; +import type { ClusterModel, GameLoader } from '@/bindings.gen'; import type { ImgHTMLAttributes, RefAttributes } from 'react'; import FabricImage from '@/assets/logos/loaders/fabric.png'; import ForgeImage from '@/assets/logos/loaders/forge.png'; @@ -6,7 +6,7 @@ import NeoForgeImage from '@/assets/logos/loaders/neoforge.png'; import QuiltImage from '@/assets/logos/loaders/quilt.png'; import VanillaImage from '@/assets/logos/minecraft.png'; -export function getLoaderLogoSrc(loader: Model | GameLoader): string { +export function getLoaderLogoSrc(loader: ClusterModel | GameLoader): string { const loaderName = (typeof loader === 'string' ? loader : loader.mc_loader).toLowerCase() as GameLoader; const mapping: Record = { diff --git a/apps/onelauncher/frontend/src/components/launcher/cluster/ClusterCreation.tsx b/apps/onelauncher/frontend/src/components/launcher/cluster/ClusterCreation.tsx index 0ff97b23..2dc735f7 100644 --- a/apps/onelauncher/frontend/src/components/launcher/cluster/ClusterCreation.tsx +++ b/apps/onelauncher/frontend/src/components/launcher/cluster/ClusterCreation.tsx @@ -1,4 +1,4 @@ -import type { GameLoader, IngressPayload, Version, VersionType } from '@/bindings.gen'; +import type { GameLoader, Version, VersionType } from '@/bindings.gen'; import type { JSX, RefAttributes } from 'react'; import DefaultBanner from '@/assets/images/default_banner.png'; import DefaultClusterBanner from '@/assets/images/default_instance_cover.jpg'; diff --git a/apps/onelauncher/frontend/src/components/overlay/Modal.tsx b/apps/onelauncher/frontend/src/components/overlay/Modal.tsx index fb4fa333..373490c4 100644 --- a/apps/onelauncher/frontend/src/components/overlay/Modal.tsx +++ b/apps/onelauncher/frontend/src/components/overlay/Modal.tsx @@ -1,4 +1,3 @@ -import type { ClassNameString } from '@onelauncher/common'; import type { DialogProps } from 'react-aria-components'; import { Dialog as AriaDialog, @@ -7,7 +6,7 @@ import { ModalOverlay, } from 'react-aria-components'; -interface ModalProps extends DialogProps, ClassNameString { } +interface ModalProps extends DialogProps { } function Modal({ className, ...props }: ModalProps) { return ( diff --git a/apps/onelauncher/frontend/src/components/overlay/popups/AccountPopup.tsx b/apps/onelauncher/frontend/src/components/overlay/popups/AccountPopup.tsx index 65fd6c36..8caaafc3 100644 --- a/apps/onelauncher/frontend/src/components/overlay/popups/AccountPopup.tsx +++ b/apps/onelauncher/frontend/src/components/overlay/popups/AccountPopup.tsx @@ -12,7 +12,7 @@ function AccountPopup() { const defaultUser = useCommand('getDefaultUser', () => bindings.core.getDefaultUser(false)); const setDefaultUser = (user: MinecraftCredentials) => { - bindings.commands.setDefaultUser(user.id); + bindings.core.setDefaultUser(user.id); }; return ( diff --git a/apps/onelauncher/frontend/src/hooks/useCluster.ts b/apps/onelauncher/frontend/src/hooks/useCluster.ts index eb8e44e7..3c44c542 100644 --- a/apps/onelauncher/frontend/src/hooks/useCluster.ts +++ b/apps/onelauncher/frontend/src/hooks/useCluster.ts @@ -1,17 +1,17 @@ -import type { Model } from '@/bindings.gen'; +import type { ClusterModel } from '@/bindings.gen'; import { bindings } from '@/main'; import { useCommand } from '@onelauncher/common'; import { useEffect, useState } from 'react'; function useRecentCluster() { const result = useCommand('getClusters', bindings.core.getClusters); - const [cluster, setCluster] = useState(); + const [cluster, setCluster] = useState(); useEffect(() => { if (!result.data) return; - let mostRecentCluster: Model | undefined; + let mostRecentCluster: ClusterModel | undefined; for (const c of result.data) { if (!mostRecentCluster) { diff --git a/apps/onelauncher/frontend/src/hooks/useNotification.tsx b/apps/onelauncher/frontend/src/hooks/useNotification.tsx index 3e245e70..e5bf12a0 100644 --- a/apps/onelauncher/frontend/src/hooks/useNotification.tsx +++ b/apps/onelauncher/frontend/src/hooks/useNotification.tsx @@ -1,8 +1,7 @@ -import type { UnlistenFn } from '@tauri-apps/api/event'; import type { ReactNode } from 'react'; import { bindings } from '@/main'; import { randomString } from '@/utils/index'; -import { createContext, useContext, useEffect, useState } from 'react'; +import { createContext, useContext, useState } from 'react'; export interface NotificationData { title: string; diff --git a/apps/onelauncher/frontend/src/routes/__root.tsx b/apps/onelauncher/frontend/src/routes/__root.tsx index b4fecb09..66e31747 100644 --- a/apps/onelauncher/frontend/src/routes/__root.tsx +++ b/apps/onelauncher/frontend/src/routes/__root.tsx @@ -1,4 +1,3 @@ -import type { HookReturn } from '@/hooks/useNotification'; import type { QueryClient } from '@tanstack/react-query'; import type { NavigateOptions, ToOptions } from '@tanstack/react-router'; import NotificationToasts from '@/components/overlay/NotificationToasts'; diff --git a/apps/onelauncher/frontend/src/routes/app/cluster/index.tsx b/apps/onelauncher/frontend/src/routes/app/cluster/index.tsx index b5d1debe..9c9ed814 100644 --- a/apps/onelauncher/frontend/src/routes/app/cluster/index.tsx +++ b/apps/onelauncher/frontend/src/routes/app/cluster/index.tsx @@ -9,7 +9,6 @@ import { useCommand } from '@onelauncher/common'; import { Button, Show, TextField } from '@onelauncher/common/components'; import { createFileRoute } from '@tanstack/react-router'; import { convertFileSrc } from '@tauri-apps/api/core'; -import { dataDir } from '@tauri-apps/api/path'; import { open } from '@tauri-apps/plugin-dialog'; import { Edit02Icon, FolderIcon, ImagePlusIcon, Share07Icon, Tool02Icon, Trash01Icon } from '@untitled-theme/icons-react'; import { useState } from 'react'; diff --git a/apps/onelauncher/frontend/src/routes/app/cluster/settings.tsx b/apps/onelauncher/frontend/src/routes/app/cluster/settings.tsx index e9a4c105..93f94dda 100644 --- a/apps/onelauncher/frontend/src/routes/app/cluster/settings.tsx +++ b/apps/onelauncher/frontend/src/routes/app/cluster/settings.tsx @@ -1,9 +1,7 @@ -import type { ProfileUpdate } from '@/bindings.gen'; import ScrollableContainer from '@/components/ScrollableContainer'; import usePopState from '@/hooks/usePopState'; import { bindings } from '@/main'; import { useCommand } from '@onelauncher/common'; -import { Button } from '@onelauncher/common/components'; import { createFileRoute } from '@tanstack/react-router'; import { GameSettings, ProcessSettings } from '../settings/minecraft'; import Sidebar from '../settings/route'; diff --git a/apps/onelauncher/frontend/src/routes/onboarding/login.tsx b/apps/onelauncher/frontend/src/routes/onboarding/login.tsx index 1d7f3410..0e6ab954 100644 --- a/apps/onelauncher/frontend/src/routes/onboarding/login.tsx +++ b/apps/onelauncher/frontend/src/routes/onboarding/login.tsx @@ -5,7 +5,6 @@ import { useCommand } from '@onelauncher/common'; import { Button, Show } from '@onelauncher/common/components'; import { createFileRoute } from '@tanstack/react-router'; import { useState } from 'react'; -import { useOnboardingContext } from './route'; export const Route = createFileRoute('/onboarding/login')({ component: RouteComponent, diff --git a/packages/core/src/logger.rs b/packages/core/src/logger.rs index fd0b74e2..3b52511c 100644 --- a/packages/core/src/logger.rs +++ b/packages/core/src/logger.rs @@ -41,14 +41,15 @@ pub async fn start_logger() { // This will log to a file in the logs directory, and will not show any logs in the console #[cfg(not(debug_assertions))] pub async fn start_logger() { - use chrono::Local; + use chrono::Local; use std::fs::OpenOptions; use tracing_subscriber::fmt::time::ChronoLocal; - - use crate::io::Dirs; + + use crate::store::Dirs; + use crate::store::Core; // Initialize and get logs directory path - let logs_dir = Dirs::get().await?.launcher_logs_dir(); + let logs_dir = Dirs::get_launcher_logs_dir().await.unwrap_or_default(); let log_file_name = format!("launcher_{}.log", Local::now().format("%Y%m%d_%H%M%S")); let log_file_path = logs_dir.join(log_file_name); @@ -65,7 +66,7 @@ pub async fn start_logger() { Ok(file) => file, Err(e) => { eprintln!("Could not start open log file: {e}"); - return None; + return; } }; @@ -86,7 +87,7 @@ pub async fn start_logger() { .with_ansi(false) .with_timer(ChronoLocal::rfc_3339()); - if let Some(span) = Core::get().span_formatting.clone() { + if let Some(span) = Core::get().logger_span_formatting.clone() { fmt_layer = fmt_layer.with_span_events(span); }