diff --git a/ui/src/App.svelte b/ui/src/App.svelte index 4d34ff2..9d900d9 100644 --- a/ui/src/App.svelte +++ b/ui/src/App.svelte @@ -3,8 +3,10 @@ import { pipe } from 'fp-ts/lib/function'; import { downloads, rpcClient } from './lib/store'; import { datetimeCompareFunc, isRPCResponse } from './lib/utils'; + import { onDestroy } from 'svelte'; + import Navbar from './lib/Navbar.svelte'; - rpcClient.subscribe(($client) => { + const unsubscribe = rpcClient.subscribe(($client) => { setInterval(() => $client.running(), 750); $client.socket.onmessage = (ev: any) => { @@ -32,14 +34,17 @@ downloads.set(O.none); }; }); + + onDestroy(unsubscribe);
+
{#each pipe( $downloads, O.getOrElseW(() => []), ) as download} -
+
-
+
{download.id}
{JSON.stringify(download.info)}
{JSON.stringify(download.progress)}
diff --git a/ui/src/lib/Navbar.svelte b/ui/src/lib/Navbar.svelte new file mode 100644 index 0000000..7283ced --- /dev/null +++ b/ui/src/lib/Navbar.svelte @@ -0,0 +1,23 @@ + + + diff --git a/ui/src/lib/store.ts b/ui/src/lib/store.ts index f03735b..2745272 100644 --- a/ui/src/lib/store.ts +++ b/ui/src/lib/store.ts @@ -1,7 +1,7 @@ -import { derived, readable, writable } from 'svelte/store' -import { RPCClient } from './RPCClient' -import type { RPCResponse, RPCResult } from './types' import * as O from 'fp-ts/lib/Option' +import { derived, writable } from 'svelte/store' +import { RPCClient } from './RPCClient' +import type { RPCResult } from './types' export const rpcHost = writable(localStorage.getItem('rpcHost') ?? 'localhost') export const rpcPort = writable(Number(localStorage.getItem('rpcPort')) || 3033)