Member page: dynamic load-more, vertical papers, bio expand, section nav (#1110)#1314
Merged
Conversation
… nav (#1110) Rework the member profile page so prolific members' pages stay navigable. - Per-section "Load more"/"Load all" controls backed by a new member_artifacts AJAX endpoint that renders the same snippet templates. Initial counts raised to 8/6/6/8 (4/3/3/4 on mobile via a CSS cap; first tap reveals the rest with no network, further loads hit the server). - Fix the recent-projects ordering: sort visible projects by most-recent artifact date, descending (was sorting a set by project start_date). - Publications switch from the 3-up card grid to the scannable vertical list once a member has many papers. - Bio "Show more / Show less" toggle for over-long bios. - Sticky section nav: scroll-spy, the person's name revealed once the heading scrolls away, and live loaded/total counts. Section headings now read "Projects (8/95)" etc. -- no more "Recent" wording. - Floating "Back to top" button. - Idempotency guard on citationPopover so re-init (after AJAX appends) only binds new triggers and attaches global listeners once. Tests: unit/integration in website/tests/test_member_artifacts.py; browser end-to-end in website/tests/test_member_e2e.py (Playwright, self-skips when no browser is present) wired into a new parallel, report-only CI job via requirements-dev.txt. Production requirements/image are unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1110.
Reworks the member profile page so prolific members' pages stay usable, picking up the AJAX "load more" idea from #1110 (follow-up to #1106).
What's in here
member_artifactsAJAX endpoint that renders the same snippet templates (so appended cards are byte-for-byte identical and accessible). Initial counts raised to 8 projects / 6 papers / 6 videos / 8 talks (4/3/3/4 on mobile via a CSS cap — first tap reveals the already-rendered rest with no network; further loads hit the server). Labels show the exact next count, e.g. "Load 6 more papers".set) and re-sorted by the project's ownstart_date, which surfaced stale projects./publications) instead of a giant 3-up card grid; few-paper members keep the compact grid.<h1>scrolls away, and live(loaded/total)counts. Section headings now readProjects (8/95)etc. — the "Recent X" wording is gone.citationPopoverso re-init (after AJAX appends) only binds new triggers.Production
requirements.txt/ Docker image are unchanged.Testing
website/tests/test_member_artifacts.py): project ordering, the AJAX endpoint (paging/has_more/all=1/404s), all three publication layout branches, and the section-nav render. Run with the standard shim:python manage.py test website --settings=makeabilitylab.settings_testwebsite/tests/test_member_e2e.py, Playwright): load more/all, vertical papers, projects-controls-hidden, bio toggle, section nav highlight/jump, name reveal, live counts, back-to-top. Self-skips when no browser is installed (so the normal suite stays green), and runs in a new parallel, report-only CI job (e2eintest.yml) viarequirements-dev.txt.Screenshots
🤖 Generated with Claude Code