Commit graph

5 commits

Author SHA1 Message Date
Local Dev
cf04b583aa feat(sirius-x): public tld.html — search + mint a TLD end-to-end
Missing user-facing surface: minting a TLD required either the portal
(sign in first, register second, tucked under 'Signed in') or the
operator-only admin panel. New tld.html is a public, single-purpose
page that lets anyone go straight from label to certificate.

Flow: type a label → live check against /api/tlds → 'Register .foo →'
appears → sign-in cards (New / Import / WizardConnect) revealed inline
→ mint section shows label, address, price → submit walks through
'connected → checking-availability → loading-coins → building →
signing → broadcasting → registered'.

Wire is proven end-to-end (search returns a registerable card for
free labels, wallet flow generates a valid seed, address, submit
reaches 'wallet is empty' with a friendly faucet hint for the
signed-in address). Downstream of loading-coins is the same build/
sign/broadcast path exercised by every name registration.

Dispatch on wallet.source uses registerTldWithExternalWallet when
signed in via WC, else registerTldWithBuiltInWallet. Live TLD table
under the search shows every currently registered TLD with its
category; refreshes on successful mint.

Nav: '🌐 TLD' added to all 7 pages between Register and Brand.
Landing's 'Register a TLD' card now points here (previously linked
to the operator admin, which locked out anyone who isn't operator).
2026-09-07 20:39:11 +02:00
Local Dev
1cca60c4df fix(sirius-x): profile-menu URLs, landing search, empty-wallet hint, drop Pantheon
Five UX fixes from a review pass:

1. profile-menu.js: dropdown links (New/Add/WC wallet, Admin) were
   absolute /sirius-x/portal.html paths. That's fine on silentmode.st
   but under the BCNR route (sirius.x/) the origin is different, so
   the gateway forwarded to Sia which returned 'NoSuchKey' XML. Now
   derive the base URL from the nav's own .portal anchor href — which
   is already set per page with the right relative path — so it works
   from the root, from subdirs, and under any BCNR gateway. Admin URL
   is derived from the same base.

2. Landing hero got a search input. Submitting it normalises the
   label ([a-z0-9-], 63 chars) and redirects to register.html?q=<label>.
   register.html now honours ?q= on load: prefills the input, triggers
   the parallel multi-TLD lookup, and scrolls into view. Single source
   of truth stays in register.html; the landing just hands it a query.

3. Portal TLD-mint error path now special-cases 'wallet is empty' and
   shows a friendlier message with the wallet's address and links to
   two chipnet faucets, so the fix is one click away instead of a
   guess.

4. Removed 'Pantheon' from every page's top nav — it's a section on
   the landing that anyone scrolling will discover, and keeping it in
   the nav crowded the bar.

5. Cache-buster ?v=20260907rel on the profile-menu.js script include
   across all 7 pages so browsers that cached the pre-fix version
   pick up the new one on next load.
2026-09-07 20:32:14 +02:00
Local Dev
3e57b1bb31 feat(registrar): registerTldWithExternalWallet + wire into portal
Adds the external-wallet variant of registerTldWithBuiltInWallet so
WizardConnect users can mint TLDs from the sirius.x portal without
first importing a seed. Same transaction shape (TREG payload, TLD-
beacon output, service-fee output) — the wallet approves the mint
(and, if needed, a one-time prep signature to satisfy the vout-0
non-token genesis-input rule) on the user's own device.

Bundle: re-exported from src/web/register-entry.js and rebuilt
(bns-register.js: 33.3 kB, cache-buster bumped to ?v=20260907tldext
on portal.html / register.html / admin/index.html).

Portal: TLD-register submit now dispatches on wallet.source, calling
registerTldWithExternalWallet with wallet.session when the user is
signed in via WC. Removed the WC-disable guard and updated the card
copy to say TLD mints also go through the wallet's signing prompt.

Uses the same landOnChain helper as registerWithExternalWallet, so
wallet-broadcasts (walletBroadcasts:true sessions) and duplicate/
mempool responses are handled identically.
2026-09-07 01:39:16 +02:00
Local Dev
6dd8b141d4 feat(sirius-x): Sirius.X brand rebrand, banner star-divider, WC on portal
Three things from one review pass:

1. Rebrand text 'sirius.x' -> 'Sirius.X' as the brand style across all
   sirius.x pages (titles, meta, nav wordmark, headings, prose, footer).
   Also flipped the pantheon headings to Title.X form: Silentmode.X,
   Sirius.X, Theseus.X, Hephaestus.X, Prometheus.X, Helios.X, Hermes.X.
   Domain literals, URLs, and code samples stay lowercase (sirius.x is
   the actual on-chain name; only prose changes). Logo/avatar SVG
   wordmarks and aria-labels updated to match.

2. Banner (brand/banner.svg) redesigned around a centered layout:
   'Sirius.X' wordmark above, the star's horizontal arm extended
   edge-to-edge as a divider line, tagline lines below. Left tip at
   (0,315), right tip at (1200,315) so the arm crosses the full 1200px
   banner width; vertical body compact around center. Old layout had
   the star crammed into the right half and the wordmark on the left.

3. WizardConnect wired up on portal.html:
   - The 'Connect wallet' button now opens a real WC session via
     wizardconnect.js, shows the WIZ:// URI (copyable) and waits for
     the wallet to approve.
   - Successful connection builds a wallet-shaped wrapper with
     source: 'wc' and a WC session for signing; siriusProfile now
     carries the source so the nav dropdown can differentiate.
   - Record editor dispatches to setRecordsWithExternalWallet when
     source === 'wc' (bundle already ships the adapter), else stays
     on setRecordsWithBuiltInWallet.
   - TLD Register submit is gated off for WC users with a tooltip —
     no external-wallet variant of registerTld is exported yet, so
     TLD mint still needs a built-in wallet.
   - Sign-out disconnects the WC session before dropping the wallet.
   - toTokenAddress used to derive the tokenAddress for WC users so
     the 'Signed in' card shows both forms.
2026-09-07 01:35:35 +02:00
Local Dev
e59a2a01b5 feat(sirius-x): host name-registration flow on sirius.x itself
Copies site/sirius/register.html to site-sirius-x/register.html with
paths rewritten to absolute silentmode.st URLs (js bundle, importmap,
shared.css, WizardConnect vendor) so the page works both from
silentmode.st/sirius-x/register.html and from sirius.x/register.html
via the BCNR gateway. Nav is swapped to the sirius.x layout with
profile-menu.js.

Landing, portal, docs, and theseus subpage now link locally with
./register.html instead of redirecting off to silentmode.st. Adds
'Register' to the top nav of all six sirius.x pages.

Sia and VPS mirrors updated for register.html and the six pages.
2026-09-06 22:32:23 +02:00