Conversation
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.
👋 TL;DR
Adds an Achievements card to region pages showing upcoming PAX milestones (posts, Qs, FNG anniversaries within 14 days), and extends the unified search bar to support filtering inactive regions, AOs, and PAX.
🔎 Details
Achievements Card (
src/components/region/AchievementsCard.tsx)A new card on region pages surfaces approaching milestones for regional leadership to act on:
Scope toggle (Region / Nation) adjusts which post/Q counts determine milestone proximity. Anniversaries are scope-independent.
Type filter tabs (All / Posts / Qs / Anniversaries) narrow the list.
The underlying data is computed in a single BigQuery CTE block added to
getPageDatainsrc/lib/bq/regions.ts. Milestone thresholds, anniversary dates, and urgency scores are all derived server-side. Anniversary math usesDATE_ADD(notEXTRACT YEAR) to handle Feb 29 FNG dates safely.Search Enhancements
src/components/search-modal.tsx) — passesincludeInactive=trueto the API when enabled/api/searchroute (src/app/api/search/route.ts) unified into a singlesearchAll()call backed bysrc/lib/bq/search.ts, replacing separate per-entity queriessearchRegionsByNameinsrc/lib/bq/regions.tsnow acceptsincludeInactiveand conditionally omits theis_active = TRUEfilter✅ How to Test
Achievements Card
Search — Inactive Toggle
🥜 GIF