refactor: match github-profile-summary-cards chart styles

- Productive time is now a 24-hour bar chart with axes and nice tick labels
  instead of a 7x24 heatmap. Model Productive field reshaped from
  [7][24]int to [24]int.
- Language cards render as donut charts with a left-side legend instead of
  a stacked bar. Slices beyond top-6 collapse into an "Other" row.
- Add niceTicks helper (1/2/5 * 10^k ladder, d3-style) for axis ticks.
- Legacy language_bar.go removed.
This commit is contained in:
2026-04-18 19:08:12 +07:00
parent 40c311d304
commit cb502f2aa2
9 changed files with 219 additions and 139 deletions
+2 -2
View File
@@ -35,8 +35,8 @@ type Profile struct {
// primary language, sorted desc. Populated by FetchProductive.
CommitsByLanguage []LangStat
// Commit-count histogram indexed by [day-of-week 0=Sunday][hour-of-day 0-23].
Productive [7][24]int
// Commit counts grouped by hour-of-day (0-23) in the configured timezone.
Productive [24]int
// TopRepos are owned repos sorted by stargazer count desc. Populated by
// FetchProfile and consumed by FetchProductive.