mirror of
https://github.com/tiennm99/ghstats.git
synced 2026-05-25 11:40:46 +00:00
62345c1235
With topN=7 the previous collapseOther kept only the first 6 entries and added "Other" as the 7th row. A user expecting to see 7 actual languages in the legend saw six named languages plus "Other" — the exact complaint just raised about the profile repo's donut. Flip the semantic: the "top N" slots are reserved for real languages, and "Other" is an extra row when (and only when) there's a non-zero tail past the Nth entry. Topologically that means up to 8 legend rows — still fits the card frame (row 8 text baseline at y=195, card height 200). - TestDonutTopSevenPlusOther pins the new contract with a 9-language input. - adversarialProfile in TestCardsFitFrame bumped to 9 languages so the stress test exercises the 8-row legend geometry. - design-guidelines: the donut row re-reads "Up to 7 named languages, plus an 'Other' row when the tail is non-zero (8 rows max)".