[Agent] feat(tvOS): retrowave design language consistency in settings views#3599
[Agent] feat(tvOS): retrowave design language consistency in settings views#3599github-actions[bot] merged 7 commits intodevelopfrom
Conversation
|
🤖 PR created. AI review starting automatically. |
|
@claude please do a self-review pass on this PR: Verify all changed files compile (check for unresolved symbols, missing imports, type mismatches) |
Self-Review PassFiles reviewed
Issues found & fixed
This was the only settings subpage in the PR that lacked the Issues reviewed but not changed
|
Self-Review ResultsReviewed all 5 changed Swift files. Three issues were found and fixed. Issues Found & Fixed1. Unused import —
2. Dead duplicate
3. Deprecated
No Issues Found
|
|
@claude please do a self-review pass on this PR: Verify all changed files compile (check for unresolved symbols, missing imports, type mismatches) Check for edge cases and performance issues |
Self-Review Pass — PR #3599Compilation CheckAll changed files pass symbol resolution:
Issues FoundMINOR —
|
|
@claude please do a self-review pass on this PR: Verify all changed files compile (check for unresolved symbols, missing imports, type mismatches) |
🔍 Self-Review Pass — CompleteIssues Found & FixedDead code removed (
Duplicate logic eliminated (
Unused import removed (
Compilation / Type Safety
Multi-Platform
No new issues introduced — net -99 lines. |
13e94b9 to
79077cb
Compare
|
@claude please do a self-review pass on this PR: Verify all changed files compile (check for unresolved symbols, missing imports, type mismatches) Check for edge cases and performance issues |
Self-Review ResultsSymbols & Compile Checks PASSAll referenced symbols resolve correctly:
Multi-Platform Compatibility PASS
|
|
@claude please do a self-review pass on this PR and fix all issues |
Self-Review ResultsIssues found and fixed1. Deprecated API —
2. Missing shared components (
3. Code duplication eliminated
No changes needed
|
7bb3dca to
a9ff9b6
Compare
|
@claude please do a self-review pass on this PR and fix all issues |
- Add RetroSettingsComponents to PVUIBase (PickerRow, ActionButton, Background, Divider, SectionHeader, tvOS-scaled Font helpers) - Fix Mouse Input: retro focus, larger tvOS fonts, 80pt side-bar padding - Fix Controller Guide: retroFocusButtonStyle on dropdowns, retro bg - Fix Audio Engine: retrowave background + pink section headers on tvOS - Fix ROM Title Normalization: retro bg, action buttons, focus rows Part of #3598 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ted NavigationView
- Remove unused RetroSettingsDivider and RetroSettingsSectionHeader from RetroSettingsComponents (no callers anywhere) - Replace duplicate pickerRowContent() + Button in MouseInputSettingsView with the shared RetroSettingsPickerRow component - Remove unused `import PVSettings` from ControllerGuideView Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add RetroSettingsDivider, RetroSettingsSectionHeader, and .tvOSSettingsHorizontalPadding() to RetroSettingsComponents.swift (these were described in the PR but not implemented) - Replace deprecated .edgesIgnoringSafeArea with .ignoresSafeArea - Use shared components in AudioEngineSettingsView, ROMTitleNormalizationView, and MouseInputSettingsView to eliminate duplicate private helpers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
a9ff9b6 to
6486889
Compare
- Drop unused `import PVThemes` from AudioEngineSettingsView (all retro types come from PVUIBase; PVThemes not referenced directly) - Replace hardcoded .padding(.horizontal, 80) with shared .tvOSSettingsHorizontalPadding() in ROMTitleNormalizationView Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Self-review complete — 2 fixes pushedReviewed: Fixed:
No other issues found — imports are minimal and correct, |
|
@claude please do a self-review pass on this PR and fix all issues |
MouseInputSettingsView was the only settings subpage in this PR missing the retrowave background on tvOS. Wrap the ScrollView in a ZStack with RetroSettingsBackground (tvOS only) to match AudioEngineSettingsView and ROMTitleNormalizationView.
Self-Review PassFiles reviewed
Issues found & fixed
This was the only settings subpage in the PR that lacked the Issues reviewed but not changed
|
|
@claude open a pr with the next set of view updates for this merged PR |
Done — PR #3611 CreatedCompleted
|
Summary
Begins addressing the tvOS retrowave UI consistency work tracked in #3598. This PR focuses on the most impactful settings views, adds a shared component library, and establishes patterns the remaining views should follow.
New shared components (
PVUIBase—RetroSettingsComponents.swift)RetroSettingsBackground— standardColor.black+RetroGridbackdrop for settings subpagesRetroSettingsDivider—retroBlue-tinted horizontal separatorRetroSettingsSectionHeader— retrowave-pink icon + uppercase tracking labelRetroSettingsPickerRow— radio-button-style selection row withretroFocusButtonStyleon tvOS (replaces the repeated inline pattern)RetroSettingsActionButton— full-width themed action button with retro border +retroFocusButtonStyleon tvOSFont.retroSettings*helpers —retroSettingsLabel(20/14pt),retroSettingsRowTitle(18/15pt),retroSettingsRowSubtitle(15/12pt),retroSettingsValue(16/13pt monospaced) — all scale up automatically on tvOS for 1080p viewing distance.tvOSSettingsHorizontalPadding()— applies 80pt horizontal padding on tvOS (standard side-bar inset), falls back to default on iOSFixed: Mouse Input Settings (
MouseInputSettingsView)retroFocusButtonStyle(focusScale: 1.04, focusBorderWidth: 2.5, cornerRadius: 10), eliminating the default white-bubble highlight on tvOSretroSettings*font scale (e.g. section labels: 14pt → 20pt on tvOS)ScrollViewcontent now gets.padding(.horizontal, 80)on tvOS to clear the side-menu barFixed: Controller Guide (
ControllerGuideView)retroFocusButtonStyleinstead of.buttonStyle(.card)+retroThemedFocus, removing the white-bubble focusRetroSettingsBackgroundZStack on tvOSFixed: Audio Engine Settings (
AudioEngineSettingsView)Listin aRetroSettingsBackgroundZStack;scrollContentBackground(.hidden)ensures the grid shows throughFixed: ROM Title Normalization (
ROMTitleNormalizationView)RetroSettingsBackgroundon tvOSRetroSettingsActionButtonretroFocusButtonStyleon tvOSretroBlueRemaining work (follow-up PRs)
The full list from #3598 still includes: Systems, Cores, Theme, Core Language, Core Options, RetroArch Settings, Backup & Restore, Import Saves, Batch Artwork, Normalize Library, Cloud Sync, Controller Selection/Profiles, RetroAchievements, Rumble, Deadzone sliders, etc. This PR establishes the shared components those PRs will use.
Part of #3598
Test plan
🤖 Generated with Claude Code