From a12fec853278b8d084610e488dbf2ef2733a91a9 Mon Sep 17 00:00:00 2001 From: Fabrice Bellamy Date: Tue, 20 Jan 2026 15:59:08 +0100 Subject: [PATCH] display device connection method on frontend --- src/lib/device/manager.svelte.ts | 3 ++ src/lib/device/types.svelte.ts | 1 + src/lib/views/homeView.svelte | 55 +++++++++++++++++++++++++------- 3 files changed, 48 insertions(+), 11 deletions(-) diff --git a/src/lib/device/manager.svelte.ts b/src/lib/device/manager.svelte.ts index 1a4d0d2..0d359af 100644 --- a/src/lib/device/manager.svelte.ts +++ b/src/lib/device/manager.svelte.ts @@ -16,6 +16,7 @@ class DeviceManager { connected = $state(false); fidoInfo: FidoInfo | null = $state(null); error: string | null = $state(null); + method: string = $state(""); credentials: StoredCredential[] = $state([]); unlocked = $state(false); @@ -60,6 +61,8 @@ class DeviceManager { confirmed: false, }; + this.method = status.method; + const fido = await invoke("get_fido_info"); this.fidoInfo = fido; diff --git a/src/lib/device/types.svelte.ts b/src/lib/device/types.svelte.ts index e505443..11124a5 100644 --- a/src/lib/device/types.svelte.ts +++ b/src/lib/device/types.svelte.ts @@ -38,6 +38,7 @@ export interface FullDeviceStatus { config: DeviceConfig; secureBoot: boolean; secureLock: boolean; + method: string; } export interface SecurityState { diff --git a/src/lib/views/homeView.svelte b/src/lib/views/homeView.svelte index eadc75d..b7df1bf 100644 --- a/src/lib/views/homeView.svelte +++ b/src/lib/views/homeView.svelte @@ -7,14 +7,24 @@ import { device } from "$lib/device/manager.svelte"; - import { Cpu, Lock, LockOpen, Microchip, ShieldCheck, TriangleAlert, Shield } from "@lucide/svelte"; + import { + Cpu, + Lock, + LockOpen, + Microchip, + ShieldCheck, + TriangleAlert, + Shield, + } from "@lucide/svelte"; import NoDeviceStatus from "$lib/components/device/NoDeviceStatus.svelte";

Device Overview

-

Quick view of your device status and specifications.

+

+ Quick view of your device status and specifications. +

{#if !device.connected} @@ -36,16 +46,24 @@

Firmware Version

-

v{device.info.firmwareVersion}

+

+ v{device.info.firmwareVersion} +

VID:PID

-

{device.config.vid}:{device.config.pid}

+

+ {device.config.vid}:{device.config.pid} +

Product Name

{device.config.productName}

+
+

Connection Method

+ {device.method} +
@@ -57,7 +75,10 @@ {device.info.flashUsed} / {device.info.flashTotal} KB - + @@ -74,7 +95,9 @@

FIDO Version

-

{device.fidoInfo.versions[0] || "N/A"}

+

+ {device.fidoInfo.versions[0] || "N/A"} +

PIN Set

@@ -98,10 +121,14 @@

AAGUID

-

{device.fidoInfo.aaguid}

+

+ {device.fidoInfo.aaguid} +

{:else} -

FIDO information not available

+

+ FIDO information not available +

{/if} @@ -128,7 +155,9 @@
LED Dimmable - + {device.config.ledDimmable ? "Yes" : "No"}
@@ -157,7 +186,9 @@ {:else} {/if} - + {device.security.secureBoot ? "Secure Boot" : "Development"}
@@ -170,7 +201,9 @@
Secure Lock - + {device.security.confirmed ? "Acknowledged" : "Pending"}