minor refactoring of app startup sequence & some extra trivial matters
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user