Commit Graph

77 Commits

Author SHA1 Message Date
Joe Kribs 486995b0cf
[iOS] Media Item Menu - Identify Media Item (#1369)
* WIP

* All item types.

* V2: Functionally better. UI still weird

* Rework!

* Organization, new LoadingIcon, remove unnecessary components, and standardize: CancellableLoadingButton

* Organization & Static Method Re-Use.

* wip

* fix tvOS

* wip

* localize

* Update RemoteSearchResultRow.swift

* Update Localizable.strings

* Update RemoteSearchResultRow.swift

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-12-31 14:16:34 -07:00
Joe Kribs 23beb088da
[iOS] Admin Dashboard - User Profiles (#1328)
* Make user profile more generic. Still need to make it work for the reset image / other stuff like delete & username.

* Username Changing and PFP deletion.

* Functional, refreshing, and good to go!

* Clean up localizations

* Migrate [UserDto] -> IdentifiedArrayOf<UserDto>

* Solve "Username should probably be at the top of this section."

* allow notification filter

* WIP:

Created `UserProfileHeroImage` but I haven't used it anywhere.

* Centralize UserProfileHeroImages

* Rename UserProfileImages

* Fix Merge Issue?

* Move to UserProfileImage

* Merge with Main

* Fix Merge?

* Clear the cache on update.

* Delete duplicate `UserProfileImage`

* wip

* wip

* Update ImagePipeline.swift

* fix tvOS build issue and update comment to be more accurate

* clean up

* fix string

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-12-28 22:35:10 -07:00
Joe Kribs ba5c037ece
[iOS] Admin Dashboard - Parental Ratings (#1353)
* Labels and Max Parental Rating

* Parental Ratings

* UnratedItem.displayTitle

* Linting Fixes

* Localizations, LearnMore, & cleaner grouping

* Strings.swift

* Review changes + Age Groups change

* cleanup, use SeparatorVStack in LearnMoreButton

* fix colors

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-12-11 13:33:44 -07:00
Joe Kribs 174487a220
[iOS] Admin Dashboard - User Device & TV Access (#1342) 2024-12-09 16:33:10 -07:00
Ethan Pippin e856303181
Move to `IdentifiedArray` in `PagingLibraryViewModel` (#1346)
* init

* update packages, cleanup
2024-12-08 10:44:52 -07:00
Joe Kribs da40f6a3b5
[iOS] Media Item Menu | Edit Metadata (#1323)
* Playback Quality - Learn More

* TODO: Fix leading not working on second line.

* Remove layoutDirection.

* Implement for tvOS. Slightly different spacing.

* VStack

* WIP - tvOS Implementaiton. SUBJECT TO CHANGE / ELIMINATION.

* Background Icon & formatting

* wip

* Review Changes. Remove unused Strings, clean up comments.

* Remove duplicate items used for testing

* Remove tvOS scrollIfLargerThanContainer for now.

* Edit Text-based Metadata

* ViewModel Cleanup

* use binding extensions

* Huge overhaul:

- Fix the notification when metadata was updated to work with 100% consistency
- Flip the locking to be true -> lock like server
- Redo the whole itemEditorViewModel to be more in-line with other viewModels | also fixes iPad weirdness
- Use itemViewModel for the edit view so I can just reuse those existing notifications instead of recreating the wheel
- More human dates for people - Date of death instead of "End date" (yikes)

* String fixes & overview size

* Fix build issues & String cleanup

* fix overview sizing, cleanup

* itemMetadataWasEdited -> temMetadataDidChange

* Creation of the NavigationBarMenuButtonModifier for an "ellipsis.circle" menu object in the toolbar. Makes it easier to ensure that this format looks the same throughout.

* Custom vs Official Rating + Menu Button Label change

* Menu button spacing and groundwork for other menu items (canDownload) since we already have the bool available. Currently disabled.

* Linting

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-11-30 23:56:49 -07:00
Joe Kribs 34d64bca5d
[iOS] LetterPicker - Dynamic Scaling (#1326)
* Get the Size from Parent

* Use the Font for Sizing

* Make Static for Padding

* Using new sizing instead of a static 35
2024-11-24 17:52:20 -05:00
Joe Kribs 994e99d141
[iOS] Playback Quality - Learn More (#1316)
* Playback Quality - Learn More

* TODO: Fix leading not working on second line.

* Remove layoutDirection.

* Implement for tvOS. Slightly different spacing.

* VStack

* WIP - tvOS Implementaiton. SUBJECT TO CHANGE / ELIMINATION.

* Background Icon & formatting

* wip

* Review Changes. Remove unused Strings, clean up comments.

* Remove duplicate items used for testing

* Remove tvOS scrollIfLargerThanContainer for now.

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-11-21 13:47:11 -07:00
Joe Kribs 687cfa6b5f
[iOS] Media Item Menu | Refresh Metadata & Delete Item (#1310)
* [iOS] Creation of the enableItemEditor & enableItemDeletion settings. Creation of the ItemEditorView. Creation of Refresh/Deletion Logic and Buttons. Wrap buttons in permissions.

* You can make delete permissions without edit (admin) permissions. So, flip this so you can get to the edit page but editing is disabled if you're not an admin. The Delete option requires that the delete toggle is enabled and the user has permissions.

* Move deletion from the editView to the ItemView

* Delete from PagingLibraryView on Deletion

* Only enable delete if the user can delete something. Check deletion permission on Item level. Only allow editing for admins.

* Review Changes: ec33a6b63c

* wip

* Update RefreshMetadataButton.swift

* Update Shared/ViewModels/ItemEditorViewModel/RefreshMetadataViewModel.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* Update Shared/Coordinators/ItemEditorCoordinator.swift

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>

* Reviews minus a learn more button

* LearnMoreAttempt v1

* Learn more v2 - Much better

* Learn More v3

* Learn More comments cleanup

* Learn More: https://github.com/jellyfin/Swiftfin/pull/1310#discussion_r1843149572

* clean up

* Remove Replace since it's already covered. Localize.

* clean up

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-11-16 23:59:41 -07:00
Joe a04f97e1ba
[iOS] Admin Dashboard - Device Management (#1277)
* Split out Devices Logic - Ready to go!

* Review Items + Reworking the deleteDevices logic to all use the same deleteDevice core + deleteDevices. Delete All Devices now just uses the more generic deleteDevices

* Allow Filtering on UserID for later usage on UserDetailView.

* Fully remove DeleteAll action in favor of Delete Devices. Change view to pass in the viewModel.devices as a 'Delete All' function

* DeviceDetailsView

* Section Split out, Localization, and cleanup.

* I guess I missed there on first upload.

* Initial Select All / Delete Devices logic. Checkbox options on the list. Hopefully this is good.

* Initial Review Item!

* Custom Device Name is now a field. Change DevicesViewModel to Eventful to capture updates

* Revised Device Interaction Buttons

* Remove unused Label.

* Make DeviceRow mirror UserRow. UpdateDevicesView to have DeleteButton when in EditMode. Also, it's EDITMODE not SELECTMODE... Finally, make sure the SelectedDevice and SelectedDevices are both empty if the user tries to delete themselves and fails. Change how the single device delete works to confirm deleting from an array still works as needed.

* wip

* Review Changes: 61b3716239

* Merge issues + testing again to make sure. Checks out.

* wip

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-10-21 15:10:25 -06:00
Joe 2bda693143
Generic Button to Input from an Alert (#1273)
* Creation of an Alert Input Button based on the Chevron Button.

* Only one button required for both iOS and tvOS

* wip

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-10-15 00:42:42 -06:00
Ziyang Huang 071a1f98e1
Make `GestureView` respond to double touch gesture (#1260) 2024-10-08 17:09:44 -06:00
Joe 1405d2695c
Add 'Enable Rewatching' and ' Max days' to Next Up (#1258)
* Rebasing https://github.com/jellyfin/Swiftfin/pull/1212 on Main. Also, less baggage and random crap.

* Change 0 to Disabled. Better mirror iOS and tvOS Alerts for MaxNextUpDays.

* Review Changes:

Don't use the property wrappers in non-view contexts. While they technically can still work, use the subscript instead at the usage sites.
Use the dayInterval(0 ... 1000) format instead, then we don't need maxNextUpDays.

* Remove unused strings, and unused variables

* Add a tvOS TODO to double check the Done/Number button on the alert.
2024-10-07 15:02:18 -06:00
Joe bc9eacab57
[iOS] Admin Dashboard (#1230) 2024-10-04 21:15:12 -06:00
Joe 9ec0e93689
[iOS] LetterPickerButtons are Hard to Tap (#1223) 2024-09-02 15:35:58 -06:00
Joe f5bd1b8fcd
Customizable Device Profiles (#1169)
* Rename ExperimentalSettingsView.swift to PlaybackQualitySettingsView.swift

Fix Merge

* Rename MaximumBitrateSettingsView.swift to PlaybackQualitySettingsView.swift

fix merge

* Re-implement on Main. Should now have all the Main changed. Added a new change to use the Device Profile as a Transcoding Profile.

* Part 1 -> Making VideoPlayerType into a struct (I Hope) correctly

* Part 1.1 -> Making VideoPlayerType into a struct (I Hope) correctly

* Remove unneeded Files

* Missing file + CustomDeviceProfileSelection -> CustomDeviceProfileAction Rename

* Change + to Appending

* Attempt to add StorageValues+User. Not sure if this is correct?

* Move the Array unwrapping to funcitons. Not required but this should help prevent accidently doing this wrong. Add subtitles back into the custom profiles since that somehow got dropped. Added a PlaybackCompatibility enum. This might need to work for more than just video

* Complete rewrite to allow multiple profiles, compatibility mode, and directplay.

* Hardward -> Hardware

* Update CustomDeviceProfileSettingsView.swift

Double Licensing

* It was actually really easy to implement iOS... Trash cans still look weird and small.

* Swipe to Delete instead of the edit button

* wip

* wip

* Linting

* tvOS Implementation

* wip

* wip

* cleanup

* Create Package.resolved

---------

Co-authored-by: Joseph Kribs <joseph@kribs.net>
Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-09-02 15:33:02 -06:00
Ethan Pippin a199d69a31
Some Cleanup (#1216) 2024-08-30 09:05:56 -06:00
Ethan Pippin d85ffb4156
Fix iOS 15 Poster Buttons (#1172) 2024-08-08 10:01:23 -06:00
Ethan Pippin 257091ba9a
Cleanup (#1077) 2024-05-28 16:23:58 +09:00
Ethan Pippin fd4052ed53
Cleanup (#1075) 2024-05-28 10:59:18 +09:00
Joe 25b30b5436
Create Library Alpha Picker (#980) 2024-05-26 15:07:13 -06:00
Ethan Pippin b2a31dbc3a
User Profile Image Selection (#1061) 2024-05-22 13:45:48 +09:00
Ethan Pippin 8d6167c00b
Some More Cleanup, Reset User Settings (#1060) 2024-05-17 13:10:40 +09:00
Ethan Pippin 957022e09d
iOS Hour/Minute Picker Initial Duration (#1056) 2024-05-16 07:32:25 -06:00
Ethan Pippin 74b8b286c7
User/Server Sign In Redesign (#1045) 2024-05-14 23:42:41 -06:00
Ethan Pippin 384e80805e
Poster Display and Button Refactor (#1038) 2024-04-23 11:22:07 -06:00
Ethan Pippin ec9bfaa2fe
Live TV Updates (#1022) 2024-04-16 23:10:44 -06:00
Ethan Pippin 2387197021
Clean Up Item Scroll Views (#1015) 2024-04-10 07:31:10 -06:00
Ethan Pippin 437f7a3995
iOS - User Sign In Unmask Password (#1011) 2024-04-02 14:17:25 -06:00
Ethan Pippin fd1a87cb02
Item Views to `Stateful` (#997) 2024-04-01 00:48:41 -06:00
Ethan Pippin a9a6820982
Fix LiveTV Navigation, fix Media Views, remove CollectionView from iOS (#995) 2024-03-15 09:51:22 -06:00
Ethan Pippin 1bd18ef8b0
Fix iOS Chapter Overlay (#992) 2024-03-13 23:08:43 -06:00
Ethan Pippin a645444f25
Refactor `PosterButton` and libraries, good `UICollectionView`s, proper orientation handling, and more (#905) 2024-03-11 08:09:30 -06:00
Ethan Pippin b038f05848
Update 2024 headers (#951)
* update header

* the rest after upgrading
2024-01-13 15:13:44 -07:00
Ethan Pippin 9266d53ae0
Remove iOS `PosterButtonType` + cleanup (#883) 2023-10-31 23:52:06 -06:00
Eric Park 333530a938
iOS: Increase library list item size (#881) 2023-10-30 14:58:11 -06:00
William Martineau eb99dfe30b
Shuffle play (#816) 2023-09-28 22:37:17 -06:00
Joe 48e608e62b
Filter Toggles [iOS] [iPadOS] (#847)
Co-authored-by: Joe Kribs <joseph@kribs.net>
2023-09-20 13:28:32 -06:00
Ethan Pippin ddbe77e348
Cleanup and `ItemView.AboutView` Cards (#788) 2023-06-12 22:24:58 -06:00
Ethan Pippin a08a92e98a
New Year, New Video Player + Other Goodies (#593) 2023-04-20 09:33:51 -06:00
Ethan Pippin fb38394a43
iOS/iPadOS - User List Images (#586) 2022-09-14 20:44:28 -06:00
Ethan Pippin 93c19dbe54
wip (#585) 2022-09-14 19:50:38 -06:00
Ethan Pippin 20e0789ce2
Generic Libraries (#583) 2022-09-14 06:41:06 -06:00
Ethan Pippin 3c81c7532f
tvOS - Refactor Cinematic Item Selector (#564) 2022-09-09 19:11:09 -06:00
Ethan Pippin ace339bd1a
implement (#561) 2022-09-05 06:45:22 -06:00
Ethan Pippin 2a3617bd47
Fix Folder Libraries (#555) 2022-09-03 23:19:45 -06:00
Ethan Pippin 79476328fe
Some work (#552) 2022-09-03 10:20:12 -06:00
Ethan Pippin f92edb83fb
iOS/iPadOS - Refactor Filter Selection (#548) 2022-09-01 23:29:52 -06:00
Ethan Pippin d078d71393
Transition Media View (#541) 2022-08-28 22:06:56 -06:00
Ethan Pippin 5d0f933a2c
iOS/iPadOS - Transition library views to Collection Views (#536) 2022-08-26 18:23:36 -06:00