From 6a9daeab0d6cf7a2d4f759027fa81b331afa4008 Mon Sep 17 00:00:00 2001 From: James Pattinson Date: Fri, 26 Jun 2026 08:21:24 -0400 Subject: [PATCH] More mobile tidy --- src/pages/pilot-info.astro | 11 +++-- src/styles/global.css | 93 +++++++++++++++++++++++++++++++++++++- 2 files changed, 98 insertions(+), 6 deletions(-) diff --git a/src/pages/pilot-info.astro b/src/pages/pilot-info.astro index 4baa25b..61c8f8a 100644 --- a/src/pages/pilot-info.astro +++ b/src/pages/pilot-info.astro @@ -5,6 +5,7 @@ import { getFuelPrices } from '../lib/directus'; import { site } from '../lib/site'; const runwayPattern = /^Runway\s+(\d+)\s+-\s+([^\s]+)\s+LDA\s+\(([^)]+)\)\s+Code\s+(\d+)\s+\(([^)]+)\)$/; +const runwayHeaders = ['Runway', 'LDA', 'Surface', 'Code', 'Circuits']; const runwayRows = site.runwayFacts .map((fact) => { @@ -114,11 +115,11 @@ When the Tower is unavailable, this will be NOTAMed and blind calls to Swansea T {runwayRows.map((runway) => ( - {runway.runway} - {runway.lda} - {runway.surface} - {runway.code} - {runway.circuits} + {runway.runway} + {runway.lda} + {runway.surface} + {runway.code} + {runway.circuits} ))} diff --git a/src/styles/global.css b/src/styles/global.css index a9dec57..12eb038 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -971,6 +971,97 @@ section { } .runway-facts-table { - min-width: 38rem; + min-width: 0; + border: 0; + border-radius: 0; + background: transparent; + box-shadow: none; + } + + .runway-table-wrap { + overflow: visible; + } + + .runway-facts-table, + .runway-facts-table tbody, + .runway-facts-table tr, + .runway-facts-table td { + display: block; + width: 100%; + } + + .runway-facts-table thead { + display: none; + } + + .runway-facts-table tbody { + display: grid; + gap: 0.75rem; + } + + .runway-facts-table tr { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0.5rem; + border: 1px solid var(--line); + border-radius: var(--radius-sm); + padding: 0.75rem; + background: rgba(255, 255, 255, 0.88); + box-shadow: 0 10px 22px rgba(16, 34, 51, 0.07); + } + + .runway-facts-table tbody tr:nth-child(even), + .runway-facts-table tbody tr:hover { + background: rgba(255, 255, 255, 0.88); + } + + .runway-facts-table td { + display: grid; + gap: 0.18rem; + min-height: 3.4rem; + padding: 0.62rem 0.7rem; + border: 1px solid rgba(16, 34, 51, 0.08); + border-radius: 0.7rem; + background: rgba(255, 255, 255, 0.72); + font-weight: 800; + line-height: 1.2; + white-space: normal; + } + + .runway-facts-table td:first-child { + display: flex; + align-items: center; + gap: 0.45rem; + grid-column: 1 / -1; + min-height: 0; + padding: 0.85rem; + border: 0; + background: linear-gradient(180deg, rgba(11, 79, 122, 0.12), rgba(29, 118, 184, 0.07)); + color: var(--text); + font-size: 1.08rem; + font-weight: 800; + } + + .runway-facts-table td:first-child::before { + content: 'Runway'; + color: var(--brand); + font-size: 0.78rem; + font-weight: 800; + letter-spacing: 0.04em; + text-transform: uppercase; + } + + .runway-facts-table td:last-child { + border-bottom: 1px solid rgba(16, 34, 51, 0.08); + } + + .runway-facts-table td::before { + content: attr(data-label); + color: var(--brand); + font-size: 0.68rem; + font-weight: 800; + letter-spacing: 0.04em; + line-height: 1; + text-transform: uppercase; } }