Fix public kid search and friends#43
Merged
Merged
Conversation
Load kid search results on demand, cache favorite kids locally, refresh friend passport progress in a single batch request, update kid gender icons, and stop deploying the public gh-pages demo from main pushes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
✅ Deploy Preview for kid-a ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Remove the home admin access button and guest avatar. Show a logged-in user avatar on the home page only when a kid or staff role is active, and make it navigate back to that role's page. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Refresh the initial activities seed data from opensouthcode/2026#4 with the current 16 activity titles and their GitHub issue URLs, without lead names. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add short initial descriptions for all 16 activities from their GitHub issues and label issue links as more details in the activity UI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Apply review feedback to simplify the Anima tu dibujo activity description. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the More details label outside the issue pill and add a readable QR code for each activity issue URL in the activity header. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Let /passport?kid=... and /passport?id=... render a read-only kid passport without requiring a logged-in kid, password, or magic link. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Place the passport QR sheet printing action inside the desk user's profile popup and label it Print QRs sheet. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Render the same Kids section below the passport grid so kids can view saved friends, pick new friends, refresh progress, and open friend passports from /passport. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Render a clickable QR for the currently displayed kid passport URL and reuse the modal on both logged-in and public passport views. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Render the Kids section on public passport pages too, with the viewed kid blocked and the same friend picker/list overlay behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Place the passport QR button at the top-right of the passport header area instead of floating near the bottom of the page. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add /activity-kids?activity=NN for lead pages to fetch the recent five completions plus total count without loading the full kids list, and skip the remote full snapshot for lead sessions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a public /activity-count endpoint and render completion count badges in the home activity grid without loading the full kids list. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Include wheel shot usage and availability in passport API responses and display a compact wheel-shot pill beside the activity counter on kid and friend passport headers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Count only completed passport activities, stop writing null completed_at passport rows during registration/reset, and remove existing null passport rows with a migration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Delay activity-kids loading until the lead session activity is ready, fetch a selected kid passport only once per selection, and dedupe the home activity-count request under StrictMode. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Treat a missing passport row as an incomplete activity on the lead page, and generate the full passport activity template in the API without relying on stored null rows. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Merge stored passport completions onto the full 16-activity template for all passport API responses, including after completing an activity, so progress totals stay 16 even without null DB rows. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid showing temporary zero completion badges in the home activity grid until activity counts have finished loading. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.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.
Home-page kid search should work before magic-link login, while avoiding expensive full-list fetches for a fast-changing registration list. This PR switches remote kid lookup to on-demand single-kid requests, keeps favorite kid profiles in localStorage, and refreshes all friend passport progress with one batch request.
Summary
Validation
npm run lint -- --quietnpm run build