Skip to content

feat(competitions): docs page and docs-nav entry #206

Description

@AnayDhawan

Blocked by #196 and #198.

Competitions is a new user-facing vertical and it needs a docs page, the way the map and calendar have one.

Files

  • src/app/docs/(article)/competitions/page.tsx - new
  • src/lib/docs-nav.ts - add the entry

How docs work here

Docs are hand-authored React Server Components, one page.tsx per route, driven by the docsNav manifest in src/lib/docs-nav.ts:40-193. There is no markdown pipeline for these pages. src/app/docs/(article)/calendar/page.tsx (99 lines) is the closest model in both length and subject.

Add a DocsNavEntry with group: "Guides", a lucide icon, and a one-line description. Array order in docsNav is the sidebar order, the pager order and the index order all at once, so place it next to the calendar entry.

Available building blocks: CalloutCard, StepCard, CodeBlock (async RSC using shiki), Cards. src/components/docs/docs-prose.tsx exists but is currently unused by any page; check what other pages actually use before reaching for it.

Content

  • What the competitions catalog is and what it is not
  • Browsing: search, category chips, filters, list and grid
  • Deadlines and countdowns, and specifically that estimated dates are marked as estimated
  • Country pathways: what a qualifier track is, why it matters, how to read one
  • Saving competitions, and that counts only appear once a few people have saved
  • How the calendar picks what to show you
  • Contributing a competition, linking to data/competitions/CONTRIBUTING.md
  • Where the data comes from and how to report a wrong date. Make this easy to find, because a wrong date is the failure mode that costs the most trust.

Also

  • scripts/build-docs-meta.mjs picks up the new page automatically via the prebuild hook. src/lib/docs-meta.generated.json is committed, so regenerate and commit it.
  • src/app/sitemap.ts:20 reads docsNav, so the route is picked up with no extra work.
  • Check whether src/components/docs/doc-cta-block.tsx (which hardcodes /map and /calendar links) should now offer /competitions as well.

Acceptance criteria

  • Page renders, appears in the sidebar under Guides, in the index, and in the pager
  • Related-docs picks up its group siblings
  • docs-meta.generated.json regenerated and committed
  • Page appears in the sitemap
  • Reporting a wrong date is documented and easy to find

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions