minor refactoring of app startup sequence & some extra trivial matters

This commit is contained in:
2026-02-03 22:28:05 +08:00
parent e15cf16817
commit f696d5e385
24 changed files with 284 additions and 337 deletions

View File

@@ -1,22 +1,13 @@
<script lang="ts">
import { onDestroy, onMount } from "svelte";
import { onMount } from "svelte";
import { invoke } from "@tauri-apps/api/core";
import { listen } from "@tauri-apps/api/event";
import { page } from "$app/stores";
let errorMessage = "";
let unlisten: (() => void) | null = null;
let isRestarting = false;
onMount(async () => {
unlisten = await listen<string>("health-error", (event) => {
errorMessage = event.payload;
});
});
onDestroy(() => {
if (unlisten) {
unlisten();
}
onMount(() => {
errorMessage = $page.url.searchParams.get("err") || "";
});
const tryAgain = async () => {
@@ -34,41 +25,44 @@
<div class="size-full p-4">
<div class="flex flex-col gap-4 size-full justify-between">
<div class="flex flex-col gap-2">
<p class="text-md font-light">Something is not right...</p>
<p class="opacity-70 text-3xl font-bold">
Seems like the server is inaccessible. Check your network?
</p>
{#if errorMessage}
<p class="text-sm opacity-70 wrap-break-word">{errorMessage}</p>
{/if}
</div>
<div class="flex flex-row gap-2">
<button
class="btn"
class:btn-disabled={isRestarting}
disabled={isRestarting}
onclick={tryAgain}
>
{#if isRestarting}
Retrying…
{:else}
Try again
<div class="flex flex-col gap-4">
<div class="flex flex-col gap-2">
<p class="text-md font-light">Something is not right...</p>
<p class="opacity-70 text-3xl font-bold">
Seems like the server is inaccessible. Check your network?
</p>
</div>
{#if errorMessage}
<p class="text-xs opacity-70 wrap-break-word font-mono">
{errorMessage}
</p>
{/if}
</button>
<button
class="btn btn-outline"
onclick={async () => {
try {
await invoke("open_client_config_manager");
} catch (err) {
errorMessage = `Failed to open config manager: ${err}`;
}
}}
>
Advanced options
</button>
</div>
</div>
<div class="flex flex-row gap-2">
<button
class="btn"
class:btn-disabled={isRestarting}
disabled={isRestarting}
onclick={tryAgain}
>
{#if isRestarting}
Retrying…
{:else}
Try again
{/if}
</button>
<button
class="btn btn-outline"
onclick={async () => {
try {
await invoke("open_client_config_manager");
} catch (err) {
errorMessage = `Failed to open config manager: ${err}`;
}
}}
>
Advanced options
</button>
</div>
</div>
</div>