From c4496c545fdb4975e330ccbaa1a7d88fb302a7a8 Mon Sep 17 00:00:00 2001 From: itsrubberduck Date: Thu, 9 Jul 2026 17:26:29 +0200 Subject: [PATCH] feat(classroom-intro): add Classroom/Live ATC alpha chooser LiveATC is now in alpha, not closed testing, so the intro offers both paths up front: Classroom (default, dry radio practice) or Live ATC alpha test connected to the simulator, with an honest disclaimer that it's not fully reliable yet and we want bug reports. --- app/pages/classroom-introduction.vue | 58 +++++++++++++++++++++------- 1 file changed, 45 insertions(+), 13 deletions(-) diff --git a/app/pages/classroom-introduction.vue b/app/pages/classroom-introduction.vue index fe5f7fb..4c716c7 100644 --- a/app/pages/classroom-introduction.vue +++ b/app/pages/classroom-introduction.vue @@ -30,27 +30,54 @@ class="inline-flex items-center gap-2 rounded-full border border-cyan-300/40 bg-cyan-400/10 px-4 py-1 text-xs font-semibold uppercase tracking-[0.3em] text-cyan-200/80" >Orientation

- Get comfortable with the Classroom before you call live AI ATC + Choose how you want to get started

- This is your training playground. Live AI controllers for the simulator are still in closed testing, so we - start with the Classroom to build phraseology, timing and confidence. I will guide you through the flow - before you dive into the hub. + Practice dry radio calls at your own pace in the Classroom, or jump into our Live ATC alpha test connected + to your simulator. You can always switch later — Classroom is where most pilots start.

-
-
-
- + +
+
+ Default +
+
-
-

Heads-up

-

- The Classroom mirrors the calls you will make later, but today it runs as a standalone trainer. Treat it - like a warm-up before the live network opens. +

+

Classroom

+

+ Structured, self-paced radio practice. No simulator required — this is where most pilots start.

+ +
+ +
+ Alpha +
+ +
+
+

Live ATC

+

+ Connect your simulator and fly against our live AI controller. Early alpha — not everything works + reliably yet. We'd love your bug reports; this is also how we figure out where to take it next. +

+
+ + Try Live ATC (Alpha) + +
+
  • @@ -510,6 +537,11 @@ function handleClassroomEntry() { markClassroomIntroComplete() } +function scrollToOrientation() { + if (typeof window === 'undefined') return + document.getElementById('orientation')?.scrollIntoView({ behavior: 'smooth', block: 'start' }) +} + const voiceMode = ref('text') const radioLevel = ref(5) const hasCompletedRadioCheck = ref(false)