From 67fa7903c3aa3d74f5255691d28e0417ca3ca565 Mon Sep 17 00:00:00 2001 From: David Hill Date: Wed, 4 Mar 2026 22:31:23 +0000 Subject: [PATCH] tui: prevent Go pricing graph from overflowing on medium screens by constraining width and moving axis labels outside SVG for sharper rendering --- packages/console/app/src/routes/go/index.css | 42 ++++++++++++++++---- packages/console/app/src/routes/go/index.tsx | 17 +++++--- 2 files changed, 46 insertions(+), 13 deletions(-) diff --git a/packages/console/app/src/routes/go/index.css b/packages/console/app/src/routes/go/index.css index f70bf981f..d3239d482 100644 --- a/packages/console/app/src/routes/go/index.css +++ b/packages/console/app/src/routes/go/index.css @@ -442,9 +442,9 @@ body { padding: 58px var(--padding) 56px; --bar-go: var(--color-go-2); - @media (max-width: 48rem) { - width: 100%; - max-width: 100%; + @media (max-width: 60rem) { + width: 50%; + max-width: 50%; } [data-slot="plot"] { @@ -452,11 +452,7 @@ body { overflow: visible; width: 100%; margin: 0 auto; - margin-left: -40px; - - @media (max-width: 60rem) { - margin-left: 0; - } + margin-left: -56px; } [data-slot="ylabels"] { @@ -465,6 +461,27 @@ body { pointer-events: none; } + [data-slot="xlabels"] { + position: absolute; + inset: 0; + pointer-events: none; + } + + [data-slot="xlabels"] [data-xlabel] { + position: absolute; + left: var(--x); + top: var(--y); + transform: translate(-50%, -50%); + color: var(--color-text-weak); + font-size: 12px; + line-height: 1; + white-space: nowrap; + + @media (prefers-color-scheme: light) { + color: color-mix(in srgb, var(--color-text-weak) 82%, var(--color-text-strong)); + } + } + [data-slot="ylabels"] [data-ylabel] { position: absolute; left: var(--x); @@ -475,6 +492,10 @@ body { font-weight: 700; line-height: 1; white-space: nowrap; + + @media (max-width: 60rem) { + font-size: 13px; + } } [data-slot="pills"] { @@ -715,8 +736,12 @@ body { [data-slot="caption-meta"] { display: flex; flex-direction: row; + flex-wrap: nowrap; gap: 16px; align-items: baseline; + width: 100%; + max-width: none; + justify-content: center; } [data-slot="caption-label"] { @@ -731,6 +756,7 @@ body { text-decoration-thickness: 1px; width: fit-content; line-height: 1; + white-space: nowrap; } [data-slot="caption-note"] { diff --git a/packages/console/app/src/routes/go/index.tsx b/packages/console/app/src/routes/go/index.tsx index eb954bd99..7c5981cbc 100644 --- a/packages/console/app/src/routes/go/index.tsx +++ b/packages/console/app/src/routes/go/index.tsx @@ -84,6 +84,7 @@ function LimitsGraph(props: { href: string }) { } return set })() + const shown = ticks.filter((t) => labels.has(t)) const bh = 8 const gap = 16 const step = bh + gap @@ -94,6 +95,7 @@ function LimitsGraph(props: { href: string }) { const px = (n: number) => `${(n / w) * 100}%` const py = (n: number) => `${(n / h) * 100}%` const lx = px(left - 16) + const ty = py(h - 18) return (
( - {labels.has(t) ? ( - - {i18n.t("go.graph.tick", { n: t })} - - ) : null} )} @@ -160,6 +157,16 @@ function LimitsGraph(props: { href: string }) { + +