mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
The scene chrome, cockpit, Display controls, command dock, layer panels, Context rail, welcome card and Provider Settings move verbatim into src/ui/views and mount into their hosts before the page is translated and wired. Each view renders the same elements, attributes and text as its template; Vue keeps whitespace between elements as one space, and no view markup sits under a white-space: pre rule. Template asset URLs stay literal, view files are left out of Prettier so the markup is not reflowed, and the Node component loader moves to build/ and is exported as build/register-vue for host test runners. Hosts that do not initialize Core's locale pass localePicker: false instead of editing the markup.
61 lines
4.1 KiB
Vue
61 lines
4.1 KiB
Vue
<template>
|
|
<!-- Explicit mission choice on a fresh session. Live feeds are not auto-enabled
|
|
until the visitor asks; shared links skip this surface entirely. It returns
|
|
every session until "Don't show this again" is ticked — see
|
|
src/firstRunExperience.js for the full show policy. -->
|
|
<aside id="first-run-launcher" role="dialog" aria-labelledby="first-run-title" aria-describedby="first-run-description" hidden>
|
|
<div class="first-run-scanline" aria-hidden="true"></div>
|
|
<header class="first-run-header">
|
|
<span class="first-run-kicker" data-i18n>MISSION CONTROL · FIRST LAUNCH</span>
|
|
</header>
|
|
<h2 id="first-run-title" data-i18n>Choose your first view</h2>
|
|
<!-- The card's one persuasive line, owner-authored and VERBATIM (2026-08-23)
|
|
— including the unspaced em dash. The arc it has to carry: this looks
|
|
like something you should not have access to → the sources are all
|
|
public → the data is real. Tile subcopy stays purely functional. -->
|
|
<p id="first-run-description" data-i18n-runtime>It feels like a forbidden cockpit—then you realize the sources are public and the data is real.</p>
|
|
<div class="first-run-choices">
|
|
<button type="button" data-first-run-choice="contacts">
|
|
<span class="material-symbols-outlined" aria-hidden="true">radar</span>
|
|
<span><strong data-i18n>LIVE CONTACTS</strong><small data-i18n>Aircraft, vessels and nearby intelligence</small></span>
|
|
<span class="material-symbols-outlined first-run-arrow" aria-hidden="true">arrow_forward</span>
|
|
</button>
|
|
<button type="button" data-first-run-choice="space-missions">
|
|
<span class="material-symbols-outlined" aria-hidden="true">rocket_launch</span>
|
|
<span><strong data-i18n>SPACE MISSIONS</strong><small data-i18n>Launches, spacecraft and orbital context</small></span>
|
|
<span class="material-symbols-outlined first-run-arrow" aria-hidden="true">arrow_forward</span>
|
|
</button>
|
|
<button type="button" data-first-run-choice="environmental">
|
|
<span class="material-symbols-outlined" aria-hidden="true">local_fire_department</span>
|
|
<!-- Title text is painted from ENVIRONMENTAL_LABEL_CHOICE at init. -->
|
|
<!-- Subcopy names BOTH feeds this tile turns on, because the launcher
|
|
optimizes for the fully configured experience (owner ruling,
|
|
2026-08-23) — see the mission table in src/firstRunExperience.js. -->
|
|
<span data-i18n-runtime><strong data-first-run-environmental-title>ENVIRONMENTAL</strong><small>Live earthquakes and active fires, from USGS and NASA</small></span>
|
|
<span class="material-symbols-outlined first-run-arrow" aria-hidden="true">arrow_forward</span>
|
|
</button>
|
|
<button type="button" class="first-run-explore" data-first-run-choice="explore">
|
|
<span class="material-symbols-outlined" aria-hidden="true">public</span>
|
|
<span><strong data-i18n>EXPLORE MANUALLY</strong><small data-i18n>Begin with a clean globe</small></span>
|
|
<span class="material-symbols-outlined first-run-arrow" aria-hidden="true">arrow_forward</span>
|
|
</button>
|
|
</div>
|
|
<div class="first-run-footer">
|
|
<label class="first-run-suppress">
|
|
<input type="checkbox" data-first-run-suppress />
|
|
<span data-i18n>Don't show this again</span>
|
|
</label>
|
|
<!-- A button, not just a hint: phones and tablets have no ESC key. It
|
|
closes exactly as ESC does, for this session only. Touch screens
|
|
see DISMISS; a keyboard keeps the ESC hint (first-run.css). -->
|
|
<button type="button" class="first-run-dismiss" data-first-run-dismiss>
|
|
<span class="first-run-dismiss-key" data-i18n>ESC to dismiss</span>
|
|
<span class="first-run-dismiss-touch" data-i18n>DISMISS</span>
|
|
</button>
|
|
</div>
|
|
<!-- Kept out of the footer row: it swaps to mission progress and errors, and
|
|
a live region that also holds layout makes the row jump as it speaks. -->
|
|
<p class="first-run-note" data-first-run-status role="status" aria-live="polite" data-i18n>Tip: the GEV MIC button in the dock lets you talk to the map.</p>
|
|
</aside>
|
|
</template>
|