tooltips: tense-aware expiry (expires/expired) + a <60min 'N min' bucket in the shared relative_ts — TDD
The token + position-circle expiry tooltips hardcoded 'expires' and never flipped to 'expired' once the time passed — a seat whose `cost_current_until` (the 7d cost clock) lapsed still read 'expires 11:30 p.m.' (staging 2026-06-08). - New `expiry_phrase(dt)` filter (lyric_extras): 'expires <when>' for a FUTURE datetime, 'expired <when>' for a PAST one — the verb carries the tense so the underlying `relative_ts` stays direction-agnostic. Wired into `Token.tooltip_expiry` + the position-circle `data-tt-expiry` (position-tooltip.js copies it verbatim, so no JS change). - `relative_ts` gains a <60min → 'N min' bucket (buckets: 60min / 24h / 7d / 12mo / >12mo). Per user-spec it stays SHARED, so scroll.html's provenance feed (+ post.html / my-games row-ts) now reads 'N min' for very recent events too. TDD: relative_ts <60min past+future + the 1h boundary; expiry_phrase none/future/past/wraps-relative_ts; billboard post-line test updated (3h→clock- time, + new just-posted→'N min'). 727 lyric+billboard+gameboard ITs green. Bundled (parallel work): rootvars.scss chroma-hue primaries brightened (--priRd/Or/Gn/Tk/Bl/Id + --terGn). [[project-position-circle-tooltips]] Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -119,16 +119,16 @@
|
||||
|
||||
/* Chroma Hues */
|
||||
// red (A-Fire)
|
||||
--priRd: 233, 53, 37;
|
||||
--priRd: 253, 73, 57;
|
||||
--secRd: 193, 43, 28;
|
||||
--terRd: 155, 31, 15;
|
||||
--quaRd: 119, 20, 4;
|
||||
--quiRd: 85, 11, 0;
|
||||
--sixRd: 54, 4, 0;
|
||||
// orange (B-Fire)
|
||||
--priOr: 225, 133, 40;
|
||||
--priOr: 245, 183, 90;
|
||||
--secOr: 187, 111, 30;
|
||||
--terOr: 150, 88, 17;
|
||||
--terOr: 130, 88, 17;
|
||||
--quaOr: 115, 67, 6;
|
||||
--quiOr: 82, 47, 0;
|
||||
--sixOr: 51, 29, 0;
|
||||
@@ -147,14 +147,14 @@
|
||||
--quiLm: 47, 64, 15;
|
||||
--sixLm: 25, 40, 6;
|
||||
// green (A-Space)
|
||||
--priGn: 0, 160, 75;
|
||||
--priGn: 0, 240, 125;
|
||||
--secGn: 0, 135, 62;
|
||||
--terGn: 0, 109, 48;
|
||||
--terGn: 0, 99, 41;
|
||||
--quaGn: 0, 85, 35;
|
||||
--quiGn: 0, 62, 23;
|
||||
--sixGn: 0, 40, 12;
|
||||
// teal (B-Space)
|
||||
--priTk: 0, 184, 162;
|
||||
--priTk: 0, 204, 182;
|
||||
--secTk: 0, 154, 136;
|
||||
--terTk: 0, 125, 110;
|
||||
--quaTk: 0, 97, 85;
|
||||
@@ -168,14 +168,14 @@
|
||||
--quiCy: 0, 67, 78;
|
||||
--sixCy: 0, 43, 52;
|
||||
// blue (B-Air)
|
||||
--priBl: 20, 141, 205;
|
||||
--priBl: 40, 181, 245;
|
||||
--secBl: 18, 119, 173;
|
||||
--terBl: 8, 95, 140;
|
||||
--quaBl: 3, 73, 109;
|
||||
--quiBl: 0, 52, 79;
|
||||
--sixBl: 0, 33, 51;
|
||||
// indigo (A-Water)
|
||||
--priId: 79, 102, 212;
|
||||
--priId: 111, 133, 244;
|
||||
--secId: 66, 88, 184;
|
||||
--terId: 53, 74, 156;
|
||||
--quaId: 44, 60, 131;
|
||||
|
||||
Reference in New Issue
Block a user