From 530f46f9cfdb3f751be94feba2d81c51e1a615da Mon Sep 17 00:00:00 2001 From: Dorian Date: Sun, 8 Mar 2026 00:26:12 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20API=20docs=20page=20=E2=80=94=20tabbed?= =?UTF-8?q?=20webhook=20spec,=20scoring,=20challenges,=20tips?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fetches from /api/docs/webhook and renders as a styled tabbed page. Added /docs route and DOCS nav link. Co-Authored-By: Claude Opus 4.6 --- PLAN.md | 2 +- frontend/src/components/NavBar.vue | 1 + frontend/src/pages/DocsPage.vue | 262 +++++++++++++++++++++++++++++ frontend/src/router.ts | 5 + 4 files changed, 269 insertions(+), 1 deletion(-) create mode 100644 frontend/src/pages/DocsPage.vue diff --git a/PLAN.md b/PLAN.md index 7d55772..3dc41a9 100644 --- a/PLAN.md +++ b/PLAN.md @@ -413,7 +413,7 @@ Integrated into the fight viewer: - [x] Fight schedule / card system - [x] Commentary engine - [x] Achievement system -- [ ] API docs page +- [x] API docs page ### Phase 4: Go Live - [ ] Docker containerization diff --git a/frontend/src/components/NavBar.vue b/frontend/src/components/NavBar.vue index 6c6a8e1..9df2e4e 100644 --- a/frontend/src/components/NavBar.vue +++ b/frontend/src/components/NavBar.vue @@ -11,6 +11,7 @@ const links = [ { to: '/join', label: 'FIGHT!' }, { to: '/arena', label: 'WATCH' }, { to: '/leaderboard', label: 'RANKINGS' }, + { to: '/docs', label: 'DOCS' }, ] diff --git a/frontend/src/pages/DocsPage.vue b/frontend/src/pages/DocsPage.vue new file mode 100644 index 0000000..6d8c995 --- /dev/null +++ b/frontend/src/pages/DocsPage.vue @@ -0,0 +1,262 @@ + + + diff --git a/frontend/src/router.ts b/frontend/src/router.ts index cf8c309..aa5fc31 100644 --- a/frontend/src/router.ts +++ b/frontend/src/router.ts @@ -51,6 +51,11 @@ const routes = [ name: 'sprites', component: () => import('./pages/SpritePreviewPage.vue'), }, + { + path: '/docs', + name: 'docs', + component: () => import('./pages/DocsPage.vue'), + }, ] export const router = createRouter({