2026-07-11 02:58:56 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="en">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8" />
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
|
<title>Thermograph — compare comfort</title>
|
|
|
|
|
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
|
|
|
|
|
<link rel="stylesheet" href="style.css" />
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<header>
|
|
|
|
|
<div class="brand">
|
|
|
|
|
<span class="logo">▚</span>
|
|
|
|
|
<div>
|
|
|
|
|
<h1>Thermograph · Compare</h1>
|
|
|
|
|
<p class="tag">Which place best hits your comfort temperature over a date range</p>
|
|
|
|
|
</div>
|
|
|
|
|
<nav class="view-nav" aria-label="Views">
|
|
|
|
|
<a href="./" data-view="map">Weekly</a>
|
|
|
|
|
<a href="calendar" data-view="calendar">Calendar</a>
|
|
|
|
|
<a href="day" data-view="day">Day</a>
|
|
|
|
|
<a href="compare" data-view="compare" class="active">Compare</a>
|
|
|
|
|
</nav>
|
|
|
|
|
</div>
|
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<main>
|
|
|
|
|
<!-- Locations to line up against each other. -->
|
|
|
|
|
<section class="controls">
|
|
|
|
|
<div class="cmp-locs">
|
|
|
|
|
<span class="cal-filter-label">Locations</span>
|
|
|
|
|
<ul id="cmp-loc-list" class="cmp-loc-list"></ul>
|
2026-07-11 03:17:17 +00:00
|
|
|
<div class="cmp-loc-actions">
|
|
|
|
|
<button type="button" id="cmp-add" class="find-btn"></button>
|
|
|
|
|
<button type="button" id="cmp-refresh" class="cmp-refresh-btn" hidden>Refresh comparison ↻</button>
|
|
|
|
|
</div>
|
2026-07-11 02:58:56 +00:00
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- The comfort target, what temperature to judge by, the tolerance band, and
|
|
|
|
|
the date range. Comfort/band/basis recompute instantly (no refetch); only
|
|
|
|
|
the date range or the location set trigger a data load. -->
|
|
|
|
|
<div id="cmp-params" class="cmp-params" hidden>
|
|
|
|
|
<div class="cmp-param cmp-comfort">
|
|
|
|
|
<label for="cmp-comfort">Comfort temperature <b id="cmp-comfort-val"></b></label>
|
|
|
|
|
<input id="cmp-comfort" type="range" min="30" max="100" step="1" />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="cmp-param cmp-band">
|
|
|
|
|
<label for="cmp-tol">Comfort band <b id="cmp-tol-val"></b></label>
|
|
|
|
|
<input id="cmp-tol" type="range" min="0" max="15" step="1" />
|
|
|
|
|
<span class="hint">A day "hits comfort" when it lands within this many degrees.</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="cmp-param cmp-basis-block">
|
|
|
|
|
<span class="cal-filter-label">Judge each day by its</span>
|
|
|
|
|
<div class="metric-toggle" id="cmp-basis" role="group" aria-label="Temperature to compare">
|
|
|
|
|
<button type="button" data-basis="tmax" class="active">High</button>
|
|
|
|
|
<button type="button" data-basis="mean">Mean</button>
|
|
|
|
|
<button type="button" data-basis="tmin">Low</button>
|
|
|
|
|
<button type="button" data-basis="feels">Feels</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="cmp-param cmp-range cal-range" id="cmp-range">
|
|
|
|
|
<div class="cal-range-head">
|
|
|
|
|
<span class="cal-filter-label">Date range</span>
|
|
|
|
|
<span class="hint">any span; longer loads take a moment</span>
|
|
|
|
|
</div>
|
|
|
|
|
<label>From <input id="cmp-start" type="month" /></label>
|
|
|
|
|
<label>To <input id="cmp-end" type="month" /></label>
|
2026-07-11 03:17:17 +00:00
|
|
|
<span class="hint">Editing the range arms Refresh — tap it to reload.</span>
|
2026-07-11 02:58:56 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="cmp-head" class="cal-head" hidden></div>
|
|
|
|
|
|
|
|
|
|
<div class="placeholder" id="cmp-placeholder">
|
|
|
|
|
<p>Add two or more places to see which one best matches your comfort temperature
|
|
|
|
|
across a date range — the share of days that land in your comfort band, how
|
|
|
|
|
often it runs colder or warmer, and by how much.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="cmp-results" class="cmp-results"></div>
|
|
|
|
|
</main>
|
|
|
|
|
|
|
|
|
|
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
|
|
|
|
|
<script src="nav.js"></script>
|
|
|
|
|
<script src="mappicker.js"></script>
|
|
|
|
|
<script src="compare.js"></script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|