Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion e2e/admin-home.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -243,10 +243,13 @@ test.describe('mobile', () => {
await advancedToggle(page).click()
await page.getByRole('button', { name: 'Device', exact: true }).click()

await expect(page.getByRole('heading', { name: 'Network', exact: true })).toBeVisible()
// Network and Security are collapsible, closed by default; open both.
await page.getByText('Network', { exact: true }).click()
await expect(page.getByLabel('WiFi SSID')).toBeVisible()
await expect(page.getByLabel('WiFi password')).toBeVisible()
await expect(page.getByRole('button', { name: 'Save to device', exact: true })).toBeVisible()

await page.getByText('Security', { exact: true }).click()
await expect(page.getByRole('heading', { name: 'Boot PIN', exact: true })).toBeVisible()
const unattendedWarning = page.getByText(/A boot PIN is typed over the USB cable/)
await expect(unattendedWarning).toBeVisible()
Expand Down
8 changes: 7 additions & 1 deletion src/components/Backup.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -184,10 +184,16 @@
importing = false
}
}

interface Props {
/** False when nested under a parent heading (e.g. a collapsible section summary). */
heading?: boolean
}
let { heading = true }: Props = $props()
</script>

<section class="backup-restore">
<h2 class="section-title">Backup and restore</h2>
{#if heading}<h2 class="section-title">Backup and restore</h2>{/if}
<p class="hint">
Save this signer's app pairings and bridge secret so they survive a factory reset or a reflash.
Without a backup, every connected app has to pair again. The signer asks you to confirm on its
Expand Down
8 changes: 7 additions & 1 deletion src/components/Connectivity.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -407,10 +407,16 @@
message = e instanceof Error ? e.message : String(e)
}
}

interface Props {
/** False when nested under a parent heading (e.g. a collapsible section summary). */
heading?: boolean
}
let { heading = true }: Props = $props()
</script>

<div class="connectivity">
<h2 class="section-title">Network</h2>
{#if heading}<h2 class="section-title">Network</h2>{/if}
<p class="hint"><strong>WiFi-standalone</strong> is the standard setup: the signer sits on your
network and works from anywhere. <strong>USB-only (radio off)</strong> is the hardened tier:
no network stack runs on the key-holding chip, and Nostr apps reach it through the bridge
Expand Down
Loading
Loading