Commit Graph

25 Commits

Author SHA1 Message Date
Ashik K 09a3ce15a0 Rename project from jellypig to jellyflood
Complete rebranding from jellypig to jellyflood including:
- Renamed all jellypig references to jellyflood
- Updated store implementations (jellypigstore -> jellyfloodstore)
- Moved jellypig tvOS to Swiftfin tvOS structure
- Updated service configurations and defaults
- Preserved all Xtream plugin support and EPG functionality

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-18 09:14:33 +02:00
Ashik K 65d5a4b176 Rename Swiftfin to jellypig - personal fork for custom use cases
- Renamed Swiftfin.xcodeproj → jellypig.xcodeproj
- Renamed directories: Swiftfin tvOS → jellypig tvOS, Swiftfin → jellypig iOS
- Renamed schemes: Swiftfin tvOS → jellypig tvOS, Swiftfin → jellypig iOS
- Updated all references in project.pbxproj and scheme files
- tvOS-focused personal fork for Jellyfin.Xtream plugin usage

License: MPL-2.0 (allows forking and modifications)
2025-10-17 08:50:39 +02:00
Joe Kribs 6700ce969c
Complete Collections' `ItemView` (#1500)
* WIP

* Remove Divider

* self deprecation message

* `OrderedDictionary<BaseItemKind, [BaseItemDto]>`

* Localization fun

* cleanup

* Remove play button items & order by BaseItemKind.

* Fix AttributesHStack on iPad and make sure they align to the correct side. Looks jarring on Collections since Collections are often more limited on AttributesHStack items.

* Localization fix

* cleanup

* cleanup

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-05-17 11:34:04 -04:00
Joe Kribs a585bbda5f
[iOS] Admin Dashboard - Allowed Tags Cleanup (#1489)
* Enable if AllowedTags exist instead of just blockedTags

* Separation

* cleanup

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-04-14 20:49:05 -04:00
Joe Kribs 8c4fde87f1
[iOS] Admin Dashboard - QuickConnect Other User (#1488)
* Allow other user authorization.

* Show user being logged in.

* Fix localizations & update screenshot

* Cleanup Locales

* mirror lable changes on tvOS

* cleanup

* fix strings

* adjust sizes

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-04-14 17:19:32 -04:00
Joe Kribs d4330f130b
[iOS] Admin Dashboard - User Activity (#1485)
* 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>
2025-04-13 00:42:48 -04:00
Ethan Pippin cfc0105dc7
cleanup (#1484) 2025-04-07 09:08:54 -04:00
Joe Kribs 0025422634
[iOS & tvOS] Upgrade SDK to 10.10 (#1463)
* 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>
2025-04-06 23:42:47 -04:00
Joe Kribs 26ec19982e
[iOS & tvOS] Fix Square Overlay Over Profiles (#1466)
* Fix Square over Circle

* cleanup

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-04-06 17:21:21 -04:00
Joe Kribs 757ea4d475
[Meta] Re-Organize Admin Dashboard (#1401)
* Re-organize Admin Dashboard

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-01-22 20:05:33 -05:00
Joe Kribs a13f604be0
[iOS] Admin Dashboard - User Access Tags (#1377)
* Edit View. Still need to make an Add View

* Finished with EditPage. Need labels tho

* Deletion deletes TOO many records. Also, need to search existing tags

* Fin

* Fix merge issues

* Check for exisitng Access Tags before allowing saving

* 2025 Disclaimer / Build Fixes

* update

* Update EditServerUserAccessTagsView.swift

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2025-01-02 23:47:20 -07:00
Joe Kribs adec8de122
[Meta] 2025 Disclaimer (#1381) 2025-01-02 16:05:15 -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 d001a96d6c
[iOS] Admin Dashboard - User Access Schedules (#1358)
* Initial layout. No Add functionality yet.

* Cleanup ServerTasks. Get Access Schedules Fixed

* duplicate schedule warning, cleanup

* localize

* cleanup

* don't move to Title Case

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-12-12 13:24:34 -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 8f05169097
[iOS & tvOS] Error Cleanup (#1357)
* Error Cleanup

* Localize everything!

* cleanup

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-12-10 23:23:05 -07:00
Joe Kribs 174487a220
[iOS] Admin Dashboard - User Device & TV Access (#1342) 2024-12-09 16:33:10 -07:00
Ethan Pippin c8acd780be
Static Notification Payloads, Move more to `IdentifiedArray` (#1349)
* wip

* wip

* wip

* wip

* clean up

* clean up

* Update VideoPlayerManager.swift

* clean up
2024-12-08 23:57:16 -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 0797fb5fee
[iOS] Admin Dashboard - Hide Collections from Deletion Menu (#1340) 2024-12-07 14:32:51 -07:00
Joe Kribs 2ac9283dfa
[iOS] Admin Dashboard - Media Access / Deletion Settings (#1333)
* ServerUserAdminViewModel cleanup & testing. ServerUserAccessView.

* Change the enableAllLibraries to use the binding extensions

* Use coalesce for enableAllFolders & enableContentDeletion

* use contains binding

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-12-02 22:54:33 -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 b9ac50c164
[iOS] Admin Dashboard - User Permissions (#1313)
* WIP

* WIP

* Localization and better planning. Remove the Username as this will end up in another section. Updated planning here: https://github.com/jellyfin/Swiftfin/discussions/1283 | 5 more views required!

* Initializing an optional variable with nil is redundant line

* Remove Live TV since that will go in another section

* Cleanup Coordinator / Merge with Main

* Remove all 'Allows' from strings

* Fix Merge Issues

* Use CaseIterablePicker, Binding.map

* BackgroundState == updating, change all of the buttons to visible when custom by process of elimination opposed to the default custom value. Make all of the input fields use temp values to make it less jarring.

* Update SessionsSection.swift

* Learn more!

* Validate > 0, don't allow inputs to be less than 1 and reset tempValues when the enum is updated.

* use new binding extensions

* String fixes

* Don't test against adminDefault for users or userDefault for admins.

* Linting indentation

* Default vs UserDefault + no more reason to have temporary variables.

* cleanup

* format

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-11-27 11:22:37 -07:00
Joe 128381a439
[iOS] Admin Dashboard - User Passwords (#1312)
* resetUserPassword Adjustments

* Nest the Password in Advanced because I dunno it looks nicer.

* Dismiss Coordinator instead of pop.

* Build issues

* Rename my local xcode to xcode_16???

* Build plz

* Comments

* clean up

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-11-15 15:14:59 -07:00
Joe bcc1b6e733
[iOS] Admin Dashboard - Migrate to Own Coordinator/Folder (#1300)
* Migrate all files from UserDashboard to AdminDashboard. Rename accordingly since this is an admin only function. Move all AdminDashboard items from SettingsCoordinator to their own AdminDashboardCoordinator. Move all ViewModels to ONLY live inside of the iOS build since tvOS is

* cleanup

* fix for sub navigation

---------

Co-authored-by: Ethan Pippin <ethanpippin2343@gmail.com>
2024-11-04 14:14:22 -07:00