Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[iOS] Admin Dashboard - User Access Tags #1377

Merged
merged 14 commits into from
Jan 3, 2025

Conversation

JPKribs
Copy link
Member

@JPKribs JPKribs commented Dec 28, 2024

Summary

This PR starts the works for managing Access Tags. On 10.8, we only have the ability to set BlockedTags which removes the ability for a user to see media with that tag. In 10.10, there will be AllowedTags which block ALL media for that user unless the media has one of the AllowedTags.

The view I am using should work for both but I have the AllowedTags logic commented out for us to enable when it's available. I reused the Trie from the Tags/Genres/People/Studios editing: #1336. This is almost a copy/paste of EditItemElementView but I am turning all of the tags into [String:Bool] where I am tracking both the tag and whether it allows or blocks access. This allows us to do all of this on a single view instead of breaking it out. Since the object we are editing are just tags, having a secondary Bool doesn't add much clutter.

Since this item is incomplete before 10.10, I'm fine sitting on this one for a bit but the change to get this working for 10.10 should be very easy and this should be feature complete for 10.8.

Screenshots

New Button New Button
Empty View Empty View
New Entry New Entry
LearnMore LearnMore
Tag Searching Tag Searching
Tag Validation Tag Validation
Populated View Populated View

@JPKribs JPKribs mentioned this pull request Jan 2, 2025
@LePips
Copy link
Member

LePips commented Jan 3, 2025

The largest design change I made was to remove the label for what kind of tag it is. Instead, once allowed tags are implemented, we can then use a DisclosureGroup to group the blocked/allowed tags together and make the sections collapsable. Then on iOS 17 we can use a plain Section for a more desirable implementation.

@LePips LePips merged commit a13f604 into jellyfin:main Jan 3, 2025
4 checks passed
ddrccw added a commit to ddrccw/Swiftfin that referenced this pull request Jan 26, 2025
* upstream/main: (392 commits)
  [tvOS] Add pin prompt to sign-in screen (jellyfin#1383)
  [iOS] Admin Dashboard - User Access Tags (jellyfin#1377)
  [Meta] 2025 Disclaimer (jellyfin#1381)
  [tvOS] Delete User from User Selection Screen (jellyfin#1359)
  [iOS] Media Item Menu - Identify Media Item (jellyfin#1369)
  [iOS] Admin Dashboard - User Profiles (jellyfin#1328)
  [iOS] Select all Users When Editing (jellyfin#1373)
  [Meta] Automatic String Organization (jellyfin#1372)
  [iOS & tvOS] Unused Localization Cleanup (jellyfin#1362)
  [tvOS] SelectServerView Change to Menu (jellyfin#1363)
  [tvOS] Update ConnectToServerView & UserSignInView (jellyfin#1365)
  Trim Fastlane Options (jellyfin#1367)
  Update Fastlane Runner (jellyfin#1366)
  [iOS & tvOS] Localize Existing Strings (jellyfin#1361)
  [iOS] Admin Dashboard - User Access Schedules (jellyfin#1358)
  [iOS] Admin Dashboard - Parental Ratings (jellyfin#1353)
  [iOS & tvOS] Error Cleanup (jellyfin#1357)
  update (jellyfin#1356)
  Fix possible duplicate ids (jellyfin#1354)
  [tvOS] Media Item Menu - Refresh / Delete Items (jellyfin#1348)
  ...

Signed-off-by: ddrccw <[email protected]>
@JPKribs JPKribs added the enhancement New feature or request label Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants