Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Rework storage and display of core quest content #336

Merged
merged 6 commits into from
Jan 22, 2025

Conversation

evadecker
Copy link
Member

@evadecker evadecker commented Jan 22, 2025

What changed?

  • Hard-code all core quests to avoid building a full-fledged CMS until that level of complexity is warranted
  • Remove /browse route and all user-entered quests for now
  • Remove quest sorting
  • Remove "filed" status from StatusSelect
  • Remove "core" category from constants
  • Automatically populate the main nav with core quests. Resolves Automatically populate default quests for a user after onboarding #224 (but still needs backend work)
  • Create a new Steps component for displaying step-by-step guides
  • Link quests to appropriate form route. Resolves Link quests to hard-coded form routes #331
  • Use human-readable paths for core quests. Resolves Use human-readable slugs for quests #175
  • Display interstitial screen when a user visits a court order, state ID, or birth certificate screen without having a residence or birthplace

CleanShot 2025-01-22 at 14 55 45@2x

CleanShot 2025-01-22 at 17 01 40@2x

Why?

Hard-coding the quest details dramatically simplifies the core requirements—essentially, GitHub is our CMS, and we are only limited by what we can achieve in code. Rather than spending hundreds of hours creating a complex CMS to display quest data and form info, we can hard-code forms and data and abstract away shared functionality as-needed.

How was this change made?

  • Created new routes for /court-order, /state-id, /social-security, /passport, and /birth-certificate
  • Created dynamic sub-routes for states where needed (e.g. /court-order/ma)
  • Automatically redirected the user to the appropriate jurisdiction based on their existing residence and birthplace data
  • Added new JurisdictionInterstitial component

How was this tested?

Tests for some deleted areas were also removed. No new tests were added.

Anything else?

Filed some follow-up issues.

Copy link

changeset-bot bot commented Jan 22, 2025

🦋 Changeset detected

Latest commit: 15e186a

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
namesake Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions bot added frontend CSS, HTML, and JS changes backend Schema, query, and mutation changes testing Unit and e2e tests labels Jan 22, 2025
Copy link

cloudflare-workers-and-pages bot commented Jan 22, 2025

Deploying namesake with  Cloudflare Pages  Cloudflare Pages

Latest commit: 15e186a
Status: ✅  Deploy successful!
Preview URL: https://948b89ed.namesake-639.pages.dev
Branch Preview URL: https://core-quest-routing.namesake-639.pages.dev

View logs

Copy link
Contributor

github-actions bot commented Jan 22, 2025

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 58.7%
⬇️ -0.06%
3536 / 6023
🔵 Statements 58.7%
⬇️ -0.06%
3536 / 6023
🔵 Functions 61.17%
⬇️ -1.28%
167 / 273
🔵 Branches 79.23%
⬇️ -1.17%
309 / 390
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
convex/auth.ts 94.59%
⬇️ -0.14%
85.71%
🟰 ±0%
50%
🟰 ±0%
94.59%
⬇️ -0.14%
43-44
convex/constants.ts 100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
convex/schema.ts 100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
convex/seed.ts 0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
1-44
convex/userQuests.ts 72.72%
⬇️ -0.61%
79.06%
⬇️ -1.37%
60%
🟰 ±0%
72.72%
⬇️ -0.61%
43-56, 63-69, 76-86, 189-195, 202-212, 228, 251-289, 305
convex/userSettings.ts 100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
convex/validators.ts 100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
100%
🟰 ±0%
src/main.tsx 0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
1-112
src/components/app/AppSidebar/AppSidebar.tsx 4.76%
⬆️ +0.92%
100%
🟰 ±0%
0%
🟰 ±0%
4.76%
⬆️ +0.92%
25-91
src/components/common/Empty/Empty.tsx 8%
⬇️ -0.69%
100%
🟰 ±0%
0%
🟰 ±0%
8%
⬇️ -0.69%
19-47
src/components/common/ListBox/ListBox.tsx 73.41%
🟰 ±0%
75%
🟰 ±0%
50%
🟰 ±0%
73.41%
🟰 ±0%
19-33, 50-63
src/components/common/Nav/Nav.tsx 46.15%
⬆️ +15.72%
100%
🟰 ±0%
0%
🟰 ±0%
46.15%
⬆️ +15.72%
57-96, 106-125, 132-133
src/components/quests/JurisdictionInterstitial/JurisdictionInterstitial.tsx 2.73% 100% 0% 2.73% 25-119
src/components/quests/StatusSelect/StatusSelect.tsx 90.38%
⬇️ -0.52%
60%
⬇️ -17.77%
100%
🟰 ±0%
90.38%
⬇️ -0.52%
51-57
src/components/quests/Steps/Steps.tsx 27.27% 100% 0% 27.27% 9-17, 24-25
src/components/settings/EditResidenceSetting/EditResidenceSetting.tsx 96%
⬆️ +0.06%
90%
🟰 ±0%
85.71%
🟰 ±0%
96%
⬆️ +0.06%
46-48
src/routes/__root.tsx 0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
1-83
src/routes/_authenticated/_home.tsx 0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
1-123
src/routes/_authenticated/_home/index.tsx 0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
1-14
src/routes/_authenticated/_home/quests.$questId.index.tsx 0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
0%
🟰 ±0%
1-113
src/routes/_authenticated/_home/birth-certificate/$jurisdiction.tsx 0% 0% 0% 0% 1-37
src/routes/_authenticated/_home/birth-certificate/index.tsx 0% 0% 0% 0% 1-27
src/routes/_authenticated/_home/court-order/$jurisdiction.tsx 0% 0% 0% 0% 1-80
src/routes/_authenticated/_home/court-order/index.tsx 0% 0% 0% 0% 1-25
src/routes/_authenticated/_home/passport/index.tsx 0% 0% 0% 0% 1-16
src/routes/_authenticated/_home/state-id/$jurisdiction.tsx 0% 0% 0% 0% 1-37
src/routes/_authenticated/_home/state-id/index.tsx 0% 0% 0% 0% 1-25
Generated in workflow #261 for commit 15e186a by the Vitest Coverage Report Action

@evadecker evadecker merged commit 24464bb into main Jan 22, 2025
11 checks passed
@evadecker evadecker deleted the core-quest-routing branch January 22, 2025 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Schema, query, and mutation changes frontend CSS, HTML, and JS changes testing Unit and e2e tests
Projects
None yet
1 participant