From 06ca3a4bae2fcdd9de7d66c2ff10716eb11d23ea Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Tue, 18 Aug 2026 16:09:08 +0200 Subject: [PATCH] Server selector --- src-tauri/src/commands.rs | 2 +- src/components/view/serverList.tsx | 37 ++++++++++++++++++++++-------- src/lib/serverList.ts | 18 ++++++++++++++- 3 files changed, 45 insertions(+), 12 deletions(-) diff --git a/src-tauri/src/commands.rs b/src-tauri/src/commands.rs index 60edc31..e36601a 100644 --- a/src-tauri/src/commands.rs +++ b/src-tauri/src/commands.rs @@ -8,7 +8,7 @@ pub struct KnownServer { pub description: String, pub public_key: String, pub hostname: String, - pub is_wss: bool, + pub is_secure: bool, } fn servers_file_path(app: &AppHandle) -> Result { diff --git a/src/components/view/serverList.tsx b/src/components/view/serverList.tsx index f7b29bc..3301d43 100644 --- a/src/components/view/serverList.tsx +++ b/src/components/view/serverList.tsx @@ -1,4 +1,6 @@ import Enclave from "@/app/app"; +import EnclaveServer from "@/app/server"; +import { getHTTPUrl, getWSUrl } from "@/lib/serverList"; export default function ServerList({ appRef, @@ -7,16 +9,31 @@ export default function ServerList({ }) { return ( ); } diff --git a/src/lib/serverList.ts b/src/lib/serverList.ts index 2452dd1..1ca4c2d 100644 --- a/src/lib/serverList.ts +++ b/src/lib/serverList.ts @@ -5,7 +5,7 @@ export interface KnownServer { description: string; publicKey: string; hostname: string; - isWss: boolean; + isSecure: boolean; } export async function saveServerList(servers: KnownServer[]): Promise { @@ -15,3 +15,19 @@ export async function saveServerList(servers: KnownServer[]): Promise { export async function getServerList(): Promise { return await invoke("get_server_list"); } + +export function getHTTPUrl(server: KnownServer, path: string) { + const hostname = server.hostname.includes(":") + ? server.hostname + : server.hostname + ":3415"; + + return (server.isSecure ? "https://" : "http://") + hostname + path; +} + +export function getWSUrl(server: KnownServer) { + const hostname = server.hostname.includes(":") + ? server.hostname + : server.hostname + ":3415"; + + return (server.isSecure ? "wss://" : "ws://") + hostname; +}