Skip to content

A-1216249512875644: Side panel - #255

Merged
owlsua merged 27 commits into
mainfrom
A-1216249512875644
Aug 3, 2026
Merged

A-1216249512875644: Side panel#255
owlsua merged 27 commits into
mainfrom
A-1216249512875644

Conversation

@owlsua

@owlsua owlsua commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

💬 Description

Moving default view to side panel

More

  • Refactoring

📋 Checklist:

  • I have named my branch as A-[id of Asana task]
  • I have set the title of my PR as A-[id of Asana task]: [short description]
  • My changes passed successfully by prettier check
  • My changes passed successfully by lint check
  • My changes kept the previous test coverage rate
  • I have added enough tests for my new feature/bugfix
  • I have set at least one person to review this PR
  • I have set myself as the assignee of this PR
  • I have set at least one label to this PR

owlsua added 6 commits July 27, 2026 11:28
Chrome uses side_panel with openPanelOnActionClick, Firefox uses
sidebar_action opened from the toolbar action click. The popup entry is
dropped, so the expand-to-window flow on the create/restore page is
gone and the extended-view styles now key off an .extended-view class
set on <html> for the standalone view.
The tooltip element was hidden by ArcChart.css, so the mouse handlers
and the body-level node they wrote to had no visible effect.
Every action now renders the same round icon button with the label
moved out of the button and under it; only Send keeps a filled variant.
This removes the wide/small split and its mode-specific class lists.
The table body was a block element with fixed percentage columns, which
clipped long addresses in a narrow panel. It is now an ordinary
auto-layout table inside a scroll container with a sticky header, so
columns size to their content and overflow scrolls in both axes.
Below the 801px extended-view breakpoint the page height is now driven
by content and scrolls inside .App, and the dashboard, balance,
delegation, transaction and create/restore screens stack, shrink or
hide their widest parts instead of overflowing a fixed-size popup.
@owlsua owlsua self-assigned this Jul 27, 2026
@owlsua owlsua added the enhancement New feature or request label Jul 27, 2026
@owlsua
owlsua requested a review from anyxem July 30, 2026 09:24
@owlsua owlsua changed the title A-1216249512875644 A-1216249512875644: Side panel Jul 30, 2026
owlsua added 20 commits July 31, 2026 15:49
…panel

The extended view moved to an html.extended-view class, but body, .App and
PageWrapper still sized themselves off a min-width: 801px media query. A side
panel dragged past 800px therefore got height: auto, width: 111vh and rounded
corners, so the card no longer filled the panel.

Panel sizing is now the default at any width and the standalone window styles
key off html.extended-view. PageWrapper takes its height from
--page-content-height instead of a width breakpoint.
--font-size-xs..5xl and --space-3xs..5xl, with a max-width: 500px block that
scales both scales down for the narrow side panel.
The swap page now sizes text and spacing from --font-size-* and --space-*, so
everything shrinks below 500px without per-component breakpoints. Values that
did not sit on the scale were rounded to the nearest step (at most 2px).
Same conversion as the swap page for the staking header, delegation cards,
list, skeleton and delegation details.
The default icon stroke was the same green as the filled Send button, which
made the outlined buttons read as primary too.
A long amount kept the banner on one line and pushed it past the panel width.
--font-size-5xl becomes 28px and the old 32px step moves to --font-size-6xl.
Covers the account chooser, account cards and the unlock password screen.
The welcome screen now sizes text and spacing from the token scale in both the
narrow and the >=801px branch.
--font-size-display is 80px, 64px below 500px. It sits apart from the t-shirt
scale, which tops out at 32px.
…okens

Covers the seed word screens, the JSON upload flow, wallet details, restore
success and the mnemonic form. One-off values far off the scale (4rem form
offsets, the 100px description gap, the 60px loading margins) stay literal.
…anel

BrandBottomLogo pins the logo to the bottom of the welcome screen below 800px,
where BrandPanel is hidden: full width, cropped to a 240px band, 320px once the
viewport is at least 550px tall.

The Mojito title takes its place as the brand element, so it grows to the
display size and softens to 75% black, and the small logo icon above it is
gone.
Native coins and Mintlayer tokens differ in what the UI can show: coins have a
rate, a 24h change and a sparkline, tokens have none of that, so a token row
looked like a row whose data failed to load.

Items now carry an explicit type instead of being recognised by name, which a
token ticker could collide with. Group titles only appear once real tokens are
loaded, so a wallet without tokens looks unchanged.

The groups are nested lists inside the scroll container, so they need
flex-shrink: 0 and overflow: visible — the global * { overflow: hidden } would
otherwise let them shrink to zero and swallow the list's scrolling.
.amountBlock was flex-shrink: 0, so its base size stayed at max-content and the
amount could never wrap — line-break: anywhere had no effect and a long value
overflowed the card. It now shrinks, and the wrap uses overflow-wrap.

Also drops the commented-out Add funds / Withdraw block with its orphaned
.actions rules; both actions are reachable from the details popup.
The delegation card, transaction row, crypto row, offline mask and the compact
skeleton had drifted to 35px, 45px and 25px. The skeleton also matches the row
height it stands in for, so rows no longer jump when balances arrive.
The same text-plus-spinner block was duplicated in four places, three of them
with their own copy of the styles and the fourth (SignMessage) referencing
class names that had no CSS at all, so its spinner stayed at the default 80px.

The spinner now steps down 190 -> 120 -> 88px so it does not fill half of a
narrow side panel. The inner ring is overridden through div.spinner::after:
plain .spinner::after ties with Loading's own rule and would depend on
stylesheet order.
Cards and headings read as oversized on a wide window. The account name drops
to 16px, the card loses 4px of vertical padding and 4px of min-height, and the
gaps above the heading, below the subtitle and above the add-wallet button
shrink by one step.

--font-size-5xl goes 28px -> 26px, which also reaches the create-restore and
restore-success headings — the same kind of large heading on a wide screen.
The radial spots dropped from 0.4 alpha to 0.18-0.22 and the base moved from a
lilac rgb(225, 225, 245) to rgb(235, 242, 240). Only the extended view shows
it: in the side panel the opaque body covers the html background.
Viewport widths of 801-900px now render the side panel layout instead of the
standalone window one. The value is a literal in every CSS file, replaced
across the tree; the popup window width in background-script.js and the dev
server port checks look similar but are unrelated.
@anyxem
anyxem requested review from d3-sergii-chystiakov and removed request for d3-sergii-chystiakov August 3, 2026 17:51
@owlsua
owlsua removed the request for review from d3-sergii-chystiakov August 3, 2026 17:53
@owlsua
owlsua merged commit 7fdafa0 into main Aug 3, 2026
1 check passed
@owlsua
owlsua deleted the A-1216249512875644 branch August 3, 2026 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants