From fb2d78fd5708afddcb6ffaca7b90987df2d49272 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Mon, 2 Feb 2026 10:09:14 -0800 Subject: [PATCH] Rework modal header structure --- src/app/components/CalendarEventCreate.svelte | 10 ++++------ src/app/components/CalendarEventEdit.svelte | 10 ++++------ src/app/components/ChatEnable.svelte | 10 ++++------ src/app/components/ChatMembers.svelte | 5 ++--- src/app/components/ChatStart.svelte | 10 ++++------ src/app/components/EventInfo.svelte | 10 ++++------ src/app/components/EventShare.svelte | 10 ++++------ src/app/components/GoalCreate.svelte | 10 ++++------ src/app/components/InfoBunker.svelte | 5 ++--- src/app/components/InfoHandle.svelte | 5 ++--- src/app/components/InfoKeys.svelte | 5 ++--- src/app/components/InfoNostr.svelte | 5 ++--- src/app/components/InfoRelay.svelte | 5 ++--- src/app/components/InfoSignatures.svelte | 5 ++--- src/app/components/InfoZapperError.svelte | 5 ++--- src/app/components/KeyDownload.svelte | 5 ++--- src/app/components/KeyRecoveryConfirm.svelte | 10 ++++------ src/app/components/KeyRecoveryRequest.svelte | 10 ++++------ src/app/components/LogInBunker.svelte | 10 ++++------ src/app/components/LogInEmail.svelte | 10 ++++------ src/app/components/LogInKey.svelte | 10 ++++------ src/app/components/LogInOTP.svelte | 10 ++++------ src/app/components/LogInOTPConfirm.svelte | 10 ++++------ src/app/components/LogOut.svelte | 5 ++--- src/app/components/ProfileDelete.svelte | 10 ++++------ src/app/components/ProfileList.svelte | 12 +++++------- src/app/components/Report.svelte | 10 ++++------ src/app/components/ReportDetails.svelte | 10 ++++------ src/app/components/RoomCreate.svelte | 14 ++++++-------- src/app/components/RoomEdit.svelte | 14 ++++++-------- src/app/components/RoomMembersAdd.svelte | 10 ++++------ src/app/components/SignUpComplete.svelte | 5 ++--- src/app/components/SignUpEmail.svelte | 10 ++++------ src/app/components/SignUpEmailConfirm.svelte | 10 ++++------ src/app/components/SpaceAccessRequest.svelte | 11 +++++------ src/app/components/SpaceAdd.svelte | 11 +++++------ src/app/components/SpaceAuthError.svelte | 10 ++++------ src/app/components/SpaceEdit.svelte | 10 ++++------ src/app/components/SpaceExit.svelte | 9 ++++----- src/app/components/SpaceInvite.svelte | 16 +++++++--------- src/app/components/SpaceInviteAccept.svelte | 11 +++++------ src/app/components/SpaceMembersAdd.svelte | 10 ++++------ src/app/components/SpaceMembersBanned.svelte | 10 ++++------ src/app/components/SpaceTrustRelay.svelte | 14 ++++++-------- src/app/components/ThreadCreate.svelte | 10 ++++------ .../components/WalletAsReceivingAddress.svelte | 5 ++--- src/app/components/WalletConnect.svelte | 11 +++++------ src/app/components/WalletPay.svelte | 10 ++++------ .../WalletUpdateReceivingAddress.svelte | 10 ++++------ src/app/components/Zap.svelte | 10 ++++------ src/lib/components/Confirm.svelte | 10 ++++------ src/lib/components/Dialog.svelte | 6 +++--- src/lib/components/ModalHeader.svelte | 10 +++++----- src/lib/components/ModalSubtitle.svelte | 11 +++++++++++ src/lib/components/ModalTitle.svelte | 11 +++++++++++ 55 files changed, 224 insertions(+), 287 deletions(-) create mode 100644 src/lib/components/ModalSubtitle.svelte create mode 100644 src/lib/components/ModalTitle.svelte diff --git a/src/app/components/CalendarEventCreate.svelte b/src/app/components/CalendarEventCreate.svelte index 00b0b4e6..25dc189a 100644 --- a/src/app/components/CalendarEventCreate.svelte +++ b/src/app/components/CalendarEventCreate.svelte @@ -1,5 +1,7 @@ - {#snippet title()} -
What is a bunker link?
- {/snippet} + What is a bunker link?

Nostr uses "keys" instead of passwords diff --git a/src/app/components/InfoHandle.svelte b/src/app/components/InfoHandle.svelte index dedeaeec..42acd9c5 100644 --- a/src/app/components/InfoHandle.svelte +++ b/src/app/components/InfoHandle.svelte @@ -4,15 +4,14 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" import {PLATFORM_NAME} from "@app/core/state" - {#snippet title()} -

What is a nostr address?
- {/snippet} + What is a nostr address?

{PLATFORM_NAME} hosts spaces on the - {#snippet title()} -

What is a private key?
- {/snippet} + What is a private key?

Most online services keep track of users by giving them a username and password. This gives diff --git a/src/app/components/InfoNostr.svelte b/src/app/components/InfoNostr.svelte index 6fc130d2..967790ef 100644 --- a/src/app/components/InfoNostr.svelte +++ b/src/app/components/InfoNostr.svelte @@ -4,14 +4,13 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" - {#snippet title()} -

What is nostr?
- {/snippet} + What is nostr?

Nostr is way to build social apps that diff --git a/src/app/components/InfoRelay.svelte b/src/app/components/InfoRelay.svelte index 110b7fbe..e1ab12c1 100644 --- a/src/app/components/InfoRelay.svelte +++ b/src/app/components/InfoRelay.svelte @@ -2,6 +2,7 @@ import Button from "@lib/components/Button.svelte" import Link from "@lib/components/Link.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" @@ -11,9 +12,7 @@ - {#snippet title()} -

What is a relay?
- {/snippet} + What is a relay?

{PLATFORM_NAME} hosts spaces on the history.back() @@ -11,9 +12,7 @@ - {#snippet title()} -

What are digital signatures?
- {/snippet} + What are digital signatures?

Most online services ask their users to trust them that they're being honest, and they usually diff --git a/src/app/components/InfoZapperError.svelte b/src/app/components/InfoZapperError.svelte index db2ab03f..18625610 100644 --- a/src/app/components/InfoZapperError.svelte +++ b/src/app/components/InfoZapperError.svelte @@ -4,6 +4,7 @@ import Icon from "@lib/components/Icon.svelte" import Button from "@lib/components/Button.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" @@ -19,9 +20,7 @@ - {#snippet title()} -

Unable to Zap
- {/snippet} + Unable to Zap

Zapping isn't possible right now because diff --git a/src/app/components/KeyDownload.svelte b/src/app/components/KeyDownload.svelte index 2d4b7967..b00900a0 100644 --- a/src/app/components/KeyDownload.svelte +++ b/src/app/components/KeyDownload.svelte @@ -13,6 +13,7 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import {pushToast} from "@app/util/toast" import {PLATFORM_NAME} from "@app/core/state" @@ -109,9 +110,7 @@ - {#snippet title()} -

Your Keys are Ready!
- {/snippet} + Your Keys are Ready!

A cryptographic key pair has two parts: your public key identifies your diff --git a/src/app/components/KeyRecoveryConfirm.svelte b/src/app/components/KeyRecoveryConfirm.svelte index d75bf425..caa02412 100644 --- a/src/app/components/KeyRecoveryConfirm.svelte +++ b/src/app/components/KeyRecoveryConfirm.svelte @@ -12,6 +12,8 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" + import ModalSubtitle from "@lib/components/ModalSubtitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import KeyDownload from "@app/components/KeyDownload.svelte" import {pushToast} from "@app/util/toast" @@ -86,12 +88,8 @@ - {#snippet title()} - Recover your Key - {/snippet} - {#snippet info()} - Take control over your cryptographic identity - {/snippet} + Recover your Key + Take control over your cryptographic identity

Your recovery codes have been sent!

diff --git a/src/app/components/KeyRecoveryRequest.svelte b/src/app/components/KeyRecoveryRequest.svelte index e9441dc1..82bde83f 100644 --- a/src/app/components/KeyRecoveryRequest.svelte +++ b/src/app/components/KeyRecoveryRequest.svelte @@ -11,6 +11,8 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" + import ModalSubtitle from "@lib/components/ModalSubtitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import {pushModal} from "@app/util/modal" import KeyRecoveryConfirm from "@app/components/KeyRecoveryConfirm.svelte" @@ -44,12 +46,8 @@ - {#snippet title()} - Recover your Key - {/snippet} - {#snippet info()} - Take control over your cryptographic identity - {/snippet} + Recover your Key + Take control over your cryptographic identity

When you signed up, your Nostr secret key was split into multiple pieces and stored on diff --git a/src/app/components/LogInBunker.svelte b/src/app/components/LogInBunker.svelte index 91ff3a1e..5118ec3a 100644 --- a/src/app/components/LogInBunker.svelte +++ b/src/app/components/LogInBunker.svelte @@ -13,6 +13,8 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" + import ModalSubtitle from "@lib/components/ModalSubtitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import BunkerConnect from "@app/components/BunkerConnect.svelte" import BunkerUrl from "@app/components/BunkerUrl.svelte" @@ -125,12 +127,8 @@ - {#snippet title()} -

Log In with a Signer
- {/snippet} - {#snippet info()} -
Using a remote signer app helps you keep your keys safe.
- {/snippet} + Log In with a Signer + Using a remote signer app helps you keep your keys safe.
{#if mode === "connect"} diff --git a/src/app/components/LogInEmail.svelte b/src/app/components/LogInEmail.svelte index 7d6d3f82..d63f9566 100644 --- a/src/app/components/LogInEmail.svelte +++ b/src/app/components/LogInEmail.svelte @@ -13,6 +13,8 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" + import ModalSubtitle from "@lib/components/ModalSubtitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import LogInOTP from "@app/components/LogInOTP.svelte" import {pushModal, clearModals} from "@app/util/modal" @@ -72,12 +74,8 @@ - {#snippet title()} -
Log In
- {/snippet} - {#snippet info()} -
Log in using your email and password
- {/snippet} + Log In + Log in using your email and password
{#snippet label()} diff --git a/src/app/components/LogInKey.svelte b/src/app/components/LogInKey.svelte index bb4fc121..38a6e507 100644 --- a/src/app/components/LogInKey.svelte +++ b/src/app/components/LogInKey.svelte @@ -16,6 +16,8 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" + import ModalSubtitle from "@lib/components/ModalSubtitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import {clearModals} from "@app/util/modal" import {setChecked} from "@app/util/notifications" @@ -76,12 +78,8 @@ - {#snippet title()} -
Log In with Key
- {/snippet} - {#snippet info()} -
Enter your nostr private key to log in.
- {/snippet} + Log In with Key + Enter your nostr private key to log in.
{#snippet label()} diff --git a/src/app/components/LogInOTP.svelte b/src/app/components/LogInOTP.svelte index 887f021f..23e9fd23 100644 --- a/src/app/components/LogInOTP.svelte +++ b/src/app/components/LogInOTP.svelte @@ -11,6 +11,8 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" + import ModalSubtitle from "@lib/components/ModalSubtitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import LogInOTPConfirm from "@app/components/LogInOTPConfirm.svelte" import {pushModal} from "@app/util/modal" @@ -49,12 +51,8 @@ - {#snippet title()} -
Log In
- {/snippet} - {#snippet info()} -
Log in using a one-time login code
- {/snippet} + Log In + Log in using a one-time login code
{#snippet label()} diff --git a/src/app/components/LogInOTPConfirm.svelte b/src/app/components/LogInOTPConfirm.svelte index b391a88e..532d70ae 100644 --- a/src/app/components/LogInOTPConfirm.svelte +++ b/src/app/components/LogInOTPConfirm.svelte @@ -10,6 +10,8 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" + import ModalSubtitle from "@lib/components/ModalSubtitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import {clearModals} from "@app/util/modal" import {setChecked} from "@app/util/notifications" @@ -84,12 +86,8 @@ - {#snippet title()} -
Log In
- {/snippet} - {#snippet info()} -
Enter the login codes sent to your email
- {/snippet} + Log In + Enter the login codes sent to your email

Your login codes have been sent!

diff --git a/src/app/components/LogOut.svelte b/src/app/components/LogOut.svelte index 8644307d..39981013 100644 --- a/src/app/components/LogOut.svelte +++ b/src/app/components/LogOut.svelte @@ -7,6 +7,7 @@ import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import {Push} from "@app/util/notifications" import {kv, db} from "@app/core/storage" @@ -36,9 +37,7 @@ - {#snippet title()} -

Are you sure you want
to log out?
- {/snippet} + Are you sure you want
to log out?

Your local database will be cleared.

diff --git a/src/app/components/ProfileDelete.svelte b/src/app/components/ProfileDelete.svelte index fb85b865..870bef08 100644 --- a/src/app/components/ProfileDelete.svelte +++ b/src/app/components/ProfileDelete.svelte @@ -17,6 +17,8 @@ import Button from "@lib/components/Button.svelte" import Spinner from "@lib/components/Spinner.svelte" import ModalHeader from "@lib/components/ModalHeader.svelte" + import ModalTitle from "@lib/components/ModalTitle.svelte" + import ModalSubtitle from "@lib/components/ModalSubtitle.svelte" import ModalFooter from "@lib/components/ModalFooter.svelte" import Modal from "@lib/components/Modal.svelte" import ModalBody from "@lib/components/ModalBody.svelte" @@ -113,12 +115,8 @@ - {#snippet title()} - Delete your account - {/snippet} - {#snippet info()} - From the Nostr network - {/snippet} + Delete your account + From the Nostr network {#if showProgress}

diff --git a/src/app/components/ProfileList.svelte b/src/app/components/ProfileList.svelte index 55f969af..80ef0b2f 100644 --- a/src/app/components/ProfileList.svelte +++ b/src/app/components/ProfileList.svelte @@ -1,9 +1,11 @@

-

{@render title?.()}

-

{@render info?.()}

+ {@render children()}
diff --git a/src/lib/components/ModalSubtitle.svelte b/src/lib/components/ModalSubtitle.svelte new file mode 100644 index 00000000..186ebf59 --- /dev/null +++ b/src/lib/components/ModalSubtitle.svelte @@ -0,0 +1,11 @@ + + +

{@render children()}

diff --git a/src/lib/components/ModalTitle.svelte b/src/lib/components/ModalTitle.svelte new file mode 100644 index 00000000..bf165c77 --- /dev/null +++ b/src/lib/components/ModalTitle.svelte @@ -0,0 +1,11 @@ + + +

{@render children()}