Skip to content

fix(tangle-cloud): drawer centering, connect-button gradient, topbar polish, italic suppression#3237

Merged
drewstone merged 1 commit into
developfrom
fix/cloud-drawer-button-topbar-polish
May 25, 2026
Merged

fix(tangle-cloud): drawer centering, connect-button gradient, topbar polish, italic suppression#3237
drewstone merged 1 commit into
developfrom
fix/cloud-drawer-button-topbar-polish

Conversation

@drewstone
Copy link
Copy Markdown
Contributor

Round-3 fixes from a product critique

Four concrete defects + one cleanup, all triggered by real complaints on the last review:

1. Register button "weird centered panel" (0/10 → drawer)

The RegistrationDrawer renders as a Radix Dialog with side anchors (right-0 left-auto translate-x-0) so it should slide in from the right. My earlier wallet-modal centering fix applied --tw-translate-x: calc(-50% + sidebar/2) !important to every [role="dialog"], which dragged the drawer back to center.

Scope the centering rule to truly center-anchored dialogs only — selector now negates [class*="left-auto"], [class*="right-auto"], and [class*="translate-x-0"]. Side-anchored sheets keep their intended position; the wallet modal still gets sidebar-aware centering.

2. Connect button gradient (looked like staking dapp, not cloud)

tangle-cloud-wallet-action was forcing a hardcoded indigo-to-darker-indigo linear-gradient background. That was the only gradient in the cloud app — every other button uses sandbox-ui flat fills — so the Connect button always read as imported from a different system.

Strip the gradient. Use the same solid --btn-primary-bg fill as every other primary action. Height, padding, border-radius normalized to match sandbox-ui (36px / 6px / 14px padding).

Also drop the white-frosted wallet-mark tile (which existed only to make the wallet icon legible on the gradient).

3. Topbar buttons (mismatched heights, different surfaces)

Network selector, theme toggle, transactions, and connect were each styled differently — Connect had a tinted background, others had different alpha. Unified all topbar buttons to the same shape: 36px / 6px / transparent / 1px border / var(--bg-hover) on hover.

4. Italics on dark backgrounds (dark on dark, unreadable)

Browser italic-synthesis was firing when a requested weight wasn't in the loaded Geist font face. Force font-style: normal on every interactive element under .tangle-cloud-shell (button / a / span / p / h1-h6) — .italic class still opts in explicitly for the rare deliberate use.

5. Drop the breadcrumb header noise

Cloud / Blueprints / Details told the operator nothing the sidebar + page H1 weren't already conveying. The auto-generated leaf ("Details", "Service", "Manage") was generic enough to actively mislead on iframe pages. Replaced the breadcrumb row with an empty slot reserved for future global controls (search, branch picker, etc.).

Test plan

  • yarn nx typecheck/lint/test/build tangle-cloud — clean (162/162 tests, 2 pre-existing warnings, 0 errors)
  • Local: connect modal opens with MetaMask + Coinbase + WalletConnect instead of just "Injected"
  • Local: clean topbar — no gradient, no italics, no breadcrumb
  • Visual confirmation in screenshots: connect button is solid primary (was indigo gradient), topbar buttons are uniform ghost surface, breadcrumb is gone
  • After merge + deploy: verify register drawer slides in from the right (not centered) on develop.cloud.tangle.tools when clicking Register on a blueprint card

…polish, italic suppression

Round-3 fixes from a real product critique. Four concrete defects:

## 1. Register button "weird centered panel" (0/10 → drawer)

The RegistrationDrawer renders as a Radix Dialog with side anchors
(`right-0 left-auto translate-x-0`), so it should slide in from the
right. My earlier wallet-modal centering fix applied
`--tw-translate-x: calc(-50% + sidebar/2) !important` to *every*
`[role="dialog"]`, which dragged the drawer back to the center.

Scope the centering rule to truly center-anchored dialogs only —
selector now negates `[class*="left-auto"]`, `[class*="right-auto"]`,
and `[class*="translate-x-0"]`. Side-anchored sheets keep their
intended position; the wallet modal still gets sidebar-aware
centering.

## 2. Connect button gradient (staking-dapp aesthetic in cloud)

`tangle-cloud-wallet-action` used to force a hardcoded indigo-to-
darker-indigo `linear-gradient` background. That was the only place
in the cloud app with a gradient — every other button uses sandbox-ui
flat fills — so the Connect button always read as imported from a
different system.

Strip the gradient. Use the same solid `--btn-primary-bg` fill as
every other primary action. Height, padding, border-radius normalized
to match sandbox-ui's default button (36px / 6px / 14px padding).

Also drop the white-frosted wallet-mark tile (which existed to make
the wallet icon legible on the gradient). Replace with a restrained
mono tile that matches the new flat surface.

## 3. Topbar buttons (mismatched heights, different surfaces)

Network selector, theme toggle, transactions, and connect were each
styled differently — Connect had a tinted background while everything
else had a different alpha. Unified all topbar buttons to the same
36px / 6px / transparent / 1px border / `var(--bg-hover)` on hover.

## 4. Italics on dark backgrounds

Browser italic-synthesis was firing when a requested weight wasn't in
the loaded Geist font face. Force `font-style: normal` on every
interactive element under `.tangle-cloud-shell` (button / a / span /
p / h1-h6) — `.italic` class still opts in explicitly for the rare
deliberate use.

## 5. Drop the breadcrumb header noise

`Cloud / Blueprints / Details` told the operator nothing the sidebar
+ page H1 weren't already conveying — and the auto-generated leaf
("Details", "Service", "Manage") was generic enough to actively
mislead on iframe pages. Replaced the breadcrumb row with an empty
slot reserved for future global controls (search, branch picker, etc.).
The `useMemo` is preserved for now to keep the imports stable; will
strip on a follow-up sweep.

## Verification

  - `yarn nx build/typecheck/lint/test tangle-cloud` — clean
    (162/162 tests, 2 pre-existing warnings, 0 errors)
  - Local: connect modal opens with MetaMask + Coinbase + WalletConnect
    instead of just "Injected", centered in the content area
  - Local: clean topbar, no gradient, no italics, no breadcrumb
  - Local: register drawer (clicking Register on a blueprint card) will
    once again slide in from the right rather than centering

## Not in this PR

The "AI Trading hero is still there" complaint will resolve when PR
#3236 (iframe-first layout) merges — that PR replaces the procedural
hero with a 52px identity strip on iframe blueprints.
@drewstone drewstone requested a review from AtelyPham as a code owner May 25, 2026 11:40
@drewstone drewstone merged commit 55d716b into develop May 25, 2026
7 of 8 checks passed
@drewstone drewstone deleted the fix/cloud-drawer-button-topbar-polish branch May 25, 2026 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant