prop/lib/microwaveprop_web/components/layouts/root.html.heex
2026-05-31 16:47:11 -05:00

111 lines
5.2 KiB
Text
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" />
<meta name="csrf-token" content={get_csrf_token()} />
<%!--
OpenStreetMap's tile usage policy requires a Referer header identifying
the site using their tiles. strict-origin-when-cross-origin sends just
the origin (e.g. https://prop.w5isp.com) on cross-origin HTTPS requests,
which is the minimum OSM asks for. Explicit so we don't silently lose
the Referer if a future browser default changes.
--%>
<meta name="referrer" content="strict-origin-when-cross-origin" />
<meta name="color-scheme" content="light dark" />
<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#1d232a" media="(prefers-color-scheme: dark)" />
<meta
name="description"
content={
assigns[:meta_description] ||
"North Texas Microwave Society's propagation prediction service for amateur radio bands 10241 GHz. Real-time CONUS propagation scores using HRRR numerical weather prediction, ITU-R atmospheric models, and calibration against 58,000+ recorded QSOs."
}
/>
<link rel="canonical" href={assigns[:canonical_url]} />
<link rel="icon" href={~p"/favicon.svg"} type="image/svg+xml" />
<link rel="icon" href={~p"/favicon.ico"} sizes="any" />
<link rel="apple-touch-icon" href={~p"/favicon.svg"} />
<meta property="og:title" content={page_title(assigns)} />
<meta
property="og:description"
content={
assigns[:meta_description] ||
"North Texas Microwave Society's propagation prediction service for amateur radio bands 10241 GHz."
}
/>
<meta property="og:url" content={assigns[:canonical_url]} />
<meta property="og:type" content={assigns[:og_type] || "website"} />
<meta property="og:site_name" content="NTMS Microwave Propagation" />
<meta property="og:image" content={assigns[:og_image] || ~p"/images/og-default.svg"} />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="675" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={page_title(assigns)} />
<meta
name="twitter:description"
content={
assigns[:meta_description] ||
"North Texas Microwave Society's propagation prediction service for amateur radio bands 10241 GHz."
}
/>
<meta name="twitter:image" content={assigns[:og_image] || ~p"/images/og-default.svg"} />
<.live_title default="NTMS Microwave Propagation" suffix=" · NTMS Microwave Propagation">
{assigns[:page_title]}
</.live_title>
<link rel="preconnect" href="https://a.tile.openstreetmap.org" crossorigin />
<link rel="preconnect" href="https://b.tile.openstreetmap.org" crossorigin />
<link rel="preconnect" href="https://c.tile.openstreetmap.org" crossorigin />
<link rel="dns-prefetch" href="https://a.tile.openstreetmap.org" />
<link rel="dns-prefetch" href="https://b.tile.openstreetmap.org" />
<link rel="dns-prefetch" href="https://c.tile.openstreetmap.org" />
<link phx-track-static rel="stylesheet" href={~p"/assets/css/app.css"} />
<script phx-track-static type="module" src={~p"/assets/js/app.js"}>
</script>
<script>
(() => {
const setTheme = (theme) => {
if (theme === "system") {
localStorage.removeItem("phx:theme");
document.documentElement.removeAttribute("data-theme");
} else {
localStorage.setItem("phx:theme", theme);
document.documentElement.setAttribute("data-theme", theme);
}
};
if (!document.documentElement.hasAttribute("data-theme")) {
setTheme(localStorage.getItem("phx:theme") || "system");
}
window.addEventListener("storage", (e) => e.key === "phx:theme" && setTheme(e.newValue || "system"));
window.addEventListener("phx:set-theme", (e) => setTheme(e.target.dataset.phxTheme));
})();
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "NTMS Microwave Propagation",
"url": "https://prop.w5isp.com",
"description": "North Texas Microwave Society's propagation prediction service for amateur radio bands 10241 GHz. Scores propagation conditions across CONUS using HRRR numerical weather prediction, sounding data, ITU-R atmospheric models, and calibration against 58,000+ recorded QSOs.",
"applicationCategory": "ScienceApplication",
"operatingSystem": "All",
"author": {
"@type": "Organization",
"name": "North Texas Microwave Society",
"url": "https://ntms.org"
}
}
</script>
</head>
<body>
{@inner_content}
<script async src="https://a.w5isp.com/js/pa-3eKACFxtbw6MHrTDA28wG.js">
</script>
<script>
window.plausible = window.plausible || function () { (plausible.q = plausible.q || []).push(arguments) };
plausible.init = plausible.init || function (i) { plausible.o = i || {} };
plausible.init();
</script>
</body>
</html>