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

Commit

Permalink
[C-3038] Remove playlist updates feature flags (#4017)
Browse files Browse the repository at this point in the history
  • Loading branch information
dylanjeffers authored Sep 6, 2023
1 parent ae63e6c commit bed2631
Show file tree
Hide file tree
Showing 43 changed files with 160 additions and 1,007 deletions.
4 changes: 0 additions & 4 deletions packages/common/src/services/remote-config/feature-flags.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ export enum FeatureFlags {
SDK_DISCOVERY_NODE_SELECTOR = 'sdk_discovery_node_selector_2',
RELATED_ARTISTS_ON_PROFILE_ENABLED = 'related_artists_on_profile_enabled',
PROXY_WORMHOLE = 'proxy_wormhole',
PLAYLIST_UPDATES_PRE_QA = 'playlist_updates_pre_qa',
PLAYLIST_UPDATES_POST_QA = 'playlist_updates_post_qa',
AI_ATTRIBUTION = 'ai_attribution',
DEVELOPER_APPS_PAGE = 'developer_apps_page',
UPLOAD_REDESIGN_ENABLED = 'upload_redesign_enabled',
Expand Down Expand Up @@ -104,8 +102,6 @@ export const flagDefaults: FlagDefaults = {
[FeatureFlags.SDK_DISCOVERY_NODE_SELECTOR]: false,
[FeatureFlags.RELATED_ARTISTS_ON_PROFILE_ENABLED]: false,
[FeatureFlags.PROXY_WORMHOLE]: false,
[FeatureFlags.PLAYLIST_UPDATES_PRE_QA]: false,
[FeatureFlags.PLAYLIST_UPDATES_POST_QA]: false,
[FeatureFlags.AI_ATTRIBUTION]: false,
[FeatureFlags.DEVELOPER_APPS_PAGE]: false,
[FeatureFlags.UPLOAD_REDESIGN_ENABLED]: false,
Expand Down
20 changes: 19 additions & 1 deletion packages/common/src/store/cache/collections/selectors.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import { getAllEntries, getEntry } from 'store/cache/selectors'
import { getTrack, getTracks } from 'store/cache/tracks/selectors'
import { getUser as getUserById, getUsers } from 'store/cache/users/selectors'
import {
getUser,
getUser as getUserById,
getUsers
} from 'store/cache/users/selectors'
import type { CommonState } from 'store/commonStore'
import { removeNullable } from 'utils/typeUtils'
import { Uid } from 'utils/uid'
Expand Down Expand Up @@ -87,6 +91,20 @@ export const getCollectionTracks = (
return tracks
}

export const getCollectionTracksWithUsers = (
state: CommonState,
{ id }: { id?: ID }
) => {
const tracks = getCollectionTracks(state, { id })
return tracks
?.map((track) => {
const user = getUser(state, { id: track.owner_id })
if (!user) return null
return { ...track, user }
})
.filter(removeNullable)
}

const getCollectionTracksMap = (state: CommonState, { id }: { id?: ID }) => {
const collection = getCollection(state, { id })
const collectionTrackIds = collection?.playlist_contents.track_ids.map(
Expand Down
4 changes: 0 additions & 4 deletions packages/common/src/store/reducers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,6 @@ import buyAudioReducer from './ui/buy-audio/slice'
import collectibleDetailsReducer, {
CollectibleDetailsState
} from './ui/collectible-details/slice'
import createPlaylistModalReducer from './ui/createPlaylistModal/reducer'
import { CreatePlaylistModalState } from './ui/createPlaylistModal/types'
import deletePlaylistConfirmationReducer from './ui/delete-playlist-confirmation-modal/slice'
import { DeletePlaylistConfirmationModalState } from './ui/delete-playlist-confirmation-modal/types'
import duplicateAddConfirmationReducer from './ui/duplicate-add-confirmation-modal/slice'
Expand Down Expand Up @@ -187,7 +185,6 @@ export const reducers = () => ({

relatedArtists: relatedArtistsReducer,
changePassword: changePasswordReducer,
createPlaylistModal: createPlaylistModalReducer,
collectibleDetails: collectibleDetailsReducer,
deletePlaylistConfirmationModal: deletePlaylistConfirmationReducer,
duplicateAddConfirmationModal: duplicateAddConfirmationReducer,
Expand Down Expand Up @@ -312,7 +309,6 @@ export type CommonState = {
buyAudio: ReturnType<typeof buyAudioReducer>
addToPlaylist: AddToPlaylistState
changePassword: ChangePasswordState
createPlaylistModal: CreatePlaylistModalState
collectibleDetails: CollectibleDetailsState
deletePlaylistConfirmationModal: DeletePlaylistConfirmationModalState
duplicateAddConfirmationModal: DuplicateAddConfirmationModalState
Expand Down
10 changes: 0 additions & 10 deletions packages/common/src/store/ui/createPlaylistModal/actions.ts

This file was deleted.

43 changes: 0 additions & 43 deletions packages/common/src/store/ui/createPlaylistModal/reducer.ts

This file was deleted.

34 changes: 0 additions & 34 deletions packages/common/src/store/ui/createPlaylistModal/selectors.ts

This file was deleted.

7 changes: 0 additions & 7 deletions packages/common/src/store/ui/createPlaylistModal/types.ts

This file was deleted.

5 changes: 0 additions & 5 deletions packages/common/src/store/ui/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,6 @@ export {
actions as collectibleDetailsUIActions
} from './collectible-details/slice'

export * as createPlaylistModalUISelectors from './createPlaylistModal/selectors'
export * as createPlaylistModalUIActions from './createPlaylistModal/actions'
export { default as createPlaylistModalUIReducer } from './createPlaylistModal/reducer'
export * from './createPlaylistModal/types'

export * as deletePlaylistConfirmationModalUISelectors from './delete-playlist-confirmation-modal/selectors'
export {
default as deletePlaylistConfirmationModalUIReducer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@ import {
CreatePlaylistSource,
accountSelectors,
cacheCollectionsActions,
addToPlaylistUISelectors,
FeatureFlags
addToPlaylistUISelectors
} from '@audius/common'
import { View } from 'react-native'
import { useDispatch, useSelector } from 'react-redux'

import Button, { ButtonType } from 'app/components/button'
import { Card } from 'app/components/card'
import { AppDrawer, useDrawerState } from 'app/components/drawer'
import { CollectionImage } from 'app/components/image/CollectionImage'
import { useFeatureFlag } from 'app/hooks/useRemoteConfig'
import { useToast } from 'app/hooks/useToast'
import { makeStyles, shadow } from 'app/styles'

Expand Down Expand Up @@ -62,9 +59,6 @@ export const AddToPlaylistDrawer = () => {
const trackTitle = useSelector(getTrackTitle)
const isTrackUnlisted = useSelector(getTrackIsUnlisted)
const user = useSelector(getAccountWithOwnPlaylists)
const { isEnabled: isPlaylistUpdatesEnabled } = useFeatureFlag(
FeatureFlags.PLAYLIST_UPDATES_POST_QA
)

const renderImage = useCallback(
(item) => (props?: ImageProps) =>
Expand Down Expand Up @@ -130,7 +124,7 @@ export const AddToPlaylistDrawer = () => {
const doesPlaylistContainTrack =
playlistTrackIdMap[item.playlist_id]?.includes(trackId)

if (isPlaylistUpdatesEnabled && doesPlaylistContainTrack) {
if (doesPlaylistContainTrack) {
dispatch(
openDuplicateAddConfirmation({
playlistId: item.playlist_id,
Expand All @@ -149,7 +143,6 @@ export const AddToPlaylistDrawer = () => {
[
addToNewPlaylist,
dispatch,
isPlaylistUpdatesEnabled,
isTrackUnlisted,
onClose,
playlistTrackIdMap,
Expand All @@ -172,20 +165,10 @@ export const AddToPlaylistDrawer = () => {
title={messages.title}
>
<View>
{!isPlaylistUpdatesEnabled ? (
<View style={styles.buttonContainer}>
<Button
title='Create New Playlist'
onPress={addToNewPlaylist}
containerStyle={styles.button}
type={ButtonType.COMMON}
/>
</View>
) : null}
<CollectionList
contentContainerStyle={styles.cardList}
collection={userPlaylists}
showCreatePlaylistTile={isPlaylistUpdatesEnabled}
showCreatePlaylistTile
renderItem={renderCard}
/>
</View>
Expand Down
18 changes: 1 addition & 17 deletions packages/mobile/src/components/core/FormImageInput.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { useCallback, useMemo, useState } from 'react'

import { FeatureFlags } from '@audius/common'
import { useField } from 'formik'
import type { ImageStyle, ViewStyle } from 'react-native'
import { Animated, Pressable, View } from 'react-native'
Expand All @@ -10,7 +9,6 @@ import IconUpload from 'app/assets/images/iconUpload.svg'
import { DynamicImage } from 'app/components/core'
import LoadingSpinner from 'app/components/loading-spinner'
import { usePressScaleAnimation } from 'app/hooks/usePressScaleAnimation'
import { useFeatureFlag } from 'app/hooks/useRemoteConfig'
import type { StylesProps } from 'app/styles'
import { makeStyles } from 'app/styles'
import type { Image } from 'app/types/image'
Expand All @@ -20,12 +18,6 @@ const useStyles = makeStyles(({ palette, spacing }) => ({
root: {
marginHorizontal: spacing(4)
},
legacyImageContainer: {
height: 216,
width: 216,
borderRadius: 4,
overflow: 'hidden'
},
imageContainer: {
aspectRatio: 1,
width: '100%',
Expand Down Expand Up @@ -78,9 +70,6 @@ export const FormImageInput = ({
const styles = useStyles()
const [isLoading, setIsLoading] = useState(false)
const [{ value }, , { setValue }] = useField(name)
const { isEnabled: isPlaylistUpdatesEnabled } = useFeatureFlag(
FeatureFlags.PLAYLIST_UPDATES_POST_QA
)

const { url } = value

Expand Down Expand Up @@ -119,12 +108,7 @@ export const FormImageInput = ({
<DynamicImage
source={source}
styles={{
root: [
isPlaylistUpdatesEnabled
? styles.imageContainer
: styles.legacyImageContainer,
stylesProp?.imageContainer
],
root: [styles.imageContainer, stylesProp?.imageContainer],
image: [styles.image, stylesProp?.image]
}}
onLoad={() => setIsLoading(false)}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { CommonState, ID } from '@audius/common'
import { FeatureFlags, cacheCollectionsSelectors } from '@audius/common'
import { cacheCollectionsSelectors } from '@audius/common'
import { View } from 'react-native'
import { useSelector } from 'react-redux'

Expand All @@ -10,7 +10,6 @@ import IconShare from 'app/assets/images/iconShare.svg'
import { IconButton } from 'app/components/core'
import { FavoriteButton } from 'app/components/favorite-button'
import { RepostButton } from 'app/components/repost-button'
import { useFeatureFlag } from 'app/hooks/useRemoteConfig'
import { makeStyles } from 'app/styles'
import type { GestureResponderHandler } from 'app/types/gesture'
import { useThemeColors } from 'app/utils/theme'
Expand Down Expand Up @@ -82,9 +81,6 @@ export const DetailsTileActionButtons = ({
}: DetailsTileActionButtonsProps) => {
const styles = useStyles()
const { neutralLight4 } = useThemeColors()
const { isEnabled: isPlaylistUpdatesEnabled } = useFeatureFlag(
FeatureFlags.PLAYLIST_UPDATES_POST_QA
)
const isCollectionEmpty = useSelector((state: CommonState) =>
getIsCollectionEmpty(state, { id: collectionId })
)
Expand Down Expand Up @@ -154,7 +150,7 @@ export const DetailsTileActionButtons = ({
/>
)

const isPlaylistOwner = isPlaylistUpdatesEnabled && isPlaylist && isOwner
const isPlaylistOwner = isPlaylist && isOwner

return (
<View style={styles.root}>
Expand Down
Loading

0 comments on commit bed2631

Please sign in to comment.