diff --git a/desktop/src/imports.ts b/desktop/src/imports.ts index 1cb37d83..3f6c8440 100644 --- a/desktop/src/imports.ts +++ b/desktop/src/imports.ts @@ -6,3 +6,5 @@ import '@fontsource/poppins/600.css'; import 'overlayscrollbars/overlayscrollbars.css'; import 'virtual:uno.css'; import './globals.css'; + +export * as bridge from './bindings'; diff --git a/desktop/src/index.tsx b/desktop/src/index.tsx index f6a1e051..dc4a4767 100644 --- a/desktop/src/index.tsx +++ b/desktop/src/index.tsx @@ -12,17 +12,15 @@ import SettingsRoot from '~ui/pages/settings/SettingsRoot'; import BrowserRoot from '~ui/pages/browser/BrowserRoot'; import { initAppInfo } from '~utils/program-info'; -export * as bridge from './bindings'; - -initAppInfo() - .then(() => { - render(() => ( - - - - } /> - } /> - } /> - - ), document.getElementById('root') as HTMLElement); - }); +(async () => { + await initAppInfo(); + render(() => ( + + + + } /> + } /> + } /> + + ), document.getElementById('root') as HTMLElement); +})(); diff --git a/desktop/src/ui/hooks/useCluster.tsx b/desktop/src/ui/hooks/useCluster.tsx index 2b85cd26..d45ee4d2 100644 --- a/desktop/src/ui/hooks/useCluster.tsx +++ b/desktop/src/ui/hooks/useCluster.tsx @@ -1,7 +1,7 @@ import { type Context, type ParentProps, type Resource, Show, createContext, useContext } from 'solid-js'; import useCommand from './useCommand'; import type { Cluster } from '~bindings'; -import { bridge } from '~index'; +import { bridge } from '~imports'; const ClusterContext = createContext() as Context; diff --git a/desktop/src/ui/hooks/useSettings.tsx b/desktop/src/ui/hooks/useSettings.tsx index 7e241748..898a4153 100644 --- a/desktop/src/ui/hooks/useSettings.tsx +++ b/desktop/src/ui/hooks/useSettings.tsx @@ -1,7 +1,7 @@ import { type Context, type ParentProps, type Resource, Show, createContext, createEffect, useContext } from 'solid-js'; import useCommand from './useCommand'; import type { Settings } from '~bindings'; -import { bridge } from '~index'; +import { bridge } from '~imports'; const SettingsContext = createContext() as Context; diff --git a/desktop/src/ui/pages/Home.tsx b/desktop/src/ui/pages/Home.tsx index 917094e8..b6a848f3 100644 --- a/desktop/src/ui/pages/Home.tsx +++ b/desktop/src/ui/pages/Home.tsx @@ -17,7 +17,7 @@ import TextField from '../components/base/TextField'; import ClusterCover from '~ui/components/game/ClusterCover'; import type { Cluster } from '~bindings'; import useCommand from '~ui/hooks/useCommand'; -import { bridge } from '~index'; +import { bridge } from '~imports'; import { upperFirst } from '~utils/string'; // TODO: Replace this into it's own component diff --git a/desktop/src/ui/pages/settings/SettingsRoot.tsx b/desktop/src/ui/pages/settings/SettingsRoot.tsx index f4154b3b..9906f856 100644 --- a/desktop/src/ui/pages/settings/SettingsRoot.tsx +++ b/desktop/src/ui/pages/settings/SettingsRoot.tsx @@ -13,8 +13,6 @@ import SettingsChangelog from './about/SettingsChangelog'; import AnimatedRoutes from '~ui/components/AnimatedRoutes'; import ErrorBoundary from '~ui/components/ErrorBoundary'; import Tooltip from '~ui/components/base/Tooltip'; -import { bridge } from '~index'; -import useCommand from '~ui/hooks/useCommand'; import { AppInfo } from '~utils/program-info'; function SettingsRoutes() { diff --git a/desktop/src/utils/program-info.ts b/desktop/src/utils/program-info.ts index e8e9d328..56bc2aa4 100644 --- a/desktop/src/utils/program-info.ts +++ b/desktop/src/utils/program-info.ts @@ -1,10 +1,23 @@ import type { ProgramInfo } from '~bindings'; -import { bridge } from '~index'; +import { bridge } from '~imports'; // eslint-disable-next-line import/no-mutable-exports -- because yes -export let AppInfo!: ProgramInfo; +export let AppInfo: ProgramInfo = { + launcher_version: 'err', + tauri_version: 'err', + webview_version: 'err', + platform: 'err', + arch: 'err', + dev_build: false, +}; + export default AppInfo; export async function initAppInfo() { - AppInfo = await bridge.commands.getProgramInfo(); + try { + AppInfo = await bridge.commands.getProgramInfo(); + } + catch (err) { + console.error(err); + } }