Repository navigation
Wear your lane colour on the main buttons, and make full-width buttons large - #8
Merged
Merged
Conversation
Follow, Commit, Reply, Send report, Edit on GitHub and Save color are now drawn in your lane's colour, light or dark, as the tab bar already was. So is the underline under the Log's and Notifications' tabs. Before devnull has said who you are they stay Commit Blue. Save color takes the colour you've picked, so you see it before you save it. The buttons use the token variants from NativePHP/mobile-ui's feat/button-theme-token-variant, now in combined/dev-null-app. Each lane gets an on-lane token for its label. In light mode that's white, except ink on green and ochre, where white is under 4:1. In dark mode every lifted lane is too light for white, so labels are graphite, as on primary. Destructive, secondary, and the black and white Apple and GitHub buttons keep their colours. The full-width buttons that sit on their own are now large, like Sign in with GitHub: everything on the Account screen, and Send report and Done in the report sheet. Buttons in a row keep their size. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mobile-ui sent a token variant's label colour as on_tint, which the bridge took for a callback, so the labels were transparent in light mode. It's label_color now, and the lock picks that up. The underline under your profile's Commits and Replies is your colour too, as on the Log and Notifications. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
simonhamp
force-pushed
the
feat/lane-buttons
branch
from
October 18, 2026 17:49
4d451fb to
7191f02
Compare
This was referenced Oct 18, 2026
Merged
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.
Your main buttons and the tab underlines are now drawn in your lane's colour, the way the tab bar already was. Full-width buttons that sit on their own are now large, like Sign in with GitHub.
Colour
These buttons wear your lane, light or dark shade:
Save color is drawn in the colour you've picked rather than the one you have, so you see it on a button before you save it. Everything else changes once the save lands.
The underline under the Log's and Notifications' tabs is your colour too, and so is the one under your profile's Commits and Replies, which is still drawn in PHP.
Before devnull has said who you are, all of it stays Commit Blue. Destructive red, the secondary buttons (Following, Unfollow, Sync from GitHub, Sign out and so on) and the black and white Apple and GitHub buttons keep their colours.
This needs NativePHP/mobile-ui#137, which lets a button's variant name a theme token. It's merged into
combined/dev-null-appand the lock points at it. Buttons takevariant="lane-3"and the like, throughLane::token()and the screens' new$myColour.Label contrast
Each lane has an
on-lane-Ntoken for its label, picked with WCAG 2 contrast, which is what config/native-ui.php asks for:Orange and teal in light mode are just under 4.5:1 with either label. I kept white there and left the lane colours alone, since they're people's identity on the graph. If that needs to pass AA, the fix is a slightly darker button shade for those two.
Size
size="lg"on the full-width buttons that stand alone: everything on the Account screen (Edit on GitHub, Sync from GitHub, Save color, Sign in with Apple, Unlink Apple ID, Your devices on dev-null.sh, Sign out, Delete account), and Send report and Done in the report sheet. Buttons in a row keep their size: Commit in the composer and the commit sheet, Follow, Reply.What to check
sheet-commitnow, with your colour, and the report form opens from Put a commit's save, link, report and delete in one More menu #7's menu.Verified
tests/Feature/Screens/LaneButtonsTest.phpcovers each button above in two lanes (green with an ink label, rose with white), the underlines on all three screens, Save color following the picked lane, the other buttons keeping their variants, and the sizes.tests/Unit/Devnull/LaneTest.phpchecks eachon-lanelabel is the more readable of white and ink. Pint clean.Account screen, green then rose, light and dark:
Save color before picking, after picking rose, and after saving:
Tab underlines on the Log, Notifications and Profile:
Commit, Send report and the quote's Commit, light and dark:
Save color's label on teal and ochre, dark and light:
🤖 Generated with Claude Code