From 41851db7c564da56c88fb61167155abb16c74ecc Mon Sep 17 00:00:00 2001 From: Justin Oros Date: Wed, 7 Oct 2026 16:32:51 -0700 Subject: [PATCH] Add Starlink referral link --- css/style.css | 12 ++++++++++++ js/app.js | 10 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/css/style.css b/css/style.css index a8440d7e..6623f452 100644 --- a/css/style.css +++ b/css/style.css @@ -290,6 +290,18 @@ h1 { .result a, .meta a { color: var(--strand-deep); } +.referral { margin: 6px 0; font-size: 0.95rem; } + +.tag { + display: inline-block; + padding: 0 6px; + font-size: 0.75rem; + color: var(--muted); + border: 1px solid var(--line); + border-radius: 8px; + vertical-align: 1px; +} + .note { margin: 0; font-size: 0.92rem; color: var(--muted); } .error { margin: 0; color: var(--error); } diff --git a/js/app.js b/js/app.js index 70ce52c0..dd2700e6 100644 --- a/js/app.js +++ b/js/app.js @@ -1,4 +1,5 @@ const RADIUS_KM = 80.4672; +const STARLINK_REFERRAL = "https://starlink.com/?referral=RC-788529-72791-32&app_source=share"; const KM_PER_MI = 1.609344; let COLORS = { strand: "#0A8F99", jacket: "#F0B400", ink: "#17212B", contract: "#A23B72" }; const DARK_QUERY = window.matchMedia("(prefers-color-scheme: dark)"); @@ -290,6 +291,15 @@ function starlinkBlock(place, sl) { else if (sl.near) text = `Starlink reports service close by, up to ${fmtSpeed(sl.down)} down and ${fmtSpeed(sl.up)} up.`; else text = "Starlink does not report service here."; b.append(el("p", null, text)); + if (STARLINK_REFERRAL && sl && (sl.here || sl.near)) { + const r = el("p", "referral"); + const a = el("a", null, "this referral link"); + a.href = STARLINK_REFERRAL; + a.target = "_blank"; + a.rel = "noopener sponsored"; + r.append("Ordering Starlink? Use ", a, " and we both get a free month. ", el("span", "tag", "Referral link")); + b.append(r); + } const n = el("p", "note"); n.append("Starlink can waitlist areas that are at capacity, so confirm on "); const a = el("a", null, "starlink.com");