Skip to content

style(trending): tidy board rows, post cards and the sidebar rail - #438

Merged
harlan-zw merged 2 commits into
mainfrom
feat/trending-polish
Oct 5, 2026
Merged

harlan-zw merged 2 commits into
mainfrom
feat/trending-polish

Conversation

@harlan-zw

Copy link
Copy Markdown
Collaborator

🔗 Linked issue

Related to #433 and #431

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

Harlan found /skills/trending messy after #433 moved it to the full-width shell. Rows were tall and slow to scan, a second post card was cut off at the board's edge, and a Skill with one post read "1 mentions". This change polishes the board and the sidebar. Ranking, data, routes and copy stay the same, apart from the plural fix.

Architecture: the trending page passes new options to TrendingWeeklyCta, SkilldInstallChip and BrailleSpark. BrailleSpark takes its label from sparkCount in shared/braille-spark.ts. The home page, the brand kit, RunChip and CliInstallChip keep the defaults.

On each row:

  • Ranks are plain tabular mono numbers on the Skill name's baseline. The first three are a step darker, and none is rose. They replace the dot-grid numerals from feat(trending): put braille sparks and run chips on the board #431.
  • The metadata line runs source, stars, then the signal that ranked the row: the mention spark, the star surge, the filler note, or the skill count and update date. An empty slot renders nothing. A long repository name gets cut short before it pushes the signal down. When the line is too narrow, the signal moves to its own line as a whole.
  • sparkCount in shared/braille-spark.ts picks the noun from the count, so a spark reads "1 mention in 7 days". BrailleSpark takes the window as a separate period prop, and its screen reader label uses the same text. A day with no mentions now draws the lowest bar at 40% opacity as a track, so a lone bar no longer floats in a gap. The plain-text spark from brailleSpark() keeps the blank cell.
  • Descriptions stop at two lines, and the run chip is as wide as its command.
  • The post carousel shows whole cards only: one, or two where the column has room. The pager ends on the cards' right edge.

In the sidebar, the weekly invitation drops the email preview and its card, and its button is smaller. That button is the rail's one solid rose element, so the install chip under it inks its dot while the invitation shows. SkilldInstallChip and _CommandChip gain an optional quiet prop for this, and every other chip keeps the rose dot. The invitation after the fifth row on narrow screens keeps its preview.

DESIGN.md describes the spark track and logs the polish as a 2026-10-06 decision.

Page question: what are devs talking about this week or month? Primary action: copy the run command. Owning concern: Loop 1. DESIGN motifs: PASS; the rail spends one solid rose element, and each spark keeps today in rose.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

The board passed one fixed plural, "mentions in 7 days", so a Skill
with one post read "1 mentions". sparkCount in shared/braille-spark.ts
now picks the noun from the count, and BrailleSpark takes the window
as a separate period. Both the visible count and the screen reader
label use it.

A day with no mentions now draws the lowest bar at 40% opacity as a
track. Plain text keeps the blank cell. With blank cells, a week with
one post was one bar floating in a gap before its label.
Harlan found the trending board messy. Rows were tall and did not scan:
dotted rank glyphs, three-line descriptions, a run chip as wide as the
column, and a second post card cut off at the board's edge.

- Ranks are plain tabular mono numbers on the name's baseline. The
  first three are a step darker, and none is rose.
- Each metadata line runs source, stars, then the signal that ranked
  the row. An empty slot renders nothing, and a long repository name is
  cut short before it pushes the signal to a second line.
- Descriptions stop at two lines, and the run chip is as wide as its
  command.
- The post carousel shows whole cards only: one, or two where it has
  room. The pager ends on the cards' right edge.
- The sidebar invitation drops the email preview and its card. Its
  button is the rail's one solid rose element, so the install chip
  inks its dot while the invitation shows.
@harlan-zw harlan-zw added the harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. label Oct 5, 2026
@harlan-github-agent harlan-github-agent Bot added harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. harlan-agent-running An Agent holds a Task on this issue or pull request right now. and removed harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. labels Oct 5, 2026
@harlan-github-agent

harlan-github-agent Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

🤖 MERGED

Harlan Agent Kit posted this automated review. It is not Harlan's personal review or approval. AI open source policy. Last updated: 2026-10-05 17:02 UTC.

GitHub merged this pull request.

  • Logged (15/100): The PR's only image stays inaccessible, so the diagram cannot be verified against the implementation. View code
    • Ask an agent to verify and fix this finding
  • Logged (20/100): A quiet today loses the rose marker that the motif and the PR text promise. View code
    • Ask an agent to verify and fix this finding

Review completed. No finding above 80/100.

Selected findings run after merge and open separate pull requests.

@harlan-zw

Copy link
Copy Markdown
Collaborator Author

Agent check (Harlan Agent Kit), since CI cannot show it. Headless Chrome against a local dev server and local D1 data, at 1440 and 390 wide, light and dark, on week, month and all time.

  • At 1440, the metadata line of each of the first eight rows stays on one line on every range. At 390, the signal takes its own line on each of those rows that has one.
  • Stepping a carousel moves exactly one whole card into the track, and the pager count follows.
  • No horizontal page overflow at either width.
Before After
Before: month board at 1440, light After: month board at 1440, light
Before: week rows at 1440, dark After: week rows at 1440, dark
Before: month rows at 390, light After: month rows at 390, light

@harlan-zw
harlan-zw merged commit 617d7b9 into main Oct 5, 2026
7 checks passed
@harlan-github-agent harlan-github-agent Bot removed harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant