* feat(linked-accounts): create page and display linked media server accounts
* feat(dropdown): add new shared Dropdown component
Adds a shared component for plain dropdown menus, based on the headlessui Menu component. Updates
the `ButtonWithDropdown` component to use the same inner components, ensuring that the only
difference between the two components is the trigger button, and both use the same components for
the actual dropdown menu.
* refactor(modal): add support for configuring button props
* feat(linked-accounts): add support for linking/unlinking jellyfin accounts
* feat(linked-accounts): support linking/unlinking plex accounts
* fix(linked-accounts): probibit unlinking accounts in certain cases
Prevents the primary administrator from unlinking their media server account (which would break
sync). Additionally, prevents users without a configured local email and password from unlinking
their accounts, which would render them unable to log in.
* feat(linked-accounts): support linking/unlinking emby accounts
* style(dropdown): improve style class application
* fix(server): improve error handling and API spec
* style(usersettings): improve syntax & performance of user password checks
* style(linkedaccounts): use applicationName in page description
* fix(linkedaccounts): resolve typo
* refactor(app): remove RequestError class
Previously, the "Play on Jellyfin" or "Watch Trailers" buttons used the onClick event and
window.open to open links, instead of using 'a' elements with a href.
* fix(ui): remove opacity classes from transition enter and leave props
The flickering was caused by the opacity classes in the `leave` prop to take effect as the
transition ends; when the `leaveTo` prop classes are no longer applied, but the `leave` prop classes
are still applied.
* fix(ui): resolve transition issues for all components
1. Remove opacity classes from `enter` and `leave` props
2. Fix some class name typos
3. Remove transform classes since those are automatically applied as from TailwindCSS v3.0
4. Narrow down `transition` classes to only the properties being transitioned in Transition components
* fix(deps): update dependency @heroicons/react to v2
* fix: update imports and fix icon name changes for heroicons
* fix: also update MiniStatusBadge to use new check icon
* fix: update last place with old import
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: sct <ryan@sct.dev>
* refactor(css): add global classes for common icon types
* refactor(css): target child SVGs instead of creating new icon classes
* fix: fix ButtonWithDropdown style class spacing