Files
bootnode/console/lib
zeekayandHanzo Dev 88397558f2 refactor(console): the account cluster is the shared chrome, and identity has one table
Two duplications, both removed.

1. The header's account cluster was an email in a <span> and a Sign out button.
   It is now <OrgSwitcher/> + <UserMenu/> from @luxfi/ui — the same controls the
   MPC dashboard and lux.market render, reading the same IAM verbs
   (get-account, get-organizations, get-organization-projects), with the same
   phone sheet, which this bar had no equivalent of at all. Signed out they
   offer sign-in rather than showing an empty list that reads as an account with
   no organizations.

2. lib/brand.ts held a SECOND host→brand table. It kept what is genuinely its
   own — logos, taglines, palettes, footer links, the ecosystem launcher, the
   API origins that answer — and now takes issuer, client id and IAM host from
   @luxfi/ui/white-label, which is the same resolver every Lux surface already
   uses. Two copies of one fact is two things to get wrong, and these two DID
   disagree: this table had Zoo on zoolabs.id (right) and the shared one on
   id.zoo.network (an alias whose own discovery document names zoolabs.id, so a
   client on it rejects every token). The shared table is fixed; this file no
   longer has an opinion to be wrong about.

The bundler wiring for the gui engine comes from `withLuxUi` — the one place it
lives, rather than a hand-rolled transpile list per app.

`next build` passes (static export, every route emitted). `pnpm test` 26/26,
including the assertion that lux.cloud + lux-cloud + https://lux.cloud/auth/callback
— the one login that works today — is unchanged.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-27 14:59:30 -07:00
..