Files
xprov/index.html
T
2026-07-24 12:24:16 +01:00

122 lines
3.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>XPro Map Visualizer</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,400,0,0" />
<link rel="stylesheet" href="./vendor/ol.css" />
<link rel="stylesheet" href="./styles.css" />
</head>
<body>
<div class="app-shell">
<div
id="message-region"
class="message-region"
aria-label="Application messages"
aria-live="polite"
aria-relevant="additions"
></div>
<button
id="sidebar-open"
class="sidebar-toggle sidebar-open"
type="button"
aria-controls="sidebar"
aria-expanded="true"
>
<span aria-hidden="true"></span>
<span class="visually-hidden">Open map controls</span>
</button>
<aside id="sidebar" class="sidebar" aria-label="Map controls">
<button id="sidebar-close" class="sidebar-toggle sidebar-close" type="button">
<span aria-hidden="true">×</span>
<span class="visually-hidden">Close map controls</span>
</button>
<div class="sidebar-content">
<div class="brand">
<h1>
<img class="brand-logo" src="./assets/brand/xpro-logo-simple.svg" alt="XPro" />
<span class="visually-hidden">XPro</span>
</h1>
<p class="brand-subtitle">Map Visualizer</p>
</div>
<section class="panel">
<div class="panel-heading">
<h2>Find</h2>
</div>
<form id="parcel-search-form" class="parcel-search-form">
<input
id="parcel-search-input"
name="parcel"
type="search"
inputmode="text"
placeholder="e.g. 57 or 2669.1"
autocomplete="off"
aria-label="Parcel number"
required
/>
<button type="submit">Find on map</button>
</form>
<p id="parcel-search-status" class="status" aria-live="polite"></p>
</section>
<section class="panel">
<div class="panel-heading">
<h2>Layers</h2>
<span id="layer-count" class="badge">0</span>
</div>
<p id="status" class="status">Waiting for connection.</p>
<div id="layer-list" class="layer-list empty">
Loading published layers.
</div>
</section>
<section class="panel">
<div class="panel-heading">
<h2>Background</h2>
</div>
<label class="background-selector" for="background-select">
<span>Base map</span>
<select id="background-select" name="background">
<option value="soft">Soft minimal</option>
<option value="openstreetmap">OpenStreetMap</option>
<option value="satellite">Satellite imagery</option>
</select>
</label>
</section>
</div>
</aside>
<main class="map-wrap">
<div id="map" aria-label="Map view"></div>
</main>
<div id="feature-modal" class="feature-modal" hidden>
<div class="feature-modal-backdrop" data-feature-modal-close></div>
<section
class="feature-modal-dialog"
role="dialog"
aria-modal="true"
aria-labelledby="feature-modal-title"
>
<button
id="feature-modal-close"
class="feature-modal-close"
type="button"
aria-label="Close feature information"
>
×
</button>
<div id="feature-modal-content"></div>
</section>
</div>
</div>
<script src="./vendor/ol.js"></script>
<script src="./app.js"></script>
</body>
</html>