fix: show the notch tab bar in the Apple TV Tab Bar settings preview
Problem and reproduction
On Apple TV, Settings > General > Customise Tab Bar has a preview of the tab bar at the top.
After #302 moved the real bar to a notch with symbol tabs, the preview still drew the old floating capsule with every tab as text and Home as a white pill, so it no longer looked like the bar it was previewing.
The preview was a separate hand-drawn copy of the bar, which is why it was missed.
Implementation and impact
- The preview is now the bar's own notch, hanging from the top of a small panel, and it plays itself on a loop: closed on the selected tab, opens to show the other tabs as symbols, moves the highlight to the next tab, chooses it and closes around it, then carries on from that tab.
- It still follows the tab order, the Calendar toggle and the Search and Profile swap, and restarts when any of those change.
- With Reduce Motion it stays open on one tab so every tab and its place still show. With a single tab it stays closed.
- The preview never takes focus and keeps its "Tab bar preview" accessibility label.
- The bar's tab, Search, avatar, divider and highlight drawing, plus its spring, close curve and tab transition, moved out of
TopBarinto shared views (TVTopMenuTabLabeland friends) that both the bar and the preview use. The real bar's focus handling, timing and layout are otherwise unchanged.
Apple TV only. No provider code is touched, and iPhone and iPad are unchanged.
The main risk is the refactor of the real bar's drawing into shared views. It is meant to be a straight move with no behaviour change.
Validation
xcodebuild build -project Vivid.xcodeproj -scheme VividTVfor an Apple TV 4K (3rd generation) simulator on tvOS 27.0: succeeded.- Ran that build in the simulator on a Silo profile and opened Customise Tab Bar: the preview shows the notch with symbol tabs and the focused tab's name, both settled and partway through opening.
- The real bar on Home still opened to symbol tabs with the highlight on the focused tab after the refactor.
- No unit tests added (UI change).
Performance
Not applicable, no performance claim. No benchmark was run.
Testing status
- Tested? Partly.
- Environment: Apple TV 4K (3rd generation) simulator, tvOS 27.0.
- Revision: the commit on this branch.
- Checks and results: Built and ran in the simulator. The preview draws the notch and steps through the tabs, and I watched it there and was happy with it.
- Limitations: Not tested on a physical Apple TV. Reduce Motion, the single-tab case and the swapped Search and Profile layout were not checked.
Design impact and approval
- Design impact: The Tab Bar settings preview changes from the old capsule to the animated notch, hanging from a dark panel. The real tab bar's design is unchanged.
- Approval from blurbery: Requested and approved by me while working on this.
Documentation impact
Updated docs/apple-tv-browsing.md to describe the new preview.
- I checked the docs this change affects and updated them in this PR, or explained above why none needed changes.
AI disclosure
I implemented these changes and used Claude Fable 5.2 as a tool.