Commit Graph

172 Commits

Author SHA1 Message Date
Joe Kribs
994e99d141
[iOS] Playback Quality - Learn More (#1316)
Some checks failed
Build 🔨 / Build 🔨 (Swiftfin tvOS) (push) Has been cancelled
Build 🔨 / Build 🔨 (Swiftfin) (push) Has been cancelled
* 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
d276bd7449
[tvOS] ItemView Button Cleanup (#1296)
Some checks failed
Build 🔨 / Build 🔨 (Swiftfin tvOS) (push) Has been cancelled
Build 🔨 / Build 🔨 (Swiftfin) (push) Has been cancelled
2024-11-11 20:24:32 -07:00
Daniel Chick
fed9c654ef
Resolve some todos (#1295)
Some checks failed
Build 🔨 / Build 🔨 (Swiftfin tvOS) (push) Has been cancelled
Build 🔨 / Build 🔨 (Swiftfin) (push) Has been cancelled
* Partially resolve color todo

* Update localizations for quick connect steps. use bulleted list

* Same change for tvos

* Remove padding2 modifier

* Localisation
2024-10-29 11:17:56 -06:00
Joe
2bda693143
Generic Button to Input from an Alert (#1273)
Some checks are pending
Build 🔨 / Build 🔨 (Swiftfin tvOS) (push) Waiting to run
Build 🔨 / Build 🔨 (Swiftfin) (push) Waiting to run
* 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
Joe
498842bb84
[tvOS] ListView + Grid Landscape Poster Padding (#1213)
Some checks are pending
Build 🔨 / Build 🔨 (Swiftfin tvOS) (push) Waiting to run
Build 🔨 / Build 🔨 (Swiftfin) (push) Waiting to run
2024-10-12 14:42:51 -06:00
Peter Hamilton
c5d6539018
Update PosterButton.swift | Adding accessibility support to media posters in media section of TVOS app (#1153)
* Update PosterButton.swift

Added accessibility labels to enable voice over on TVOS to read film titles on posters in media.

* lint

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-10-08 17:07:59 -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
Peter McNeil
5d59d57871
[tvOS] Change password to be a SecureField and autosubmit on password comple… (#1090)
Some checks are pending
Build 🔨 / Build 🔨 (Swiftfin tvOS) (push) Waiting to run
Build 🔨 / Build 🔨 (Swiftfin) (push) Waiting to run
* Change password to be a SecureField and autosubmit on password completion

* Fix SelectUser Button

* Respond to comments and remove unnecessary changes

* Make FocusField a private enum
2024-10-06 02:24:28 -06:00
Joe
bc9eacab57
[iOS] Admin Dashboard (#1230)
Some checks are pending
Build 🔨 / Build 🔨 (Swiftfin tvOS) (push) Waiting to run
Build 🔨 / Build 🔨 (Swiftfin) (push) Waiting to run
2024-10-04 21:15:12 -06:00
Mats Eikeland Mollestad
081a316843
tvOS - Show and interact with the video menu (#1066)
* Made the menu accessable and fixed visual padding bug

* Moved away from .onExitCommand etc

* Minor refactoring

* wip

* Update Overlay.swift

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-09-05 13:44:00 -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
Steve Byatt
58dfddeeca
Update lastSignedInUserID defaults to use new UserSignInState enum (#1209)
* init

* projecgt file

* Update project.pbxproj

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-09-02 01:00:25 -06:00
Joe
11c25648bf
[tvOS] Episode/Season Focus gets Stuck (#1185)
* Focus on the first element if the lastFocusedEpisodeId isn't in the viewModel.

* Performance Improvements:
- Optimized Lookup:  Used a Set for efficient checking of whether lastFocusedEpisodeID exists in viewModel.elements.
- Single Pass:  Reduced the number of passes needed to check for existence and set the focusedEpisodeID.

* https://github.com/jellyfin/Swiftfin/pull/1185#pullrequestreview-2241625398 Suggestions

---------

Co-authored-by: Joseph Kribs <joseph@kribs.net>
2024-08-16 12:30:15 -06:00
Joe
9bc8d9613e
[tvOS] Fix Episode Description Size & Provide Episode Thumbnail Clarity (#1184)
Co-authored-by: Joseph Kribs <joseph@kribs.net>
2024-08-15 19:25:34 -06:00
Joe
e4fd98c244
[tvOS] Settings Cleanup (#1163)
* Settings Cleanup. Replace strings with labels. Enforce the same font. Ensure Forms don't get clipped by their boundries. Create consistent, reusable button sizing/coloring. Apply to all Settings Pages.

* Remove custom Button/Form styling in exchange for just using .scrollClipDisabled()

* Swap back to Jellyfin Purple from Purple.

* Remove Check Button. Check all Section Inits where possible. Make Server Details Server non-focusable.

Create a new menu for Server Details selection. This is a WIP awaiting feedback from https://github.com/jellyfin/Swiftfin/pull/1163#discussion_r1705957885

---------

Co-authored-by: Joseph Kribs <joseph@kribs.net>
2024-08-06 20:56:24 -06:00
Joe
4f1907f84c
[tvOS] Fix Indicators Setting Unreachable (#1161)
Co-authored-by: Joseph Kribs <joseph@kribs.net>
2024-08-03 15:45:56 -06:00
Joe
56bd62db80
App-Wide Bitrate Limit (#1147)
* Creation of bitrate selections that mirror Jellyfin-Web. The goal is to eventually allow for these same selections to be available for usage in the Player itself to set the max bitrate per playback session. This App-Wide setting is for things like preserving data (Mobile) or for areas that have perpetually have low bandwidth (AppleTV). These settings currently default to 'Auto' which is the current limit of 360,000,000 bps / 360 mpbs. I have added a spot in BaseItemDTO+VideoPlayerViewModel to get the smaller amount between 360 Mpbs and the App Maximum Setting. This exists so I can go back and update this to get the Minumum between the Player Session max bitrate and the App Setting max bitrate.

Test on iPhone 10S, AppleTV 3rd Gen, and the iPhone 15 Pro via enumulator.

* Fix Bitrate naming (360p vs 480p) and remove the setting nested in a second section.

* Creation of a Maximum setting with 360mbps and an auto that gets the bitrate at playback.

* Remove comments for code where I want to eventually put it for better clarify

* Linting fixes

* Change the Playback Bitrate to an Int from a String since the Bitrate is valuable but the string isn't. Run the SwiftFormat on the maxBitrate function.

* Migrate the settings to their own menu with both the bitrate and the optional test size when auto is used.

* Creation of an enum filterValues function for Bitrate. This way, the selection on the Player Overlay (eventually) can be filtered to only include bitrates that are less than or equal to the App Setting for Maximum Bitrate. This should help prevent confusion / remove bandwidth conflicts.

The eventual Player Overlay setting should never conflict with the App-Wide Setting and should only offer options that are less than the App-Wide Setting.

* Change the videoPlayerViewModel to take parameters instead of defaults. Move the defaults up one level to be called there. Split the bitrate test from the getMaxBitrate to better guard against dividing against 0 and also split out the logic to be easier to read.

Change the PlaybackBitrate filter to always include Auto and, when auto, include ALL bitrates. This filter is not currently used.

* Remove the PlaybackBitrate FilterValues since this is not needed and will be created ad-hoc.

* Update the bitrateTestDuration verbage to better reflect that you're changing the size of the bitrate test and not just increasing the duration. Re-use the existing largest to smallest labels since there isn't a ton of benefit using "Longest to Shortest" so this should re-use existing localization. Comment the Labels.

No functional changes. Only an update to labels.

* Delete the Bitrate.json file but retain the Resources folder.

* Remove Resource Folder.

---------

Co-authored-by: Joe Kribs <joseph@kribs.net>
2024-07-23 06:18:28 -05:00
Ethan Pippin
5ee2eac11d
Update tvOS onChange (#1141) 2024-07-02 12:39:52 +09:00
Daniel Chick
29b917ead0
Migrate to the latest version of Factory (#1097) 2024-07-01 19:58:59 -06:00
Dhocking
5334c57c65
Add ability to hide "Recently Added" section at home screen (#1087) 2024-06-12 11:35:01 -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
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
b4be96e6ac
tvOS Library Paging (#1057) 2024-05-16 07:32:03 -06:00
Michael R
21d23de777
Fix Recently Added View logo size (#1055) 2024-05-15 13:02:55 -06:00
Ethan Pippin
74b8b286c7
User/Server Sign In Redesign (#1045) 2024-05-14 23:42:41 -06:00
Ethan Pippin
329cf0d45f
Fix Episode Selector Images (#1047) 2024-04-28 21:02:01 +09:00
Ethan Pippin
384e80805e
Poster Display and Button Refactor (#1038) 2024-04-23 11:22:07 -06:00
Tony
ad8f4bbefd
Fix quick connect (#874) 2024-04-22 22:22:10 -06:00
Ethan Pippin
99375e98ff
fix ordering (#1041) 2024-04-21 09:31:16 -06:00
Ethan Pippin
2dace313d1
Search Channels and Programs (#1037) 2024-04-19 15:55:47 -06:00
Ethan Pippin
58190d73fd
tvOS - Remove last CollectionView (#1036) 2024-04-19 07:40:31 -06:00
alasclar
272799d9c5
Use http by default on ConnectToServerView (#971) 2024-04-17 10:42:10 -06:00
Ethan Pippin
ec9bfaa2fe
Live TV Updates (#1022) 2024-04-16 23:10:44 -06:00
Ethan Pippin
913dda5fea
Fix MediaView Items (#1023) 2024-04-16 22:14:33 -06:00
Julian Hays
4ac0547be8
Fixing Live TV since the refactor (#806) 2024-04-14 22:29:46 -06:00
Ethan Pippin
8a0ef0e48f
Fix Basic Multi Server URL (#1012) 2024-04-02 23:37:45 -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
Daniel Chick
876ffba417
Enable Swift Symbol Generation for Assets Catalogs (#955) 2024-03-13 14:37:03 -06:00
Ethan Pippin
a645444f25
Refactor PosterButton and libraries, good UICollectionViews, proper orientation handling, and more (#905) 2024-03-11 08:09:30 -06:00
Tom Strausbaugh
fc98f3848e
Minor Fix for Search View and Poster Button Text (#964) 2024-02-20 11:57:43 -05:00
Eric Lee
e72c5160c3
[tvOS][Bug] Fixes season selector only showing a single season. (#950) 2024-01-17 13:10:01 -07:00
Eric Lee
3b59bed413
[tvOS][QOL] Supports back button click when in the native player. (#947) 2024-01-15 22:41:06 -07:00
holow29
e2d6237a23
Revamp Device Profile Builder (#519) 2024-01-13 15:42:06 -07:00
Ethan Pippin
b038f05848
Update 2024 headers (#951)
* update header

* the rest after upgrading
2024-01-13 15:13:44 -07:00
☃ Elliot Shepherd
eb17300061
update LatestInLibraryView to use getLatestMedia (#895) 2023-11-09 19:17:23 -07:00
Ethan Pippin
9266d53ae0
Remove iOS PosterButtonType + cleanup (#883) 2023-10-31 23:52:06 -06:00