Skip to content
This repository has been archived by the owner on Oct 4, 2023. It is now read-only.

Commit

Permalink
Fix favorites page filtering on old tables (#2120)
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyle-Shanks authored Oct 11, 2022
1 parent cf73f53 commit fb96ea4
Showing 1 changed file with 38 additions and 8 deletions.
46 changes: 38 additions & 8 deletions packages/web/src/pages/saved-page/SavedPageProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ import {
SavedPageCollection,
tracksSocialActions as socialActions,
playerSelectors,
queueSelectors
queueSelectors,
FeatureFlags
} from '@audius/common'
import { push as pushRoute } from 'connected-react-router'
import { debounce, isEqual } from 'lodash'
Expand All @@ -31,6 +32,7 @@ import { withRouter, RouteComponentProps } from 'react-router-dom'
import { Dispatch } from 'redux'

import { TrackEvent, make } from 'common/store/analytics/actions'
import { getFeatureEnabled } from 'services/remote-config/featureFlagHelpers'
import { AppState } from 'store/types'
import { isMobile } from 'utils/clientUtil'
import { profilePage } from 'utils/route'
Expand Down Expand Up @@ -93,11 +95,14 @@ class SavedPage extends PureComponent<SavedPageProps, SavedPageState> {
}

handleFetchSavedTracks = debounce(() => {
this.props.fetchSavedTracks(
this.state.filterText,
this.state.sortMethod,
this.state.sortDirection
)
const isNewTablesEnabled = getFeatureEnabled(FeatureFlags.NEW_TABLES)
if (isNewTablesEnabled) {
this.props.fetchSavedTracks(
this.state.filterText,
this.state.sortMethod,
this.state.sortDirection
)
}
}, 300)

handleFetchMoreSavedTracks = (offset: number, limit: number) => {
Expand Down Expand Up @@ -181,7 +186,7 @@ class SavedPage extends PureComponent<SavedPageProps, SavedPageState> {
return currentQueueItem.track ? currentQueueItem.track.track_id : null
}

getFilteredData = (
getFormattedData = (
trackMetadatas: SavedPageTrack[]
): [SavedPageTrack[], number] => {
const { tracks } = this.props
Expand All @@ -197,6 +202,28 @@ class SavedPage extends PureComponent<SavedPageProps, SavedPageState> {
return [filteredMetadata, filteredIndex]
}

getFilteredData = (
trackMetadatas: SavedPageTrack[]
): [SavedPageTrack[], number] => {
const { tracks } = this.props
const filterText = this.state.filterText
const playingUid = this.getPlayingUid()
const playingIndex = tracks.entries.findIndex(
({ uid }: any) => uid === playingUid
)

const filteredMetadata = this.formatMetadata(trackMetadatas).filter(
(item) =>
item.title.toLowerCase().indexOf(filterText.toLowerCase()) > -1 ||
item.user.name.toLowerCase().indexOf(filterText.toLowerCase()) > -1
)
const filteredIndex =
playingIndex > -1
? filteredMetadata.findIndex((metadata) => metadata.uid === playingUid)
: playingIndex
return [filteredMetadata, filteredIndex]
}

getFilteredAlbums = (
albums: SavedPageCollection[]
): SavedPageCollection[] => {
Expand Down Expand Up @@ -387,6 +414,7 @@ class SavedPage extends PureComponent<SavedPageProps, SavedPageState> {
render() {
const isQueued = this.isQueued()
const playingUid = this.getPlayingUid()
const isNewTablesEnabled = getFeatureEnabled(FeatureFlags.NEW_TABLES)

const childProps = {
title: messages.title,
Expand Down Expand Up @@ -427,7 +455,9 @@ class SavedPage extends PureComponent<SavedPageProps, SavedPageState> {
onFilterChange: this.onFilterChange,
onSortChange: this.onSortChange,
formatMetadata: this.formatMetadata,
getFilteredData: this.getFilteredData,
getFilteredData: isNewTablesEnabled
? this.getFormattedData
: this.getFilteredData,
onPlay: this.onPlay,
onSortTracks: this.onSortTracks,
onChangeTab: this.onChangeTab,
Expand Down

0 comments on commit fb96ea4

Please sign in to comment.