Skip to content

Show the team's live activity, open on the track map, and call levels Level 0 to 4 - #71

Merged
jsshin2022 merged 4 commits into
mainfrom
hub-live-loop
Oct 25, 2026
Merged

jsshin2022 merged 4 commits into
mainfrom
hub-live-loop

Conversation

@jsshin2022

Copy link
Copy Markdown
Member

The hub shows that it is alive and who keeps it alive, and the track map comes first. Five commits. The first two were pushed to #69 after it was merged, so they come along here.

Carried over from #69

  • Track map:
    • numbered lines and the line picker above the map
    • a one-row reading guide
    • cleared quests shown on the map, with a "지금 여기" pin
    • transfer numbers on the phone strips
  • One record:
    • stage stamps live in the passport
    • Level 3 and Level 4 quests are things to do (comment, first PR, runner, Builder)
    • the goal chips give way to one start-finder button

Track map first, Level 0–4, less to read

  • The curriculum opens on the track map.
    • Phones now get the map itself, panned sideways, instead of the long line-by-line list.
    • That list is folded under it as "노선별 목록으로 보기".
    • On phones the line picker is one swipeable row.
  • Levels read as Level 0 … Level 4: roadmap nodes, the level panel, map zones, route stops, the dialog, the finish card and the hero buttons. Ids stay L0–L4 in data and links.
  • The roadmap copy is shorter:
    • one sentence under the tabs
    • no "STAGE n" kicker
    • no tags on the cards
    • the goal reads "다 하면 여권 스탬프 · n / total"

Alive: activity, credited by name

  • Under the hero: "지금 팀에서" shows the latest team activity on GitHub, one item at a time.
    • Each item is a person, a repo and what they did, with how long ago.
    • It changes every 5 seconds and pauses on hover or focus. It does not rotate with reduced motion.
    • "더 보기" jumps to the feed.
  • In the contributors section: "최근 30일, 이렇게 기여했어요".
    • Everyone who contributed in the last 30 days, then the last 8 contributions.
    • Builders link to their Builder page, everyone else to their GitHub profile.
    • The block ends with a button to find a first issue.
    • Stars and forks are counted on their own line, not as contributions.
  • What counts:
    • pushes to the default branch
    • PRs opened and merged
    • issues opened, comments and reviews
    • releases and new repos
    • Bots are left out, and repeated pushes to the same repo collapse into one line.
  • Where it comes from:
    • The hub asks api.github.com/orgs/CausalInferenceLab/events when a visitor opens the page.
    • If that is refused (rate limit), it uses data/activity.json.
    • scripts/build_activity.py builds that file on every deploy and now also daily. It fills in PR titles, which the events API leaves out.
    • The weekly stats refresh still runs only on Mondays.

The loop, visible

"참여하기" opens with four steps, each linking to its section:

  1. 배우기: 자료 17개
  2. 기여하기: contributors in the last 30 days
  3. 이름이 올라가기: Builders, runners
  4. 공유하기: Builder page, finish card

A dashed line under them says the shared link brings the next person back to step 1. The step cards below lose their big numbers so the two numberings don't clash.

Events

  • section_view (section): curriculum, contrib, activity, events, posts, join. Sent once per page view when about a third of the section is on screen.
  • live_click (placement: ticker | feed, target: builder | github | repo | feed, kind, repo)
  • loop_click (step)
  • click_event (action: signup | record | next_strip, event_order, placement) for the events section and the next-event strip.
  • The join-section handler no longer counts loop links as click_join.

Checked

  • A scripted session with HUB_DEBUG fires each new event once, with the expected params.
  • axe (wcag2a/aa) found no violations on desktop and phone, light and dark, with the feed filled.
  • The existing regression scripts pass. They were updated for the map-first tab.

Generated by Claude Code

Lines carry their number at the start and in the picker, which now sits
above the map. The reading guide is one row. Zones use the stage names,
cleared stations turn yellow with a check, and the map and the phone
strips mark the next quest to clear. Phone strips show the line's
tagline and which lines each transfer station joins.
Clearing every quest in a stage now stamps the passport, which gains a
roadmap group of five stage stamps; the tracker beside the tab note opens
the passport instead of keeping its own count. L3 and L4 quests are the
passport's comment, first PR, runner and Builder stamps, with their repos
listed below as the stage's repos. The goal chips give way to a single
start-finder button, with a way back while a suggested route is shown.
The track map is the first tab, and phones now get the map itself,
panned sideways, with the line-by-line list folded underneath. Levels
read as Level 0 to Level 4 across the roadmap, map, cards and finish
card. The roadmap copy is shorter: one line for the tabs, no stage
kicker, no tags on the cards, and a plain 'stamp when done' goal.
…n in

A line under the hero shows what the team just did on GitHub, the
contributors section lists everyone who contributed in the last 30 days
with what they did, and the join section opens with the loop the hub runs
on (learn, contribute, get named, share) with today's numbers. Activity
comes from GitHub when a visitor opens the hub and from a snapshot the
deploy builds every day otherwise. New events: section_view, live_click,
loop_click and click_event for the events section.
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