Repository navigation
feat(usage): one unified MagicGrid board for all quota cards - #12
Merged
Merged
Conversation
Operator direction after the sectioned layout: single-account providers should not own a row — every card belongs on ONE grid regardless of provider or account count, with provider identity on the card itself. - QuotaCardGrid rebuilt as a flat MagicGrid board: uniform fixed-width cards (280px desktop / 260px compact, full-width on phones so MagicGrid computes a single column), shortest-column-first placement, provider icon + label + plan badge on every card. Per-provider <details> sections and grouping helpers are gone; the page header's PROVIDER filter remains the way to narrow the board. - MagicGrid wiring: static:true + our own ResizeObserver / MutationObserver / window-resize triggers, all disconnected on unmount. listen() is never called (it registers an unremovable window resize listener — leak). - Guard tests: new quota-unified-magic-grid.test.ts pins the architecture (no section markup, mobile w-full -> 1 column, density at 1200px, listener hygiene, compact track < full track). diegosouzapw#7072/diegosouzapw#6815/horizontal- layout guards superseded and removed (their guarantees re-pinned here); diegosouzapw#8916 compact guard updated for the new mechanism. - Found en route: ts.forEachChild STOPS on a truthy visitor return — the AST collectors must use void-returning callbacks (the concise-arrow version silently collected only the first child).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Replaces the per-provider sections with one unified MagicGrid board: every connection — any provider, any account count — is the same fixed-width card flowing shortest-column-first, filling every row. Provider identity (icon + label + plan badge) lives on the card, so nothing is lost by dropping the section headers. The page header's PROVIDER filter narrows the board.
Single-account providers (Codex, Claude Code, Z.AI) now sit in the same grid next to 7-account Antigravity — no more lone cards owning a row.
How
w-fullon phones (→ 1 column),sm:w-[280px]desktop /sm:w-[260px]compact, capped at 8 columns.listen()registers an unremovable window resize listener and has no destroy — we never call it. Instead:static: trueconfig + our own ResizeObserver (container), MutationObserver (card height changes: "Show 5 more", loading→data swaps), and window resize — all disconnected on unmount.Tests
quota-unified-magic-grid.test.tspins the architecture: no section markup survives, mobile single-column viaw-full, density ≥2 columns at 1200px, nolisten(), observers disconnected, compact < full track.Visual verification
Screenshot of omni.patty.io after deploy will be attached.