Repository navigation
Add a macOS version picker to the pricing page - #38
Merged
Merged
Conversation
Pro features carry macOS minimums ranging from 14 to 26, so "what do I actually get" depends on the server Mac. A picker now answers that directly: choosing a release highlights the features it can run, dims the rest, and reports a count. Releases are cumulative, which is the whole point of the control: a release includes everything introduced at or below its version, so Tahoe gets the Sequoia and Sonoma features too. That is a <= on the major version, with the catalogue's minimums as the only input. Verified in the browser: Sonoma 5 of 10, Sequoia 7 of 10, Tahoe 10 of 10, each a strict superset of the one before. Names and numbers come from the server's docs/MACOS_COMPATIBILITY.md -- 14 Sonoma, 15 Sequoia, 26 Tahoe. There is no option below 14 because Package.swift declares .macOS(.v14), and none between 15 and 26 because Apple's year-based renumbering means those releases do not exist. State is not carried by colour alone: each card gains a "✓ Included" or "Needs macOS 26" line, and the count is a live region, so the answer survives greyscale and a screen reader. Nothing is selected by default, so the list reads normally until someone asks the question. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The picker opened unselected, so the feature list read as plain until someone used it, and the first real selection a Sonoma user made reported 5 of 10 on a page asking for money. It now opens on the newest release -- Tahoe (26), 10 of 10 -- with the older versions still a click away. The default is derived from MACOS_RELEASES rather than hardcoded, so adding macOS 27 moves it automatically. The default state is rendered server-side: the selected option, each card's data-state, its verdict line and the summary count are all in the HTML. The page is therefore correct before the script runs and without it, and there is no flash of unstyled state on load. The script now only handles changes, and the empty-selection branch is gone with the placeholder option. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The native arrow sits inside the select's right padding, and on a rounded-full pill the 18.5px corner radius curves in over exactly where it renders, so it read as jammed against the edge. Replaces it with appearance-none and our own chevron: 16px, vertically centred to the pixel, 14px clear of the right edge and 10px clear of the text, with right padding raised from 16px to 40px to make room. It reuses the FAQ accordion's chevron path, so the two controls now match, and it inherits text-muted so it themes -- which the native arrow did not. Checked that making it non-native did not break the control: the chevron is pointer-events-none so a click over it still lands on the select, the select remains keyboard focusable, change still filters correctly (5 / 7 / 10 for Sonoma / Sequoia / Tahoe), and the chevron picks up the right colour in both themes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pro features carry macOS minimums from 14 to 26, so what a subscriber actually gets depends on their server Mac. This adds a picker that answers it directly.
Choosing a release highlights the features it can run, dims the rest, and reports a count.
Cumulative, as it should be
A release includes everything introduced at or below its version — Tahoe gets the Sequoia and Sonoma features too. Verified in the browser, each tier a strict superset of the one before:
Where the options come from
14 Sonoma,15 Sequoia,26 Tahoe, taken from the server's owndocs/MACOS_COMPATIBILITY.md.Package.swiftdeclares.macOS(.v14), so the server does not run thereAccessibility
State is not carried by colour alone. Each card gains a
✓ IncludedorNeeds macOS 26line, and the count is anaria-liveregion, so the answer survives greyscale and a screen reader.Nothing is selected by default, so the list reads normally until someone asks the question.
🤖 Generated with Claude Code