Commit graph

5 commits

Author SHA1 Message Date
Local Dev
94bf3bcf68 feat(sirius-x): merge register.html into landing via shared mint flow
Register.html and the landing were running duplicate name-search UIs.
The register one was reported broken; the landing one already works
inline. Merged both into the landing:

- New js/register-flow.js — the full mint modal + wallet setup (Create /
  Import / Unlock / WizardConnect / Fund / Confirm / Register / Point
  it somewhere) extracted from register.html's <script type='module'>
  and turned into a shared module. Injects its own scoped modal HTML +
  CSS into the host page on load and exposes
  window.siriusRegisterName(fullName) as its public entry point.

- Landing search results now have Register buttons that call the shared
  flow directly. The whole 'search -> pick name -> mint' journey stays
  on one page, no redirects, no duplicate search UI to maintain.

- register.html reduced to a redirect stub: preserves ?q= if present,
  refreshes/JS-forwards to './' (landing), and shows a one-line
  'Name search moved to the home page' fallback for JS-off users.
  Old links keep working; no /register.html deep links are broken.

- All nav 'Register' entries now point at './#search-input' (or
  '../#search-input' on subpages), scrolling straight to the landing
  search box. Footer injector and every internal href updated the
  same way. Zero live href='.../register.html' left in the tree.

Verified: register.html?q=hello redirects to /?q=hello; landing
search 'fresh42abc' -> Register button -> modal opens with
'Register fresh42abc.bch' at the wallet-choice step.
2026-09-07 22:36:02 +02:00
Local Dev
b25fc40b0d feat(sirius-x/nav): use theseus.x compass SVG in Theseus button, not emoji
The nav's 'Theseus' link showed a generic 🧭 emoji, which renders
differently in every browser/OS and does not match theseus.x's
actual brand mark. Replaced with a small inline SVG of theseus.x's
compass (rounded dark square, N-half red, S-half acid) at 14x14 so
the button now carries theseus.x's real logo — recognisable and
identical everywhere.

Inlined the SVG rather than pointing at a shared asset so there's no
extra request per page and no relative-path arithmetic between root
and subdir pages. Applied to all 8 pages: landing, portal, register,
tld, theseus, docs, brand, admin.
2026-09-07 22:17:33 +02:00
Local Dev
57d7167900 feat(sirius-x): consistent top nav order, Theseus.X branding on theseus subpage
Nav consistency: subpages had Try it → Theseus → Register → TLD while
the landing had Try it → Register → TLD → Theseus. Reordered every
page to the landing's order, so the top nav is identical everywhere:

  Sirius.X | Try it | 🪪 Register | 🌐 TLD | 🧭 Theseus | 🔑 Sign in

(Admin adds its own 🛠 Admin between Theseus and Sign in since Admin
is the current page.)

Theseus subpage now carries Theseus.X's own branding: the compass
favicon (N-half red, S-half acid) copied from silentmode.st/bns/
theseus.x/assets/ lives under site-sirius-x/theseus/assets/, and the
subpage references it for <link rel=icon>, <link rel=mask-icon>, and
og:image. og:site_name flipped from 'Sirius.X' to 'Theseus Navigator'.
Hero mark swapped from the generic 🧭 emoji to the actual compass
SVG at 72px with a soft acid glow, so the page reads as Theseus at a
glance instead of borrowing Sirius's star.

Sign-in end-to-end verified on the live site:
- Landing dropdown → New wallet → portal auto-generates 12-word phrase
- Ack + Continue → me section revealed, siriusProfile written with
  {address, tokenAddress, source: 'seed', signedInAt}
- Nav pill updates to 'qzc2vx…yn93 seed ▾' without reload
- Sign out → profile cleared, portal reset, pill back to 'Wallet ▾'
- Wallet address derives deterministically from the fresh mnemonic
  (BuiltInWallet.create → deriveSeedFromBip39Mnemonic → HD path)
2026-09-07 22:05:45 +02:00
Local Dev
e4277832dd feat(sirius-x): footer everywhere, redesigned wallet button, dropdown auto-acts
Three UX fixes:

1. Beautiful footer on every page. Extracted the 4-column landing footer
   into js/site-footer.js — reads the nav brand link to derive per-page
   base ('./' at root, '../' in subdirs) so links resolve from any depth
   without duplicating the HTML across 8 pages. Every page now ships an
   empty <footer id="site-footer"></footer> and includes the injector;
   inline footer + its CSS block removed from landing too so the source
   stays in one place.

2. Wallet button redesign. Pill now shows a state dot (dim when not
   signed in, green with subtle glow when signed in), a monospace short
   address label when signed in ('qra6rs…7yl2') OR 'Wallet' when not,
   a WC/seed badge on signed-in state, and a subtle caret. Full border
   and hover states, proper aria-expanded/aria-label wiring. Dropdown
   menu itself upgraded: grid layout per item (icon column + title +
   hint), heavier backdrop blur, larger min-width, clearer typography.

3. Dropdown options actually do something. Removed the redundant 'Open
   sign-in page →' item — the other three all land on portal too, so
   listing 'open the page' as a fourth option was noise. On portal
   arrival, the ?mode= handler now AUTO-TRIGGERS the primary action for
   each mode:
     new    -> click Generate a phrase (12 words appear immediately)
     import -> focus the seed textarea (cursor ready to paste)
     wc     -> click Connect wallet (WC session starts, URI shown)
   No extra clicks between dropdown choice and the flow it names.

Cache-buster on the profile-menu.js include bumped to
?v=20260907wallet so cached copies pick up the new design; footer
injector at ?v=20260907rel.
2026-09-07 22:00:21 +02:00
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