Link the video guides from README, README.sv, and the in-app Guide page

Commit all 7 recorded clips to docs/videos/ (alongside the existing docs/screenshots/)
instead of leaving them in the gitignored video-guides/ folder from the earlier
feasibility spike - they're meant to be shipped, discoverable assets now, not scratch
output. scripts/record-video-guides.mjs writes there by default going forward.

Added a "Video Guides" section to README.md/README.sv.md (Getting started + Interface
tour groups) and a matching in-app "Video guides" panel on the Guide page, right after
the overview cards - the most discoverable spot for a brand-new user. Links point at
/docs/videos/<name>.mkv, served by the server's existing /docs static route.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
larssand
2026-09-11 18:29:32 +02:00
parent 337eca2d53
commit 3e02ba9aad
17 changed files with 94 additions and 7 deletions

View File

@@ -1049,6 +1049,15 @@ const TRANSLATIONS = {
"guide.manage_steps_9": "9. Hantera-sidan för race är uppdelad i fliken Deltagare & lag, Format, Live & resultat samt Schema & utskrift, i stället för en lång scroll. Track-/sponsorevent har kvar den enkla, oflikade layouten.",
"guide.schedule_title": "Tidsschema för racedagen",
"guide.card_schedule_blurb": "Sätt en starttid och en paus mellan sessioner, så räknas varje sessions klockslag ut automatiskt.",
"guide.videos_title": "Videoguider",
"guide.card_videos_blurb": "Korta berättade skärminspelningar som visar hur man gör de vanligaste sakerna.",
"guide.video_connect_decoder": "Koppla en dekoder",
"guide.video_add_drivers_cars": "Lägga till förare och bilar",
"guide.video_create_race": "Skapa ett race",
"guide.video_run_session": "Köra en session på Race Day",
"guide.video_settings_tabs": "Settings-flikarna",
"guide.video_event_manager_tabs": "Event Manager-flikarna",
"guide.video_event_schedule": "Race day-schemat",
"guide.schedule_1": "1. Öppna Hantera -> fliken Schema & utskrift för ett race-event. Sätt starttid och paus mellan sessioner (standard 3 minuter) och klicka Spara schema.",
"guide.schedule_2": "2. Varje sessions planerade klockslag räknas ut i körordning (practice, sedan kval, sedan finaler) utifrån starttiden, sessionens längd/efterlöp och pausen mellan sessioner.",
"guide.schedule_3": "3. Så fort en session faktiskt startar eller avslutas flyttas resten av schemat automatiskt fram till den verkliga tiden - en sen start eller en session som drar över (inklusive paus) skjuter resten av dagen framåt utan att du behöver räkna om manuellt. En session som startade mer än en minut sent märks \"Försenad\".",
@@ -2593,6 +2602,15 @@ const TRANSLATIONS = {
"guide.manage_steps_9": "9. The race Manage page is split into the Participants & teams, Format, Live & results and Schedule & print tabs instead of one long scroll. Track/sponsor events keep the simple, untabbed layout.",
"guide.schedule_title": "Race day time schedule",
"guide.card_schedule_blurb": "Set a start time and a gap between sessions, and every session's clock time is worked out automatically.",
"guide.videos_title": "Video guides",
"guide.card_videos_blurb": "Short narrated screen recordings showing how to do the most common things.",
"guide.video_connect_decoder": "Connect a decoder",
"guide.video_add_drivers_cars": "Add drivers and cars",
"guide.video_create_race": "Create a race",
"guide.video_run_session": "Run a session on Race Day",
"guide.video_settings_tabs": "The Settings tabs",
"guide.video_event_manager_tabs": "The Event Manager tabs",
"guide.video_event_schedule": "The race day schedule",
"guide.schedule_1": "1. Open Manage -> the Schedule & print tab for a race event. Set a start time and the gap between sessions (default 3 minutes) and click Save schedule.",
"guide.schedule_2": "2. Every session's planned clock time is worked out in running order (practice, then qualifying, then finals) from the start time, each session's own duration/follow-up, and the gap between sessions.",
"guide.schedule_3": "3. As soon as a session actually starts or finishes, the rest of the schedule automatically shifts to match reality - a late start or a session that runs long (including any pause) pushes the rest of the day forward with no manual recalculation. A session that started more than a minute late is marked \"Delayed\".",

View File

@@ -36,10 +36,28 @@ export function renderGuideView({ dom, t }) {
${renderGuideOverviewCard("guide.archive_title", "guide.card_archive_blurb", { t })}
${renderGuideOverviewCard("guide.windows_title", "guide.card_decoder_blurb", { t })}
${renderGuideOverviewCard("guide.schedule_title", "guide.card_schedule_blurb", { t })}
${renderGuideOverviewCard("guide.videos_title", "guide.card_videos_blurb", { t })}
</div>
</div>
</section>
<div class="guide-section-grid mt-16">
<section class="panel">
<div class="panel-header"><h3>${t("guide.videos_title")}</h3></div>
<div class="panel-body">
<ul class="guide-list">
<li><a href="/docs/videos/connect-decoder.mkv" target="_blank" rel="noopener">${t("guide.video_connect_decoder")}</a></li>
<li><a href="/docs/videos/add-drivers-cars.mkv" target="_blank" rel="noopener">${t("guide.video_add_drivers_cars")}</a></li>
<li><a href="/docs/videos/create-race.mkv" target="_blank" rel="noopener">${t("guide.video_create_race")}</a></li>
<li><a href="/docs/videos/run-a-session.mkv" target="_blank" rel="noopener">${t("guide.video_run_session")}</a></li>
<li><a href="/docs/videos/settings-tabs.mkv" target="_blank" rel="noopener">${t("guide.video_settings_tabs")}</a></li>
<li><a href="/docs/videos/event-manager-tabs.mkv" target="_blank" rel="noopener">${t("guide.video_event_manager_tabs")}</a></li>
<li><a href="/docs/videos/event-schedule.mkv" target="_blank" rel="noopener">${t("guide.video_event_schedule")}</a></li>
</ul>
</div>
</section>
</div>
<div class="guide-section-grid mt-16">
${renderGuidePanel("guide.race_day_title", ["guide.race_day_1", "guide.race_day_2", "guide.race_day_3", "guide.race_day_4", "guide.race_day_5", "guide.race_day_6", "guide.race_day_7", "guide.race_day_8"], "", { t })}
</div>