9 Commits

Author SHA1 Message Date
lyrathorpe 65f97d2707 Merge pull request 'feat: present theme switch as a segmented control' (#15) from feat/segmented-theme-switch into main
Build and publish container / build (push) Successful in 6m7s
Reviewed-on: #15
2026-06-12 11:45:08 +01:00
Emma Thorpe ad90451846 feat: present theme switch as a segmented control
Build and publish container / build (pull_request) Successful in 4m49s
Join the two theme options into a single rounded container with the active
segment filled and a divider between them, replacing the two separate pills.
Markup and aria-pressed behaviour are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 11:34:32 +01:00
renovate-bot 1a0ffead5a Merge pull request 'chore(deps): update docker base image to v1.31' (#8) from renovate/docker-base-image into main
Build and publish container / build (push) Successful in 6m21s
2026-06-12 01:14:42 +01:00
Renovate Bot 719956341c chore(deps): update docker base image to v1.31
Build and publish container / build (pull_request) Successful in 4m38s
2026-06-12 00:02:27 +00:00
lyrathorpe 2a1e6dc8a4 Merge pull request 'feat(messages): add initial messages' (#6) from feat/reasons-why into main
Build and publish container / build (push) Successful in 5m59s
Reviewed-on: #6
2026-06-11 21:08:15 +01:00
lyrathorpe 6b19a55655 feat(messages): add initial messages
Build and publish container / build (pull_request) Successful in 4m22s
more added later on
2026-06-11 21:03:31 +01:00
lyrathorpe a2b9d445e4 Merge pull request 'Fix/theme colours' (#5) from fix/theme-colours into main
Build and publish container / build (push) Successful in 6m18s
Reviewed-on: #5
2026-06-11 17:49:40 +01:00
Emma Thorpe a14306cce4 fix: recolour original theme to a cream field with blue text
Build and publish container / build (pull_request) Successful in 4m51s
Use a cream/white background with navy message text and red buttons, so the
original red/white/blue livery presents blue text rather than white text on a
blue field.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 17:41:55 +01:00
Emma Thorpe 43f42a8274 fix: use solid theme backgrounds instead of a gradient
Replace the body background gradient with the solid theme colour and remove
the now-unused --bg-accent variables from both colour schemes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 17:36:47 +01:00
3 changed files with 31 additions and 22 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
# Lightweight, non-root nginx serving the static site. # Lightweight, non-root nginx serving the static site.
# Runs as user "nginx" and listens on 8080, ready to sit behind an # Runs as user "nginx" and listens on 8080, ready to sit behind an
# external reverse proxy that terminates TLS and forwards requests. # external reverse proxy that terminates TLS and forwards requests.
FROM nginxinc/nginx-unprivileged:1.27-alpine-slim FROM nginxinc/nginx-unprivileged:1.31-alpine-slim@sha256:6616de6eaa82bc2ee3541fa287a8fca7dc7271e6374e9402014dbd13f4a980ae
COPY default.conf /etc/nginx/conf.d/default.conf COPY default.conf /etc/nginx/conf.d/default.conf
COPY --chown=nginx:nginx index.html styles.css script.js messages.js /usr/share/nginx/html/ COPY --chown=nginx:nginx index.html styles.css script.js messages.js /usr/share/nginx/html/
+9 -4
View File
@@ -11,8 +11,13 @@
*/ */
const MESSAGES = [ const MESSAGES = [
"PLACEHOLDER: write your first reason here", "Maggie came back, she was unimpressed",
"PLACEHOLDER: write another reason here", "They mixed up the B23s and the 2024 tube stock",
// Add as many entries as you like, one per line: "The computer went on strike",
// "Your reason here", "Leaves on the track",
"Escalators broke at Cutty Sark",
"EHRC decided it was woke",
"JK Rowling",
"Kaiju",
"28 Days Later happened",
]; ];
+21 -17
View File
@@ -10,7 +10,6 @@
/* Modern DLR — turquoise/teal */ /* Modern DLR — turquoise/teal */
[data-theme="modern"] { [data-theme="modern"] {
--bg: #00afaa; --bg: #00afaa;
--bg-accent: #007e7a;
--surface: #ffffff; --surface: #ffffff;
--text: #ffffff; --text: #ffffff;
--message: #ffffff; --message: #ffffff;
@@ -20,17 +19,16 @@
--button-active-text: #ffffff; --button-active-text: #ffffff;
} }
/* Original DLR — 1987 red and blue */ /* Original DLR — 1987 red, white and blue */
[data-theme="original"] { [data-theme="original"] {
--bg: #002b5c; --bg: #f5f0e1;
--bg-accent: #c8102e; --surface: #002b5c;
--surface: #f5f0e1; --text: #002b5c;
--text: #f5f0e1; --message: #002b5c;
--message: #f5f0e1;
--button-bg: #c8102e; --button-bg: #c8102e;
--button-text: #f5f0e1; --button-text: #f5f0e1;
--button-active-bg: #f5f0e1; --button-active-bg: #002b5c;
--button-active-text: #002b5c; --button-active-text: #f5f0e1;
} }
* { * {
@@ -44,7 +42,7 @@ body {
flex-direction: column; flex-direction: column;
font-family: var(--font-stack); font-family: var(--font-stack);
color: var(--text); color: var(--text);
background: linear-gradient(135deg, var(--bg) 0%, var(--bg-accent) 100%); background: var(--bg);
transition: background 0.4s ease, color 0.4s ease; transition: background 0.4s ease, color 0.4s ease;
} }
@@ -65,10 +63,13 @@ body {
padding: 1.5rem; padding: 1.5rem;
} }
/* Segmented control: both options joined in one rounded container,
with the active segment filled. */
.theme-toggle { .theme-toggle {
display: flex; display: inline-flex;
gap: 0.5rem; border: 2px solid var(--button-bg);
border: none; border-radius: 999px;
overflow: hidden;
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
@@ -77,19 +78,22 @@ body {
font-family: inherit; font-family: inherit;
font-size: 0.9rem; font-size: 0.9rem;
font-weight: 600; font-weight: 600;
padding: 0.5rem 1rem; padding: 0.5rem 1.1rem;
border: 2px solid var(--button-bg); border: none;
border-radius: 999px;
background: transparent; background: transparent;
color: var(--text); color: var(--text);
cursor: pointer; cursor: pointer;
transition: background 0.2s ease, color 0.2s ease; transition: background 0.2s ease, color 0.2s ease;
} }
/* Divider between the two segments. */
.theme-button + .theme-button {
border-left: 2px solid var(--button-bg);
}
.theme-button[aria-pressed="true"] { .theme-button[aria-pressed="true"] {
background: var(--button-active-bg); background: var(--button-active-bg);
color: var(--button-active-text); color: var(--button-active-text);
border-color: var(--button-active-bg);
} }
.stage { .stage {