mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 02:14:01 +00:00
At 720px and narrower the globe stays full screen and a bottom tab bar (Layers, Cameras, Context, Search, More) opens one bottom sheet at a time, presenting the existing rail and dock panels in place. Sheets borrow panels without persisting or sharing them and put back what they changed. Cockpit, recording and clean view close the sheet; scene playback keeps STOP reachable. Focus moves into the sheet and back to its tab, the required attribution stays visible above the voice control and any sheet, and the page uses safe-area insets. Wider viewports are unchanged. Adapted from the phone tab-shell proposed in #203 by @blearymoth.
53 lines
2.7 KiB
HTML
53 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>God's Eye View</title>
|
|
<!-- Raster fallbacks: Safari ignores an SVG apple-touch-icon and falls back to a
|
|
screenshot of the page, so an installed app needs a real PNG. Regenerate
|
|
these from the logo with `node scripts/generate-icons.mjs`. -->
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/icons/icon-32.png" />
|
|
<!-- Listed after the PNG: browsers that use the last usable icon keep the SVG
|
|
for the tab. -->
|
|
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/icons/icon-180.png" />
|
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
<meta name="theme-color" content="#0a0a0f" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
|
<meta name="apple-mobile-web-app-title" content="God's Eye" />
|
|
<link rel="stylesheet" href="/style.css" />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet" />
|
|
<!-- Icon font subset to the glyphs this app renders. Keep `icon_names` in sync
|
|
with the sources: src/materialSymbolsSubset.test.mjs fails when a source
|
|
names a glyph this list is missing, because a missing glyph does not draw
|
|
a box — the ligature never forms and the element renders the literal word. -->
|
|
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,400,0,0&icon_names=adjust,arrow_drop_down,arrow_forward,arrow_left,arrow_right,bolt,chevron_left,chevron_right,close,close_fullscreen,dark_mode,draw,east,flare,flight,layers,layers_clear,light_mode,local_fire_department,more_horiz,my_location,navigation,normal,on,open_in_full,public,radar,radio,right_panel_close,right_panel_open,rocket_launch,search,skip_next,skip_previous,upload_file,videocam,view_in_ar,visibility,visibility_off" rel="stylesheet" />
|
|
</head>
|
|
<body>
|
|
<!-- gev:template scene-chrome -->
|
|
|
|
<!-- gev:template cockpit -->
|
|
|
|
<!-- gev:template display-controls -->
|
|
|
|
<!-- gev:template command-dock -->
|
|
|
|
<!-- gev:template layer-panels -->
|
|
|
|
<!-- gev:template context -->
|
|
|
|
<!-- gev:template welcome -->
|
|
|
|
<!-- gev:template provider-settings -->
|
|
|
|
<!-- gev:template hud-loading -->
|
|
|
|
<script type="module" src="/src/main.js"></script>
|
|
</body>
|
|
</html>
|