Skip to content

Responsive behaviour

Source bitcoinuniverseio/core (private)
Path frontend/src/configs/mobile-route-meta.js, frontend layout components
Chain bitcoin, dogecoin
Network mainnet
Verified 2026-09-03

Core is laid out for the device in your hand, not shrunk from a desktop screen. The route and mobile checks cover the production router. The 7 September 2026 audit still recorded failed checks; a complete route pass is not established.

  • Four fixed destinations (Home, Trade, Portfolio, More) stay within thumb reach at the bottom of the screen. Everything else lives one tap away in the More menu.
  • Data tables become cards or lists at phone widths. Nothing asks you to scroll a page sideways. Content that is two-dimensional by nature stays in a named, keyboard-accessible scroll region.
  • Address and amount fields open the matching keyboard. Address fields turn off auto-capitalisation and autocorrect, so a pasted or typed address arrives exactly as entered. This is a correctness feature, not a convenience: an autocorrected address is a lost payment.
  • The fixed bottom controls step aside while you type rather than floating over the field.
  • A dropped connection shows a notice and pauses live data. It resumes on its own when you are back online.
  • Screens with a notch or rounded corners keep content inside the safe area, in portrait and landscape.
  • Controls stay touch-safe. Primary controls and rows keep a 44 pixel target, and text fields use a mobile-safe font size that avoids Safari zoom.

The route list used by browser tests is generated from the production router. Each shipped route has a concrete test address, an expected title and heading, a fixture profile, and named owners for state, accessibility, performance, and visual checks. Adding a route without that information fails validation.

Every route receives a lightweight check in both themes. Deeper checks cover each distinct screen family with populated, empty, partial, failed, slow, stale, large, and edge-case data as applicable. Failed reads cannot pass by looking like an empty result.

The browser matrix includes Chromium, Firefox, and WebKit. Its viewports cover 320 pixel reflow, common phone widths, compact phone landscape, tablets, desktop, and wide desktop. Geometry checks inspect meaningful elements and clipped controls, not only the page’s total width.

On a small screen the filter sheet is a draft rather than a live filter. Apply filters commits every change together; close, the backdrop, and Esc discard it; Reset is itself a draft until applied.

This is the right behaviour on a phone specifically: a live filter on a small screen re-renders the list under your thumb between each tap.

Hub to collection, market to market, and Back use a short cross-fade of 150 ms where the browser supports it. If you prefer reduced motion, or the device is in performance mode, the new screen simply appears.

Press Back after opening an asset and the grid you came from is on screen in the first frame, at the same scroll position, with the same view mode, selection, cart, and the rows you had already paged in. It refreshes quietly behind you rather than showing a skeleton.

A quiet refresh, a purchase, or a new page of results never collapses a grid you scrolled through: off-screen tiles reserve their real height, so the list keeps its length and the scrollbar stays honest.

On Save-Data, a slow network, or a low-power device, Core automatically reduces blur, animation, and off-screen media work.

Only two of the five supported wallets can complete a connection from a phone, and they do it differently. See connecting a wallet. Core does not offer to install a desktop extension on a touch device, because there is nothing there to install.

  • Reflows to 320 pixels with no horizontal page overflow.
  • Wide tables and code blocks scroll inside their own container rather than pushing the page sideways. The support matrix is 16 columns wide by design and gets its own scroll region with a sticky protocol column and a sticky header.
  • Remains usable at 200% zoom.
  • Uses relative units throughout, so the browser’s own text-size setting works.