Skip to main content

max / balanced_breakfast

Name themes.js as the third adopter of the described theme picker makeover-layout 0.38.0 describes the theme picker (518c650a, ruled by Max on 70028e00), and goingson and audiofiles both took it. This frontend is the last hand-written one in the tree and the only live optgroup left in it, which is the measurement that made the picker worth describing at all. A comment rather than a conversion: this frontend has not been ported, so the note is there to stop the port hand-writing a fourth one. Both of the other two ported the grouping into a described Select first and sat flat for a month, which is the specific mistake worth naming in advance.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_01AAbx8dxVmuVeyKbKoRrUL2
Author: Max Johnson <me@maxj.phd> · 2026-08-28 19:27 UTC
Signed with PGP, not checked
Commit: 94220f123306dbd646fcca611b386e69e04e142f
Parent: d330182
2 files changed, +26 insertions, -12 deletions
M Cargo.lock +12 -12
@@ -8073,18 +8073,6 @@
8073 8073 "winnow 1.0.4",
8074 8074 ]
8075 8075
8076 - [[patch.unused]]
8077 - name = "kberg"
8078 - version = "0.1.0"
8079 -
8080 - [[patch.unused]]
8081 - name = "ops-status"
8082 - version = "0.1.0"
8083 -
8084 - [[patch.unused]]
8085 - name = "painhours"
8086 - version = "0.1.0"
8087 -
8088 8076 [[patch.unused]]
8089 8077 name = "quasi-axum"
8090 8078 version = "0.74.0"
@@ -8120,3 +8108,15 @@
8120 8108 [[patch.unused]]
8121 8109 name = "quasi-webview"
8122 8110 version = "0.74.0"
8111 +
8112 + [[patch.unused]]
8113 + name = "kberg"
8114 + version = "0.1.0"
8115 +
8116 + [[patch.unused]]
8117 + name = "ops-status"
8118 + version = "0.1.0"
8119 +
8120 + [[patch.unused]]
8121 + name = "painhours"
8122 + version = "0.1.0"
@@ -135,6 +135,20 @@
135 135 return;
136 136 }
137 137
138 + // THE THIRD ADOPTER OF `FieldKind::Theme`, when this frontend converts.
139 + //
140 + // Everything below -- the three variant filters, the optgroup builder,
141 + // the follow-the-system option in front of them -- is described as of
142 + // makeover-layout 0.38.0, and goingson and audiofiles both took it on
143 + // 2026-08-28. This is the last hand-written theme picker in the tree
144 + // and the only live `optgroup` left in it, which is the measurement
145 + // that made the picker worth describing at all (`70028e00`).
146 + //
147 + // So the conversion replaces this whole function with one
148 + // `Field::theme` over `makeover::theme_options`, and it gets the
149 + // contrast badge for free -- a fact this picker never had. It does not
150 + // port the grouping by hand into a described `Select`, which is what
151 + // both of the other two did first and what left them flat for a month.
138 152 const selection = await storedSelection() ?? FOLLOW;
139 153 const light = themes.filter(t => t.variant === 'light');
140 154 const dark = themes.filter(t => t.variant === 'dark');