Skip to content

Unify CustomizationSettingsView#1857

Open
JPKribs wants to merge 21 commits intojellyfin:mainfrom
JPKribs:customizeSettings
Open

Unify CustomizationSettingsView#1857
JPKribs wants to merge 21 commits intojellyfin:mainfrom
JPKribs:customizeSettings

Conversation

@JPKribs
Copy link
Member

@JPKribs JPKribs commented Dec 16, 2025

Summary

Resolves: #1222

Consolidates all Customization settings into a single view for both iOS and tvOS. Also reorganizes the settings.

Customization is now in Customization -> Advanced instead of Accessibility -> Customize.

Removed all the sections that were their own files. I thought this made them cleaner and easier to use but the reality is this just meant searching more files to find things and often meant a lot of re-declarations that wasn't necessary. This is our largest single settings view and it's only 336 lines so I don't think this warrants the level of splitting I was doing prior and I never reuse the sections anyway so I think a single file is the most efficient and best way of doing this.

Settings are now ordered based on kind of the order you see this. Open to other suggestions but my thinking is:

  1. homeSettings (First thing you see)
  2. mediaSettings (First think you see in the media tab before going into a library)
  3. filterSettings (First think you see in a library at the top)
  4. librarySettings (Library settings as a whole)
  5. posterSettings (Poster settings as a component of the library)
  6. itemSettings (Item setting under the poster)
  7. itemViewSettings (Item view when selecting the poster)
  8. itemManagementSettings (Item management in the Item View)

Also migrates over the IndicatorView as that was 4 settings and a small add-on. I set this up for where we can add the poster for tvOS indicators to show as well. Left as a TODO for now.

Videos

Simulator.Screen.Recording.-.Apple.TV.-.2026-02-22.at.21.25.00.mov
Simulator.Screen.Recording.-.iPhone.-.2026-02-22.at.21.16.51.mov

- tvOS Basic Stepper
- tvOS Form ButtonStyle
- Picker Overload for CaseIterable
- Chevron Alert Button Spacing
@JPKribs JPKribs added developer Alters the developer experience iOS Impacts iOS or iPadOS tvOS Impacts tvOS labels Dec 16, 2025
@JPKribs JPKribs marked this pull request as draft December 16, 2025 08:15
@JPKribs JPKribs changed the title Unify CustomizationSettingsView & IndicatorSettingsView Unify CustomizationSettingsView Dec 17, 2025
@JPKribs JPKribs linked an issue Dec 20, 2025 that may be closed by this pull request
@JPKribs JPKribs removed a link to an issue Dec 20, 2025
- tvOS Basic Stepper
- tvOS Form ButtonStyle
- Picker Overload for CaseIterable
- Chevron Alert Button Spacing
@JPKribs JPKribs marked this pull request as ready for review January 2, 2026 22:25
@JPKribs JPKribs marked this pull request as draft January 2, 2026 22:25
@JPKribs JPKribs closed this Feb 23, 2026
@JPKribs JPKribs reopened this Feb 23, 2026
@JPKribs JPKribs marked this pull request as ready for review February 23, 2026 04:46
@JPKribs JPKribs requested a review from LePips February 23, 2026 04:46
@JPKribs
Copy link
Member Author

JPKribs commented Feb 23, 2026

Should be good to go. I think there is a better way to abstract picker and listRowMenu to eliminate the build flags but I am leaving that for a later PR in favor of just getting this settings merged into one. I've tried looking at this a few times in the past so I'm just excited to potentially get this all cleaned up finally!

This should be compatible with the changes in #1870 as I am pulling policy checks from the user and not from our UserPermissions object that I made and now think we should remove (per #1870).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

developer Alters the developer experience iOS Impacts iOS or iPadOS tvOS Impacts tvOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reorganize Customization Settings

1 participant