Skip to content

feat(ux): remove lock gate, fix CSP, raise crystal-chip contrast - #17

Merged
Bissbert merged 2 commits into
mainfrom
feature/remove-lock-gate
May 5, 2026
Merged

Bissbert merged 2 commits into
mainfrom
feature/remove-lock-gate

Conversation

@Bissbert

@Bissbert Bissbert commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Wave 1 of the 2026-05-05 UX review implementation — the user explicitly authorised launching all waves directly after one another.

W1 — Remove lock gate entirely

Per the audit's #1 finding (P0 conversion blocker — "Coming Soon" gate on every flagship surface), the entire LockGate flow is removed. Admin auth is unaffected (separate, password-based).

  • Delete LockGate.tsx, all 10 Protected* wrappers, useAuth.ts
  • Inline page chrome into Astro pages for /tools/* and /gallery
  • Extract ProtectedQuiz logic into a non-gated QuizPage component
  • Extract ProtectedTools UI into ToolsHub component
  • Strip LockGate wrapper from StudyReviewScreen and StudySettingsScreen
  • /playground, /gallery, /quiz, /tools/*, /study/* now render directly

W2 — Fix CSP headers

Per the audit's analytics/Monaco/api.gemmology.dev blockage findings (P0/P1).

  • Allow cdn.jsdelivr.net for Monaco
  • Allow static.cloudflareinsights.com for analytics beacon
  • Allow api.gemmology.dev in connect-src for playground render endpoint
  • Add explicit script-src-elem directive

W5 — Crystal-system chip contrast

Per the audit's WCAG AA 4.5:1 failures on crystalSystemColors.*.bg with white text.

  • Bump all bg-*-500 to bg-*-700 for the seven crystal systems
  • White text on the new background passes 4.5:1 across the board

Test plan

  • Build cleanly produces 912 pages
  • /playground, /gallery, /quiz, all /tools/* render without gate
  • Monaco editor loads on /playground (no CSP block in console)
  • Cloudflare Insights beacon fires (network panel shows non-blocked request)
  • Crystal-systems chip contrast measures > 4.5:1 in DevTools

Bissbert added 2 commits May 5, 2026 17:44
Wave 1 of the 2026-05-05 UX review implementation.

W1 — Remove lock gate entirely
- Delete LockGate.tsx, all Protected* wrappers (10 files), useAuth.ts
- Inline page chrome into Astro pages for tools/* and gallery
- Extract ProtectedQuiz logic into non-gated QuizPage component
- Extract ProtectedTools UI into ToolsHub component
- Strip LockGate from StudyReviewScreen and StudySettingsScreen
- All Tier-1 surfaces (gallery, playground, tools, quiz, study) now
  render directly with no gate

W2 — Fix CSP headers
- Allow cdn.jsdelivr.net (Monaco editor)
- Allow static.cloudflareinsights.com (analytics beacon)
- Allow api.gemmology.dev (playground render endpoint)
- Add explicit script-src-elem to satisfy strict CSP parsers

W5 — Raise crystal-system chip contrast
- Bump crystalSystemColors.bg from -500 to -700 across all seven
  crystal systems so white-on-coloured chips reach WCAG AA 4.5:1
# Conflicts:
#	src/components/auth/LockGate.tsx
#	src/components/auth/ProtectedQuiz.tsx
#	src/components/quiz/study/StudyReviewScreen.tsx
#	src/components/quiz/study/StudySettingsScreen.tsx
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented May 5, 2026 •

Copy link
Copy Markdown

Deploying gemmology-dev with  Cloudflare Pages  Cloudflare Pages

Latest commit: b47d897
Status:🚫  Build failed.

View logs

@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown

🚀 Preview deployed to: https://d5f01dff.gemmology-dev.pages.dev

@Bissbert
Bissbert merged commit da94829 into main May 5, 2026
3 of 4 checks passed
Bissbert added a commit that referenced this pull request May 11, 2026
Wave 1 of the 2026-05-05 UX review implementation.

W1 — Remove lock gate entirely
- Delete LockGate.tsx, all Protected* wrappers (10 files), useAuth.ts
- Inline page chrome into Astro pages for tools/* and gallery
- Extract ProtectedQuiz logic into non-gated QuizPage component
- Extract ProtectedTools UI into ToolsHub component
- Strip LockGate from StudyReviewScreen and StudySettingsScreen
- All Tier-1 surfaces (gallery, playground, tools, quiz, study) now
  render directly with no gate

W2 — Fix CSP headers
- Allow cdn.jsdelivr.net (Monaco editor)
- Allow static.cloudflareinsights.com (analytics beacon)
- Allow api.gemmology.dev (playground render endpoint)
- Add explicit script-src-elem to satisfy strict CSP parsers

W5 — Raise crystal-system chip contrast
- Bump crystalSystemColors.bg from -500 to -700 across all seven
  crystal systems so white-on-coloured chips reach WCAG AA 4.5:1

This branch was successfully deployed

1 active deployment
gemmology-dev (Preview) — b47d8971 Deployed May 5, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant