docs(guide): add a Series / cup tab to the in-app guide

Explains creating a series, running each round from the series page,
points and standings, and a worked winter-series example.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
larssand
2026-10-11 19:31:19 +02:00
parent b5707f92d1
commit 42e53fd356
7 changed files with 92 additions and 5 deletions

View File

@@ -21,11 +21,12 @@ export async function runGuideTabsSmoke({ evaluate, navigate }) {
assert.equal(visible.start, true, "start panel visible by default");
assert.equal(visible.create, false, "create panel hidden by default");
assert.equal(visible.run, false, "run panel hidden by default");
assert.equal(visible.series, false, "series panel hidden by default");
assert.equal(visible.training, false, "training panel hidden by default");
assert.equal(visible.videos, false, "videos panel hidden by default");
console.log("PASS guide defaults to the Getting started tab with only that panel visible");
for (const tab of ["create", "run", "training", "videos", "start"]) {
for (const tab of ["create", "run", "series", "training", "videos", "start"]) {
await evaluate(`document.querySelector('[data-guide-tab="${tab}"]').click()`);
assert.equal(await activeTab(), tab, `clicking the ${tab} tab activates it`);
visible = await panelVisibility();
@@ -35,6 +36,14 @@ export async function runGuideTabsSmoke({ evaluate, navigate }) {
}
console.log("PASS clicking each guide tab shows only its own panel and hides the rest");
// The series tab explains the whole series workflow, step by step.
await evaluate(`document.querySelector('[data-guide-tab="series"]').click()`);
const seriesText = await evaluate(`document.querySelector('[data-guide-panel="series"]').innerText`);
assert.equal(await evaluate(`document.querySelectorAll('[data-guide-panel="series"] .guide-list li').length`), 21, "four sections, 21 steps");
assert.ok(!/guide\.series_/.test(seriesText), "every guide text is translated");
assert.equal(await evaluate(`[...document.querySelectorAll("#guideOverview .guide-overview-card strong")].some((node) => /Serie|Series/.test(node.textContent))`), true, "the overview has a series card");
console.log("PASS the guide has a Series / cup tab with the whole workflow");
const videoLinkCount = await evaluate(`document.querySelectorAll('[data-guide-panel="videos"] a[href^="/docs/videos/"]').length`);
assert.equal(videoLinkCount, 7, "all 7 video guide links live under the Video guides tab");