* Very Very WIP
* Details page.
TODOs:
- Duplicate ViewModels are initialized.
- Routing Cleanup
- Localizations for fields
- Get Played Item Details (See ActiveSessionDetails)
- Move all details to ActivityDetailsViewModel for Users & Items
- Localizations for enums
- Enum the types if possible
* Details View complete. TODO:
- Filters
- Default with No Filters
* Ready
* Fix localization
* cleanup
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* Buildable!
* Update file names.
* Default sort to sort name NOT name.
* SessionInfoDto vs SessionInfo
* Targetting
* Fix many invalid `ItemSortBy` existing. Will need to revisit later to see which can still be used!
* ExtraTypes Patch.
* Move from Binding to OnChange. Tested and Working.
* Update README.md
Update README to use 10.10.6. Bumped up from 10.8.13
* Update to Main on https://github.com/jellyfin/jellyfin-sdk-swift.git
* Now using https://github.com/jellyfin/jellyfin-sdk-swift.git again!
* Paths.getUserViews() userId moved to parameters
* Fix ViewModels where -Dto suffixes were removed by https://github.com/jellyfin/Swiftfin/pull/1465 auto-merge.
* SupportedCaseIterable
* tvOS supportedCases fixes for build issue.
* cleanup
* update API to 0.5.1 and correct VideoRangeTypes.
* Remove deviceProfile.responseProfiles = videoPlayer.responseProfiles
* Second to last adjustment:
Resolved: // TODO: 10.10 - Filter to only valid SortBy's for each BaseItemKind.
Last outstanding item: // TODO: 10.10 - What should authenticationProviderID & passwordResetProviderID be?
* Trailers itemID must precede userID
* Force User Policy to exist.
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* Various setting cleanup
* Remove Double headers
* My gradient did nothing... So resetting back to less.
* Reduce unnecessary formatting changes.
* Revisions https://github.com/jellyfin/Swiftfin/pull/1473#pullrequestreview-2745279339
* Subtitles was missing brightness. Subtitle shouldn't mirror title but image.
* Remove TODO.
* Added add user button to select user bottom bar
* Replaced AddUserButton with NoUserView
This commit removes the AddUserButton as it is no longer required.
Also when no user is logged in the GridView shows a new NoUserView
* Added multi server support
- When no user is logged in. Grid view shows the original AddUserButton.
- When there is a logged in user AddUserButton is replaced with AddUserBottomButton
- AddUserBottomButton will show a menu when in all server mode (just like AddUserbutton)
- Removed NoUserView as it isn't required anymore
- changed bottom bar layout to allow for a larger service selection button
* cleaned up AddUserBottomButton
* cleaned up AddUserBottomButton
fixed formatting
* cleanup
* fix conflict
* cleaned up unused localisation
* cleanup
* removed debug background
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* ItemViewModel Trailers
* iOS done.
* Sections >>> Divider
* tvOS kind of.
* Button/Menu cleanup
* Huge ActionButton overhaul
* Error Handling, ActionButton/Menu standardization, and ActionButtonLayout cleanup part 1.
* cleanup
* cleanup
* Combine ActionButton logic. Complete ActionButton rework and animation/style rework. Should this be 3 files??
* Dumb sizing error. Get size from WIDTH not HEIGHT! Height is always 100 and Width is larger.
* Pressed buttons are but focused buttons but slight less. Pressed buttons are still bigger than default, unfocused buttons. TIL.
* Cleanup / Structure
* Remove Test.
* New Setting. Version on PlayButton Row. Complete TrailerMenu revamp. Make ActionButtonLayout a single row.
* Spacing & remove test logic
* VERY WIP
* Fix the compact-ness
* Linting.
* Remove Testing logic.
* Pre-Cleanup - WIP
* Finalized. Moved ScrollingText to tvOS Only.
* MediaURL? = nil but it's already nil by default.
* Error on the View not the button. This was NOT showing for the button since it lived on the Menu. This resolves this.
* wip
* Update VersionMenu.swift
* Remove scrollingText from this PR.
* Remove labels & iOS Action Button cleanup / no foregroundStyle on de-selected.
* ActionButtonScaling
* .card all buttons in ActionButton
* Slow and less bounce-i-fy the menu animations. Also, slight padding
* Wait, don't add this padding this isn't needed.
* localize
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* WIP
* Other Menu inits and AppSettingsView
* Linting & a touch of spacing.
* cleanup
* Init from CaseIterable
* User a Picker instead of just a ForEach
* Remove InlineEnumToggle.
* cleanup
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* `VideoRangeType` "Extension" for now it's an enum until 10.10. Otherwise, done.
* Limit lines to 1 and variable width as needed.
* CodeFactor issue resolution
* AttributeViewModifier -> AttributeBadge
* change API
* `WrappingHStack`
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* Ensure selectionViewModel is a valid season.
* Scolling issue
* Fix Scrolling! But fails to set button color...
* Move HStacks into their own folder.
* CollectionHStack
* SeasonHStack FINALLY done!
* ScrollToIndex NOT Element
* Remove refocus work
* Undo extra changes not for this PR
* Fix Episode Scrolling on iOS as well.
* Add the `.mask` in... Whatever that actually does??? Just trying to mirror the older version
* Linting
* Use playButtonItem instead
* Season ScrollTo
* Cleanup.
* Even more cleanup.
* Even more cleanup and comments
* LInting
* Catch empty episodes
* Linting.
* Mirror iOS more. Remove unused imports. Turn non-used cards into buttons to allow focus.
* Allow focusing on Empty / Error cards.
* Make ErrorCard Selectable
* cleanup
* Focusable Loading Card.
* Fall back to empty season.
* Last of the MacOS Catalyst stuff
* Force Unwrap.
* Don't force unwrap.
* Remove unneeded `focusedSection` from `EpisodeSelector`.
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* Move Series Button to the About Section IF the item is an episode. Otherwise, continue using that image as just an image. tvOS & iOS.
* use posterbutton
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* Button cleanup & errorViews
* Change the Sign Out button to be `ListRowButton`. Sets a better height value using `maxHeight` to ensure that it doesn't exceed the `ListRow` sizing.
* deleteUsersButton needs to be manually set back to 75
* wip
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* Filter Changes
* Use `viewModel.modifiedFilters` for tracking if the filter has been modified. Update the init and update. Hold only the modified filters in `modifiedFilters` instead of `(modifiedFilters, bool)` since that's just clunky and unnecessary.
* Reset button should be disabled when only THAT filter is non-default.
* ...
* PagingLIbraryViewModel.filterQueryTask is no longer in use since that should now be handled on the FilterViewModel
* fix merge
* cleanup
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* Move ItemType to Filter
* Init but normally...
* filter on people?
* Default to easiest / least change solution.
* Reset `.collectionFolder`, `.folder`, and `.BaseItemPerson` in `PagingLibraryView` to have the default filters. This was originally in place. This Commit just ensures that iOS and tvOS have the same implementation.
* wip
* Update ItemLibraryViewModel.swift
* Update ItemLibraryViewModel.swift
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* [Meta] Video Player Documentation - Move AV1 from Video to Container Section
This should be under containers not video. Confusing since AV**i** vs AV**1**. Added a note for the Apple SOC that first added HWA AV1 decoding as this should correspond with AVKit's ability to use it.
Pre-AV1 Decoders, I tested, and AV1 works but is VERY choppy so defaulting this to disabled is still the right move!
* revisions
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
---------
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
* Update missing strings. Mirror iOS setting changes to make sure tvOS PagingLIbraryView updates with changes as well. Lay the groundwork for filtering.
* Revert back to rows over offset
* Reorder a bit.
* Move default layout to no values in closure. For whatever reason, I cannot do this to the non-defaults.
* 95% there
* Move `onChange`s to the `innerContent` to alleviate Type Checker issues
* All Value-less closures are moved with teh exception of viewModel.filterViewModel?.currentFilters
* Prepare for future letter picker location