diff --git a/cypress/e2e/discover.cy.ts b/cypress/e2e/discover.cy.ts index c968eedc8..cf4f1d6b4 100644 --- a/cypress/e2e/discover.cy.ts +++ b/cypress/e2e/discover.cy.ts @@ -176,19 +176,20 @@ describe('Discover', () => { cy.intercept('/api/v1/discover/watchlist', { fixture: 'watchlist' }).as( 'getWatchlist' ); + // Wait for one of the watchlist movies to resolve + cy.intercept('/api/v1/movie/361743').as('getTmdbMovie'); cy.visit('/'); cy.wait('@getWatchlist'); - // Wait for one of the watchlist movies to resolve - cy.intercept('/api/v1/movie/361743').as('getTmdbMovie'); - const sliderHeader = cy.contains('.slider-header', 'Plex Watchlist'); sliderHeader.scrollIntoView(); cy.wait('@getTmdbMovie'); + // Wait a little longer to make sure the movie component reloaded + cy.wait(500); sliderHeader .next('[data-testid=media-slider]') @@ -202,6 +203,7 @@ describe('Discover', () => { .next('[data-testid=media-slider]') .find('[data-testid=title-card]') .first() + .click() .click(); cy.get('[data-testid=media-title]').should('contain', text); }); diff --git a/src/components/Discover/DiscoverWatchlist/index.tsx b/src/components/Discover/DiscoverWatchlist/index.tsx index ffff400f8..d5d579534 100644 --- a/src/components/Discover/DiscoverWatchlist/index.tsx +++ b/src/components/Discover/DiscoverWatchlist/index.tsx @@ -7,7 +7,7 @@ import Error from '../../../pages/_error'; import type { WatchlistItem } from '../../../../server/interfaces/api/discoverInterfaces'; const messages = defineMessages({ - discoverwatchlist: 'Plex Watchlist', + discoverwatchlist: 'Your Plex Watchlist', }); const DiscoverWatchlist = () => { diff --git a/src/components/Discover/index.tsx b/src/components/Discover/index.tsx index 7851bde8c..5832fdef8 100644 --- a/src/components/Discover/index.tsx +++ b/src/components/Discover/index.tsx @@ -5,7 +5,7 @@ import useSWR from 'swr'; import type { WatchlistItem } from '../../../server/interfaces/api/discoverInterfaces'; import type { MediaResultsResponse } from '../../../server/interfaces/api/mediaInterfaces'; import type { RequestResultsResponse } from '../../../server/interfaces/api/requestInterfaces'; -import { Permission, useUser } from '../../hooks/useUser'; +import { Permission, UserType, useUser } from '../../hooks/useUser'; import PageTitle from '../Common/PageTitle'; import MediaSlider from '../MediaSlider'; import RequestCard from '../RequestCard'; @@ -26,12 +26,12 @@ const messages = defineMessages({ noRequests: 'No requests.', upcoming: 'Upcoming Movies', trending: 'Trending', - plexwatchlist: 'Plex Watchlist', + plexwatchlist: 'Your Plex Watchlist', }); const Discover = () => { const intl = useIntl(); - const { hasPermission } = useUser(); + const { user, hasPermission } = useUser(); const { data: media, error: mediaError } = useSWR( '/api/v1/media?filter=allavailable&take=20&sort=mediaAdded', @@ -51,7 +51,7 @@ const Discover = () => { totalPages: number; totalResults: number; results: WatchlistItem[]; - }>('/api/v1/discover/watchlist', { + }>(user?.userType === UserType.PLEX ? '/api/v1/discover/watchlist' : null, { revalidateOnMount: true, }); @@ -104,36 +104,38 @@ const Discover = () => { placeholder={} emptyMessage={intl.formatMessage(messages.noRequests)} /> -
- - - {intl.formatMessage(messages.plexwatchlist)} - - - -
{!( !!watchlistItems && !watchlistError && watchlistItems.results.length === 0 ) && ( - ( - - ))} - /> + <> +
+ + + {intl.formatMessage(messages.plexwatchlist)} + + + +
+ ( + + ))} + /> + )} Plex Watchlist", "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseries": "Auto-Request Series", + "components.UserProfile.UserSettings.UserGeneralSettings.plexwatchlistsyncseriestip": "Automatically request series on your Plex Watchlist", "components.UserProfile.UserSettings.UserGeneralSettings.region": "Discover Region", "components.UserProfile.UserSettings.UserGeneralSettings.regionTip": "Filter content by regional availability", "components.UserProfile.UserSettings.UserGeneralSettings.role": "Role",