Watch
0
0
Fork
You've already forked hyperhive
0

swarm ui: the login button's wording is a tested function

The label that switches between log in and log in again moves next to the
stored login's other wording, so it has a test.
This commit is contained in:
iris 2026-11-15 15:52:42 +01:00 • committed by mara
commit 78e063e78c
2 changed files with 18 additions and 1 deletions

View file

@ -24,6 +24,13 @@ export function storedAtMs(login: StoredLogin): number | null {
return Number.isNaN(ms) ? null : ms;
}
// The settings row's login button: `log in` when the swarm holds no login for
// the agent, `log in again` when it holds one, so a forced relogin reads as
// what it is.
export function loginButtonLabel(login: StoredLogin): string {
return login.stored_at === null ? "log in" : "log in again";
}
// What the delete's confirmation says: it removes the swarm's copy, and the
// agent reads the store every 5 minutes and logs out when the copy is gone.
export function deleteMessage(agent: string): string {

View file

@ -17,6 +17,7 @@ import { showToast } from "../../ui/toast/toasts.js";
import {
deleteMessage,
deleteStoredLoginPath,
loginButtonLabel,
storedAtMs,
storedLoginPath,
type StoredLogin,
@ -81,7 +82,7 @@ export function AgentClaudeLogin({ agent }: { agent: string }) {
const loginBadge = (
<Badge
variant="quiet"
value={login.stored_at === null ? "log in" : "log in again"}
value={loginButtonLabel(login)}
title={`log ${agent} in to claude from here`}
onClick={() => setLoggingIn(true)}
/>