* feat: blacklist media items
re #490
* feat: blacklist media items
* feat: blacklist media items
* style: formatting
* refactor: close the manage slide-over when the media item is removed from the blacklist
* fix: fix media data in the db when blacklisting an item
* refactor: refactor component to accept show boolean
* refactor: hide watchlist button in the media page when it's blacklisted. Also add a blacklist button
* style: formatting
---------
Co-authored-by: JoaquinOlivero <joaquin.olivero@hotmail.com>
* feat: add Media Server Selection to Setup Page
Introduce the ability to select the media server type on the setup page. Users can now choose their
preferred media server (e.g., Plex through the Plex sign-in or Emby/Jellyfin sign-in to select
either Emby or Jellyfin). The selected media server type is then reflected in the application
settings. This enhancement provides users with increased flexibility and customization options
during the initial setup process, eliminating the need to rely on environment variables (which
cannot be set if using platforms like snaps). Existing Emby users, who use the environment variable,
should log out and log back in after updating to set their mediaServerType to Emby.
BREAKING CHANGE: This commit deprecates the JELLYFIN_TYPE variable to identify Emby media server and
instead rely on the mediaServerType that is set in the `settings.json`. Existing environment
variable users can log out and log back in to set the mediaServerType to `3` (Emby).
* feat(api): add severType to the api
BREAKING CHANGE: This adds a serverType to the `/auth/jellyfin` which requires a serverType to be
set (`jellyfin`/`emby`)
* refactor: use enums for serverType and rename selectedservice to serverType
* refactor(auth): jellyfin/emby authentication to set MediaServerType
* fix: issue page formatMessage for 4k media
* refactor: cleaner way of handling serverType change using MediaServerType instead of strings
instead of using strings now it will use MediaServerType enums for serverType
* revert: removed conditional render of the auto-request permission
reverts the conditional render toshow the auto-request permission if the mediaServerType was set to
Plex as this should be handled in a different PR and Cypress tests should be modified
accordingly(currently cypress test would fail if this conditional check is there)
* feat: add server type step to setup
* feat: migrate existing emby setups to use emby mediaServerType
* fix: scan jobs not running when media server type is emby
* fix: emby media server type migration
* refactor: change emby logo to full logo
* style: decrease emby logo size in setup screen
* refactor: use title case for servertype i18n message
* refactor(i18n): fix a typo
* refactor: use enums instead of numbers
* fix: remove old references to JELLYFIN_TYPE environment variable
* fix: go back to the last step when refresh the setup page
* fix: move "scanning in background" tip next to the scanning section
* fix: redirect the setup page when Jellyseerr is already setup
---------
Co-authored-by: Gauthier <mail@gauthierth.fr>
* feat: adds button on the page of a media item to add or remove it from a user's watchlist
re #730
* fix: whitespace and i18n key
* style: fix code format to the required standards
* refactor: change axios for the fetch api
---------
Co-authored-by: JoaquinOlivero <joaquin.olivero@hotmail.com>
* refactor: update Next.js and React.js
* refactor: update Next.js images
* refactor: update ESLint rules and fix warnings/errors
* fix: remove old intl polyfill
* fix: add proper size to next/image components
* fix: adjust full-size for next/image components
* fix: temporary allow all domains for image optimization
* build: fixes an issue where dev env could lead to javascript heap out of memory
* fix: resolve webpack cache issue with country-flag-icons
* refactor: switch compiler from Babel to SWC
* fix: resize logo in sidebar
* fix: break word on long path to avoid text overflow
* chore: added sharp for production image optimisation
* fix: change extract script for i18n to a custom script
* fix: resolve GitHub CodeQL alert
* chore: temporarily remove builds for ARMv7
* fix: resize avatar images
* refactor: update Node.js to v20
* fix: resolve various UI issues
* build: migrate yarn to pnpm and restrict engine to node@^20.0.0
* ci: specify the pnpm version to use in workflow actions
* ci: fix typo in pnpm action-setup for cypress workflow
* test(cypress): use pnpm instead of yarn
* style: ran prettier on pnpm-lock
* ci(cypress): setup nodejs v20 in cypress workflow
* ci: pnpm cache to reduce install time
* ci: use sh shell to get pnpm store directory
* build(dockerfile): migrate to pnpm from yarn in docker builds
* build(dockerfile): copy the proper pnpm lockfile
* build: install pnpm for all platforms
* build(dockerfile): remove unnecessary `&&` on apk installation steps
* build: migrate pnpm 8 to 9
* build(dockerfile): add node-gyp back in
* build(dockerfile): install node-gyp through npm
* build(dockerfile): ignore scripts to not run husky install when devdependencies are pruned
* build: migrate to pnpm from yarn
* chore: remove a section that is no longer relevant
---------
Co-authored-by: fallenbagel <98979876+Fallenbagel@users.noreply.github.com>
* 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: added a refresh interval if download status is in progress
* refactor: switched to a function instead of useEffect
* feat: added editable download sync schedule
* fix: series would show an empty season on season list or tv request modal
* fix: request more would show even if all requestable seasons are already requested
* fix: will check if request or season length is longer
* 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>
* fix(ui): hide available media on person page
* fix(ui): set correct label for image cache settings
* fix(ui): disable status badge tooltip for collections
* fix(ui): replace empty space when no episodes in season
* fix: suggested changes
* fix(jobs): set watchlist sync to short interval
* chore: run i18n:extract
* fix: suggested changes