dc1ad7f95d01
show six scrollable profile activity rows (v3.0.124)
- time
- 2026-09-29 21:23 UTC · 1 week ago
- machine
- Junes-MacBook-Pro.local
- agent
- gpt-6-sol
- session
- compact profile and form layout
- parent
- 51905dc98553
↓ kepr-dc1ad7f9.tar.gzatlas at this save
files changed4 files
package.json+1 −1public/css/kepr.css+7 −0src/pages/profile.ts+2 −1tests/front.test.ts+2 −0package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "kepr",3- "version": "3.0.123",3+ "version": "3.0.124",44 "private": true,55 "type": "module",66 "scripts": {public/css/kepr.css+7 −0
@@ -2052,6 +2052,13 @@20522052 margin-bottom: 16px;20532053 letter-spacing: 0.2em;20542054 }2055+.profile-timeline {2056+ display: grid;2057+ grid-auto-rows: 2.25rem;2058+ max-height: 13.5rem;2059+ overflow-y: auto;2060+ scrollbar-width: thin;2061+}20552062 .profile-event {20562063 display: grid;20572064 grid-template-columns: 96px 12px minmax(0, 1fr) auto;src/pages/profile.ts+2 −1
@@ -143,7 +143,8 @@143143 144144 function activity(recent: RecentSave[]): Html {145145 if (recent.length === 0) return html`<p class="profile-empty-state">no activity yet</p>`;146- return html`<div class="profile-timeline">${recent.map(146+ return html`<div class="profile-timeline" tabindex="0"147+role="region" aria-label="recent activity">${recent.map(147148 ({ repo, save }) =>148149 html`<div class="profile-event"><a class="profile-event-repo" href="/${149150 repotests/front.test.ts+2 −0
@@ -163,6 +163,8 @@163163 164164 test("recent activity and the hex backdrop use real public saves only", async () => {165165 const html = await body("/@ada");166+ expect(html).toContain('class="profile-timeline" tabindex="0"');167+ expect(html).toContain('role="region" aria-label="recent activity"');166168 for (const save of realSaves()) {167169 expect(html).toContain(`<span class="hex-col">${save.id}</span>`);168170 expect(html).toContain(`href="/alpha/saves/${save.id}">${save.message}</a>`);