Skip to content

Commit 9300b39

Browse files
authored
Fix remix tracks skeleton issues (#11910)
1 parent deb0249 commit 9300b39

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

packages/common/src/api/tan-query/useRemixes.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,12 @@ export const useRemixes = (
8989
}),
9090
initialPageParam: 0,
9191
getNextPageParam: (lastPage: RemixesQueryData, allPages) => {
92-
if (lastPage?.tracks?.length < pageSize) return undefined
92+
const isSecondPage = allPages.length === 1
93+
if (
94+
lastPage?.tracks?.length < pageSize ||
95+
(isSecondPage && includeOriginal && lastPage?.tracks?.length - 1 === 0)
96+
)
97+
return undefined
9398
return allPages.reduce((acc, page) => acc + page.tracks.length, 0)
9499
},
95100
queryFn: async ({ pageParam }) => {
@@ -104,20 +109,19 @@ export const useRemixes = (
104109
onlyCosigns: isCosign,
105110
onlyContestEntries: isContestEntry
106111
})
107-
const processedTracks = transformAndCleanList(
112+
let processedTracks = transformAndCleanList(
108113
data.tracks,
109114
userTrackMetadataFromSDK
110115
)
111116

112117
primeTrackData({ tracks: processedTracks, queryClient, dispatch })
113118

114-
let tracksWithOriginal
115119
if (includeOriginal && pageParam === 0) {
116120
const track = queryClient.getQueryData(getTrackQueryKey(trackId))
117121
if (track && data.tracks) {
118122
const user = queryClient.getQueryData(getUserQueryKey(track.owner_id))
119123
if (user) {
120-
tracksWithOriginal = [{ ...track, user }, ...processedTracks]
124+
processedTracks = [{ ...track, user }, ...processedTracks]
121125
}
122126
}
123127
}
@@ -128,7 +132,7 @@ export const useRemixes = (
128132
pageParam,
129133
pageSize,
130134
false,
131-
{ items: tracksWithOriginal ?? processedTracks }
135+
{ items: processedTracks }
132136
)
133137
)
134138
dispatch(remixesPageActions.setCount({ count: data.count }))

packages/web/src/common/store/queue/sagas.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import {
3030
} from '@audius/common/store'
3131
import { Uid, makeUid, waitForAccount, Nullable } from '@audius/common/utils'
3232
import { all, call, put, select, takeEvery, takeLatest } from 'typed-redux-saga'
33+
import { PREFIX as REMIXES_PREFIX } from '~/store/pages/remixes/lineup/actions'
3334
import { PREFIX as SEARCH_PREFIX } from '~/store/pages/search-results/lineup/tracks/actions'
3435

3536
import { make } from 'common/store/analytics/actions'
@@ -65,6 +66,7 @@ const { getIsReachable } = reachabilitySelectors
6566

6667
const QUEUE_SUBSCRIBER_NAME = 'QUEUE'
6768

69+
const TAN_QUERY_LINEUP_PREFIXES = [SEARCH_PREFIX, REMIXES_PREFIX]
6870
export function* getToQueue(
6971
prefix: string,
7072
entry: LineupEntry<Track | Collection>
@@ -302,8 +304,8 @@ function* fetchLineupTracks(currentTrack: Track) {
302304
const lineupEntry = lineupRegistry[source]
303305
if (!lineupEntry) return
304306

305-
// NOTE: SPECIAL CASE - For tan-query search we don't want this behavior
306-
if (lineupEntry.actions.prefix === SEARCH_PREFIX) return
307+
// NOTE: For tan-query lineups we want to avoid this behavior
308+
if (TAN_QUERY_LINEUP_PREFIXES.includes(lineupEntry.actions.prefix)) return
307309

308310
const currentProfileUserHandle = yield* select(getProfileUserHandle)
309311

0 commit comments

Comments
 (0)