From 885da4f798878c54092f90b9af92ed8f7588b457 Mon Sep 17 00:00:00 2001 From: Pauline Date: Mon, 16 Sep 2024 01:43:41 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pauline --- apps/desktop/src/api/commands/mod.rs | 6 ++---- apps/desktop/src/api/commands/package.rs | 14 ++++++++------ apps/frontend/src/ui/components/WindowFrame.tsx | 4 ++-- apps/frontend/src/ui/components/base/Button.tsx | 4 ++-- apps/frontend/src/ui/components/base/Dropdown.tsx | 2 +- .../frontend/src/ui/components/base/SelectList.tsx | 4 ++-- apps/frontend/src/ui/components/base/TextField.tsx | 4 ++-- .../src/ui/components/content/ProviderIcon.tsx | 2 +- .../frontend/src/ui/components/game/LoaderIcon.tsx | 2 +- .../frontend/src/ui/components/game/PlayerHead.tsx | 2 +- .../src/ui/components/overlay/ContextMenu.tsx | 2 +- .../components/overlay/account/AddAccountModal.tsx | 2 +- .../overlay/cluster/ClusterCreationModal.tsx | 2 +- .../overlay/cluster/ClusterGameSetup.tsx | 2 +- .../overlay/cluster/ClusterProviderSelection.tsx | 2 +- apps/frontend/src/ui/pages/browser/BrowserMain.tsx | 2 +- .../src/ui/pages/cluster/ClusterOverview.tsx | 4 ++-- .../ui/pages/settings/game/SettingsAccounts.tsx | 4 ++-- .../ui/pages/settings/game/SettingsMinecraft.tsx | 2 +- apps/frontend/src/utils/index.ts | 6 +++--- packages/client/src/types/index.ts | 13 ------------- packages/client/src/utils/sorting.ts | 2 +- packages/core/src/api/package/content/mod.rs | 4 +++- packages/core/src/utils/window.rs | 6 +++--- packages/scripts/tauri.ts | 2 +- 25 files changed, 44 insertions(+), 55 deletions(-) diff --git a/apps/desktop/src/api/commands/mod.rs b/apps/desktop/src/api/commands/mod.rs index b967572b..c96fbe48 100644 --- a/apps/desktop/src/api/commands/mod.rs +++ b/apps/desktop/src/api/commands/mod.rs @@ -1,8 +1,7 @@ use interpulse::api::minecraft::Version; use onelauncher::data::Settings; use onelauncher::settings; -use tauri::AppHandle; -use tauri::Manager; +use tauri::{AppHandle, Manager}; mod cluster; pub use crate::api::commands::cluster::*; @@ -109,6 +108,5 @@ pub async fn set_settings(settings: Settings) -> Result<(), String> { #[tauri::command] pub fn set_window_style(handle: AppHandle, custom: bool) -> Result<(), String> { let window = handle.get_webview_window("main").unwrap(); - onelauncher::utils::window::set_window_styling(&window, custom) - .map_err(|e| e.to_string()) + onelauncher::utils::window::set_window_styling(&window, custom).map_err(|e| e.to_string()) } diff --git a/apps/desktop/src/api/commands/package.rs b/apps/desktop/src/api/commands/package.rs index e50a9dc5..54697604 100644 --- a/apps/desktop/src/api/commands/package.rs +++ b/apps/desktop/src/api/commands/package.rs @@ -9,16 +9,18 @@ use uuid::Uuid; #[specta::specta] #[tauri::command] -pub async fn import_launcher_instances(launcher: ImportType, path: Option) -> Result<(), String> { +pub async fn import_launcher_instances( + launcher: ImportType, + path: Option, +) -> Result<(), String> { onelauncher::api::package::import::import_instances( launcher, path.unwrap_or( default_launcher_path(launcher) - .ok_or( - "couldn't get a default path for this launcher" - )? - ) - ).await?; + .ok_or("couldn't get a default path for this launcher")?, + ), + ) + .await?; Ok(()) } diff --git a/apps/frontend/src/ui/components/WindowFrame.tsx b/apps/frontend/src/ui/components/WindowFrame.tsx index 3e1a3a87..8a9631d6 100644 --- a/apps/frontend/src/ui/components/WindowFrame.tsx +++ b/apps/frontend/src/ui/components/WindowFrame.tsx @@ -1,13 +1,13 @@ +import type { ComponentProps, JSX } from 'solid-js'; import { Window } from '@tauri-apps/api/window'; import { ChevronLeftIcon, Maximize02Icon, MinusIcon, XCloseIcon } from '@untitled-theme/icons-solid'; import useSettings from '~ui/hooks/useSettings'; import { onMount, Show } from 'solid-js'; -import type { JSX } from 'solid-js'; import Button from './base/Button'; import Modal, { createModal } from './overlay/Modal'; interface TitlebarButtonProps { - icon: (any: any) => JSX.Element; + icon: (props: ComponentProps<'svg'>) => JSX.Element; onClick: (event: MouseEvent) => void; danger?: boolean; } diff --git a/apps/frontend/src/ui/components/base/Button.tsx b/apps/frontend/src/ui/components/base/Button.tsx index 9aef52aa..38624da8 100644 --- a/apps/frontend/src/ui/components/base/Button.tsx +++ b/apps/frontend/src/ui/components/base/Button.tsx @@ -1,5 +1,5 @@ -import { createEffect, createSignal, mergeProps, on, splitProps, untrack } from 'solid-js'; import type { Accessor, JSX, ParentProps } from 'solid-js'; +import { createEffect, createSignal, mergeProps, on, splitProps, untrack } from 'solid-js'; import styles from './Button.module.scss'; type ButtonProps = JSX.ButtonHTMLAttributes & ParentProps & { @@ -24,7 +24,7 @@ function Button(props: ButtonProps) { type ButtonToggleProps = ButtonProps & { checked?: Accessor; - onChecked?: (checked: boolean) => any; + onChecked?: (checked: boolean) => void; }; Button.Toggle = (props: ButtonToggleProps) => { diff --git a/apps/frontend/src/ui/components/base/Dropdown.tsx b/apps/frontend/src/ui/components/base/Dropdown.tsx index fd4ff0c0..fd30ab8f 100644 --- a/apps/frontend/src/ui/components/base/Dropdown.tsx +++ b/apps/frontend/src/ui/components/base/Dropdown.tsx @@ -6,7 +6,7 @@ import Button from './Button'; import styles from './Dropdown.module.scss'; export type DropdownProps = Omit, 'onChange'> & { - onChange?: (selected: number) => any; + onChange?: (selected: number) => void; text?: string; selected?: Accessor; dropdownClass?: string; diff --git a/apps/frontend/src/ui/components/base/SelectList.tsx b/apps/frontend/src/ui/components/base/SelectList.tsx index e3882567..42c25d43 100644 --- a/apps/frontend/src/ui/components/base/SelectList.tsx +++ b/apps/frontend/src/ui/components/base/SelectList.tsx @@ -6,7 +6,7 @@ type SelectListContextHelpers = Signal; const SelectListContext = createContext() as Context; function SelectListContextProvider(props: ParentProps & { - onChanged?: ((index: number | undefined) => any) | undefined; + onChanged?: ((index: number | undefined) => void) | undefined; }) { const [selected, setSelected] = createSignal(); @@ -26,7 +26,7 @@ function useSelectListContext() { } export type SelectListProps = Omit, 'onChange'> & { - onChange?: (index: number | undefined) => any; + onChange?: (index: number | undefined) => void; }; function SelectList(props: SelectListProps) { diff --git a/apps/frontend/src/ui/components/base/TextField.tsx b/apps/frontend/src/ui/components/base/TextField.tsx index 6f702295..5d82ec67 100644 --- a/apps/frontend/src/ui/components/base/TextField.tsx +++ b/apps/frontend/src/ui/components/base/TextField.tsx @@ -6,8 +6,8 @@ type TextFieldProps = { iconLeft?: JSX.Element; iconRight?: JSX.Element; inputFilter?: (value: string) => boolean; - onValidInput?: (value: string) => any; - onValidSubmit?: (value: string) => any; + onValidInput?: (value: string) => void; + onValidSubmit?: (value: string) => void; labelClass?: string; } & JSX.InputHTMLAttributes; diff --git a/apps/frontend/src/ui/components/content/ProviderIcon.tsx b/apps/frontend/src/ui/components/content/ProviderIcon.tsx index 4c16a8be..b112319a 100644 --- a/apps/frontend/src/ui/components/content/ProviderIcon.tsx +++ b/apps/frontend/src/ui/components/content/ProviderIcon.tsx @@ -1,6 +1,6 @@ +import type { ManagedPackage, Providers } from '@onelauncher/client/bindings'; import ModrinthImage from '~assets/logos/modrinth.svg?component-solid'; import { type Component, type JSX, Match, Show, splitProps, Switch } from 'solid-js'; -import type { ManagedPackage, Providers } from '@onelauncher/client/bindings'; export function getProviderLogoElement(provider: ManagedPackage | Providers): string | Component { const providerName = (typeof provider === 'string' ? provider : provider.provider)?.toLowerCase() as Lowercase; diff --git a/apps/frontend/src/ui/components/game/LoaderIcon.tsx b/apps/frontend/src/ui/components/game/LoaderIcon.tsx index 9b598583..105ce51e 100644 --- a/apps/frontend/src/ui/components/game/LoaderIcon.tsx +++ b/apps/frontend/src/ui/components/game/LoaderIcon.tsx @@ -1,9 +1,9 @@ +import type { Cluster, Loader } from '@onelauncher/client/bindings'; import FabricImage from '~assets/logos/fabric.png'; import ForgeImage from '~assets/logos/forge.png'; import QuiltImage from '~assets/logos/quilt.png'; import VanillaImage from '~assets/logos/vanilla.png'; import { type JSX, splitProps } from 'solid-js'; -import type { Cluster, Loader } from '@onelauncher/client/bindings'; export function getLoaderLogoSrc(loader: Cluster | Loader): string { const loaderName = (typeof loader === 'string' ? loader : loader.meta.loader)?.toLowerCase() as Loader; diff --git a/apps/frontend/src/ui/components/game/PlayerHead.tsx b/apps/frontend/src/ui/components/game/PlayerHead.tsx index 3e07b064..fbf7ee77 100644 --- a/apps/frontend/src/ui/components/game/PlayerHead.tsx +++ b/apps/frontend/src/ui/components/game/PlayerHead.tsx @@ -4,7 +4,7 @@ import steveSrc from '../../../assets/images/steve.png'; type PlayerHeadProps = JSX.IntrinsicElements['img'] & { uuid: string | null | undefined; - onError?: () => any; + onError?: () => void; }; function headSrc(uuid: string) { diff --git a/apps/frontend/src/ui/components/overlay/ContextMenu.tsx b/apps/frontend/src/ui/components/overlay/ContextMenu.tsx index fab82a98..464f353c 100644 --- a/apps/frontend/src/ui/components/overlay/ContextMenu.tsx +++ b/apps/frontend/src/ui/components/overlay/ContextMenu.tsx @@ -52,7 +52,7 @@ ContextMenu.Seperator = function () { interface ContextMenuRowProps { icon: JSX.Element; text: string; - onClick?: (e: MouseEvent) => any; + onClick?: (e: MouseEvent) => void; } ContextMenu.Row = function (props: ContextMenuRowProps) { diff --git a/apps/frontend/src/ui/components/overlay/account/AddAccountModal.tsx b/apps/frontend/src/ui/components/overlay/account/AddAccountModal.tsx index a880827d..f4334662 100644 --- a/apps/frontend/src/ui/components/overlay/account/AddAccountModal.tsx +++ b/apps/frontend/src/ui/components/overlay/account/AddAccountModal.tsx @@ -85,7 +85,7 @@ enum ModalStage { } interface AddAccountModalProps extends ModalProps { - refetch: () => any; + refetch: () => void; } function AddAccountModal(p: AddAccountModalProps) { diff --git a/apps/frontend/src/ui/components/overlay/cluster/ClusterCreationModal.tsx b/apps/frontend/src/ui/components/overlay/cluster/ClusterCreationModal.tsx index a45c232b..4d850ef5 100644 --- a/apps/frontend/src/ui/components/overlay/cluster/ClusterCreationModal.tsx +++ b/apps/frontend/src/ui/components/overlay/cluster/ClusterCreationModal.tsx @@ -16,7 +16,7 @@ export enum CreationStage { } type PartialCluster = Partial; -type PartialClusterUpdateFunc = (key: K, value: PartialCluster[K]) => any; +type PartialClusterUpdateFunc = (key: K, value: PartialCluster[K]) => void; interface ClusterModalController { step: Accessor; diff --git a/apps/frontend/src/ui/components/overlay/cluster/ClusterGameSetup.tsx b/apps/frontend/src/ui/components/overlay/cluster/ClusterGameSetup.tsx index 3387b901..1eaadab1 100644 --- a/apps/frontend/src/ui/components/overlay/cluster/ClusterGameSetup.tsx +++ b/apps/frontend/src/ui/components/overlay/cluster/ClusterGameSetup.tsx @@ -74,7 +74,7 @@ type VersionReleaseFilters = { [key in VersionType]: boolean; }; -function VersionSelector(props: { setVersion: (version: string) => any }) { +function VersionSelector(props: { setVersion: (version: string) => void }) { const [versions] = useCommand(() => bridge.commands.getMinecraftVersions()); const [filteredVersions, setFilteredVersions] = createSignal([]); const [filters, setFilters] = createSignal({ diff --git a/apps/frontend/src/ui/components/overlay/cluster/ClusterProviderSelection.tsx b/apps/frontend/src/ui/components/overlay/cluster/ClusterProviderSelection.tsx index 1832d84f..5d177237 100644 --- a/apps/frontend/src/ui/components/overlay/cluster/ClusterProviderSelection.tsx +++ b/apps/frontend/src/ui/components/overlay/cluster/ClusterProviderSelection.tsx @@ -63,7 +63,7 @@ function ClusterProviderSelection(props: ClusterStepProps) { interface ProviderCardProps { icon: JSX.Element; name: string; - setSelected: () => any; + setSelected: () => void; selected: boolean; }; diff --git a/apps/frontend/src/ui/pages/browser/BrowserMain.tsx b/apps/frontend/src/ui/pages/browser/BrowserMain.tsx index 9b1f0885..cd601ad0 100644 --- a/apps/frontend/src/ui/pages/browser/BrowserMain.tsx +++ b/apps/frontend/src/ui/pages/browser/BrowserMain.tsx @@ -1,10 +1,10 @@ +import type { ManagedPackage } from '@onelauncher/client/bindings'; import { ChevronRightIcon } from '@untitled-theme/icons-solid'; import OneConfigLogo from '~assets/logos/oneconfig.svg?component-solid'; import Button from '~ui/components/base/Button'; import SearchResultsContainer from '~ui/components/content/SearchResults'; import useBrowser from '~ui/hooks/useBrowser'; import { onMount, Show } from 'solid-js'; -import type { ManagedPackage } from '@onelauncher/client/bindings'; import { BrowserContent } from './BrowserRoot'; function BrowserMain() { diff --git a/apps/frontend/src/ui/pages/cluster/ClusterOverview.tsx b/apps/frontend/src/ui/pages/cluster/ClusterOverview.tsx index c8b524f1..32f3736f 100644 --- a/apps/frontend/src/ui/pages/cluster/ClusterOverview.tsx +++ b/apps/frontend/src/ui/pages/cluster/ClusterOverview.tsx @@ -201,8 +201,8 @@ function ClusterOverview() { } interface SaveModalProps extends ModalProps { - save: () => any; - dontSave: () => any; + save: () => void; + dontSave: () => void; } function SaveModal(p: SaveModalProps) { diff --git a/apps/frontend/src/ui/pages/settings/game/SettingsAccounts.tsx b/apps/frontend/src/ui/pages/settings/game/SettingsAccounts.tsx index 18381599..00b7fa6d 100644 --- a/apps/frontend/src/ui/pages/settings/game/SettingsAccounts.tsx +++ b/apps/frontend/src/ui/pages/settings/game/SettingsAccounts.tsx @@ -66,8 +66,8 @@ interface AccountRowProps { username: string; uuid: string; current?: boolean; - onClick: (uuid: string) => any; - onDelete: (uuid: string) => any; + onClick: (uuid: string) => void; + onDelete: (uuid: string) => void; }; function AccountRow(props: AccountRowProps) { diff --git a/apps/frontend/src/ui/pages/settings/game/SettingsMinecraft.tsx b/apps/frontend/src/ui/pages/settings/game/SettingsMinecraft.tsx index 9104fcdc..5b539025 100644 --- a/apps/frontend/src/ui/pages/settings/game/SettingsMinecraft.tsx +++ b/apps/frontend/src/ui/pages/settings/game/SettingsMinecraft.tsx @@ -27,7 +27,7 @@ interface CreateSetting { getRaw: () => T; set: Setter; isGlobal: Accessor; - resetToFallback: (raw?: any) => void; + resetToFallback: (raw?: T) => void; }; export function createSetting(initial: T | undefined | null, fallback?: T): CreateSetting { diff --git a/apps/frontend/src/utils/index.ts b/apps/frontend/src/utils/index.ts index 43caa421..932db3e7 100644 --- a/apps/frontend/src/utils/index.ts +++ b/apps/frontend/src/utils/index.ts @@ -1,12 +1,12 @@ +import type { Cluster, ImportType, License, Loader, PackageType, Providers, VersionType } from '@onelauncher/client/bindings'; import { DurationFormat } from '@formatjs/intl-durationformat'; import { open } from '@tauri-apps/plugin-shell'; -import type { Cluster, ImportType, License, Loader, PackageType, Providers, VersionType } from '@onelauncher/client/bindings'; export function setAsyncTimeout(ms: number): Promise; -export function setAsyncTimeout(callback: () => any, ms: number): Promise; +export function setAsyncTimeout(callback: () => void, ms: number): Promise; export function setAsyncTimeout( - callback: (() => any) | number, + callback: (() => void) | number, ms?: number, ): Promise { const _ms = typeof callback === 'number' ? callback : ms; diff --git a/packages/client/src/types/index.ts b/packages/client/src/types/index.ts index edcf07a4..4a83d4a2 100644 --- a/packages/client/src/types/index.ts +++ b/packages/client/src/types/index.ts @@ -1,17 +1,4 @@ import type { PROGRAM_INFO } from '../bindings'; export type ProgramInfo = typeof PROGRAM_INFO; - -export type WithIndex = T & { index: number }; export type MakeOptional = Omit & Partial>; - -type GrowToSize = A['length'] extends N ? A : GrowToSize; -export type FixedArray = GrowToSize; - -// Get size of enum as a type - https://stackoverflow.com/a/68317984/23592613 -type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; -type UnionToOvlds = UnionToIntersection void : never>; -type PopUnion = UnionToOvlds extends (a: infer A) => void ? A : never; - -export type IsUnion = [T] extends [UnionToIntersection] ? false : true; -export type UnionToArray = IsUnion extends true ? UnionToArray>, [PopUnion, ...A]> : [T, ...A]; diff --git a/packages/client/src/utils/sorting.ts b/packages/client/src/utils/sorting.ts index b0434f5f..e6f5ed15 100644 --- a/packages/client/src/utils/sorting.ts +++ b/packages/client/src/utils/sorting.ts @@ -7,7 +7,7 @@ interface CreateSortable = Sortables> { list: Accessor; key: Accessor; setList: Setter; - setKey: (val: keyof S | number) => any; + setKey: (val: keyof S | number) => void; sortables: S; } diff --git a/packages/core/src/api/package/content/mod.rs b/packages/core/src/api/package/content/mod.rs index de86887e..0acf2931 100644 --- a/packages/core/src/api/package/content/mod.rs +++ b/packages/core/src/api/package/content/mod.rs @@ -77,7 +77,9 @@ impl Providers { } if let Some(package_types) = package_types { - if package_types.contains(&PackageType::Mod) || package_types.contains(&PackageType::ModPack) { + if package_types.contains(&PackageType::Mod) + || package_types.contains(&PackageType::ModPack) + { if let Some(loaders) = loaders { for loader in loaders { builder.and(Facet( diff --git a/packages/core/src/utils/window.rs b/packages/core/src/utils/window.rs index a5579224..697effe8 100644 --- a/packages/core/src/utils/window.rs +++ b/packages/core/src/utils/window.rs @@ -9,11 +9,11 @@ pub fn set_window_styling( #[cfg(target_os = "macos")] { if custom { - win.set_title_bar_style(tauri_utils::TitleBarStyle::Overlay)?; + win.set_title_bar_style(tauri::TitleBarStyle::Overlay)?; } else { - win.set_title_bar_style(tauri_utils::TitleBarStyle::Visible)?; + win.set_title_bar_style(tauri::TitleBarStyle::Visible)?; } } Ok(()) -} \ No newline at end of file +} diff --git a/packages/scripts/tauri.ts b/packages/scripts/tauri.ts index c8d40cb1..a3a4adf8 100644 --- a/packages/scripts/tauri.ts +++ b/packages/scripts/tauri.ts @@ -66,7 +66,7 @@ try { await execa(pathe.join(env.__dirname, 'fix-deb.sh'), [], { cwd: env.__dirname }); } } -catch (error: any) { +catch (error) { consola.error(`tauri ${args[0]} failed with exit code ${typeof error === 'number' ? error : 1}`); consola.warn(`to fix some errors, run ${process.platform === 'win32' ? './packages/scripts/setup.ps1' : './packages/scripts/setup.sh'}`);