Show more information about signer type

This commit is contained in:
Jon Staab
2025-09-22 15:09:41 -07:00
parent 38da650861
commit bdfcb99781
2 changed files with 44 additions and 26 deletions

View File

@@ -1,6 +1,6 @@
<script lang="ts"> <script lang="ts">
import {spec, prop, avg} from "@welshman/lib" import {spec, prop, avg} from "@welshman/lib"
import {signerLog, SignerLogEntryStatus} from "@welshman/app" import {session, SessionMethod, signerLog, SignerLogEntryStatus} from "@welshman/app"
import CloseCircle from "@assets/icons/close-circle.svg?dataurl" import CloseCircle from "@assets/icons/close-circle.svg?dataurl"
import Danger from "@assets/icons/danger-triangle.svg?dataurl" import Danger from "@assets/icons/danger-triangle.svg?dataurl"
import ClockCircle from "@assets/icons/clock-circle.svg?dataurl" import ClockCircle from "@assets/icons/clock-circle.svg?dataurl"
@@ -26,27 +26,45 @@
const logout = () => pushModal(LogOut) const logout = () => pushModal(LogOut)
</script> </script>
<div class="card2 bg-alt flex flex-col gap-4"> {#if $session && $session.method !== SessionMethod.Anonymous}
<div class="flex flex-col gap-2"> <div class="card2 bg-alt flex flex-col gap-4">
<div class="flex items-center justify-between"> <div class="flex flex-col gap-2">
<span class="text-xl font-bold">Signer Status</span> <div class="flex items-center justify-between">
<span class="flex items-center gap-2"> <span class="text-xl font-bold">Signer Status</span>
{#if isDisconnected} <span class="flex items-center gap-2">
<Icon icon={CloseCircle} class="text-error" size={4} /> Disconnected {#if isDisconnected}
{:else if recentFailure > 3} <Icon icon={CloseCircle} class="text-error" size={4} /> Disconnected
<Icon icon={Danger} class="text-warning" size={4} /> Partial Failure {:else if recentFailure > 3}
{:else if recentAvg > 1000 || recentPending > 3} <Icon icon={Danger} class="text-warning" size={4} /> Partial Failure
<Icon icon={ClockCircle} class="text-warning" size={4} /> Slow connection {:else if recentAvg > 1000 || recentPending > 3}
{:else if recentSuccess === 0 && recentFailure > 0}{:else} <Icon icon={ClockCircle} class="text-warning" size={4} /> Slow connection
<Icon icon={CheckCircle} class="text-success" size={4} /> Ok {:else if recentSuccess === 0 && recentFailure > 0}{:else}
{/if} <Icon icon={CheckCircle} class="text-success" size={4} /> Ok
</span> {/if}
</span>
</div>
<div class="flex justify-between text-sm opacity-75">
<p>
Logged in with
{#if $session.method === SessionMethod.Nip01}
private key
{:else if $session.method === SessionMethod.Nip07}
browser extension
{:else if $session.method === SessionMethod.Nip46}
remote signer
{:else if $session.method === SessionMethod.Nip55}
{$session.signer}
{:else if $session.method === SessionMethod.Pubkey}
public key (readonly)
{/if}
</p>
<p>
{success} requests succeeded, {failure} failed, {pending} pending
</p>
</div>
</div> </div>
<p class="text-sm opacity-75"> {#if isDisconnected}
{success} requests succeeded, {failure} failed, {pending} pending <Button class="btn btn-outline btn-error" onclick={logout}>Logout to Reconnect</Button>
</p> {/if}
</div> </div>
{#if isDisconnected} {/if}
<Button class="btn btn-outline btn-error" onclick={logout}>Logout to Reconnect</Button>
{/if}
</div>

View File

@@ -50,7 +50,7 @@
</script> </script>
<div class="content column gap-4"> <div class="content column gap-4">
<Collapse class="card2 bg-alt column gap-4"> <Collapse class="card2 bg-alt column gap-4 shadow-xl">
{#snippet title()} {#snippet title()}
<h2 class="flex items-center gap-3 text-xl"> <h2 class="flex items-center gap-3 text-xl">
<Icon icon={Globus} /> <Icon icon={Globus} />
@@ -83,7 +83,7 @@
</Button> </Button>
</div> </div>
</Collapse> </Collapse>
<Collapse class="card2 bg-alt column gap-4"> <Collapse class="card2 bg-alt column gap-4 shadow-xl">
{#snippet title()} {#snippet title()}
<h2 class="flex items-center gap-3 text-xl"> <h2 class="flex items-center gap-3 text-xl">
<Icon icon={Inbox} /> <Icon icon={Inbox} />
@@ -115,7 +115,7 @@
</Button> </Button>
</div> </div>
</Collapse> </Collapse>
<Collapse class="card2 bg-alt column gap-4"> <Collapse class="card2 bg-alt column gap-4 shadow-xl">
{#snippet title()} {#snippet title()}
<h2 class="flex items-center gap-3 text-xl"> <h2 class="flex items-center gap-3 text-xl">
<Icon icon={Mailbox} /> <Icon icon={Mailbox} />