From c87a47cee5476ed6de6af9665488e017a8f352e3 Mon Sep 17 00:00:00 2001 From: sliptype Date: Wed, 11 May 2022 11:59:11 -0500 Subject: [PATCH] Revert "Remove tik tok feature flag" This reverts commit d3df9a8873482b7b2efbc2762e65e0ca553ecc03. --- .../common/services/remote-config/feature-flags.ts | 3 +++ .../web/src/components/share-modal/ShareModal.tsx | 7 +++++++ .../src/pages/upload-page/components/ShareBanner.tsx | 11 ++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/web/src/common/services/remote-config/feature-flags.ts b/packages/web/src/common/services/remote-config/feature-flags.ts index d5d53eead9..af96f5be50 100644 --- a/packages/web/src/common/services/remote-config/feature-flags.ts +++ b/packages/web/src/common/services/remote-config/feature-flags.ts @@ -2,6 +2,7 @@ export enum FeatureFlags { SOLANA_LISTEN_ENABLED = 'solana_listen_enabled', PLAYLIST_UPDATES_ENABLED = 'playlist_updates_enabled', + SHARE_SOUND_TO_TIKTOK = 'share_sound_to_tiktok', CHALLENGE_REWARDS_UI = 'challenge_rewards_ui', SOL_WALLET_AUDIO_ENABLED = 'sol_wallet_audio_enabled', SURFACE_AUDIO_ENABLED = 'surface_audio_enabled', @@ -20,6 +21,7 @@ export enum FeatureFlags { export const flagDefaults: { [key in FeatureFlags]: boolean } = { [FeatureFlags.SOLANA_LISTEN_ENABLED]: false, [FeatureFlags.PLAYLIST_UPDATES_ENABLED]: false, + [FeatureFlags.SHARE_SOUND_TO_TIKTOK]: false, [FeatureFlags.CHALLENGE_REWARDS_UI]: false, [FeatureFlags.SOL_WALLET_AUDIO_ENABLED]: false, [FeatureFlags.SURFACE_AUDIO_ENABLED]: false, @@ -50,6 +52,7 @@ export const flagCohortType: { } = { [FeatureFlags.SOLANA_LISTEN_ENABLED]: FeatureFlagCohortType.SESSION_ID, [FeatureFlags.PLAYLIST_UPDATES_ENABLED]: FeatureFlagCohortType.USER_ID, + [FeatureFlags.SHARE_SOUND_TO_TIKTOK]: FeatureFlagCohortType.USER_ID, [FeatureFlags.CHALLENGE_REWARDS_UI]: FeatureFlagCohortType.SESSION_ID, [FeatureFlags.SOL_WALLET_AUDIO_ENABLED]: FeatureFlagCohortType.USER_ID, [FeatureFlags.SURFACE_AUDIO_ENABLED]: FeatureFlagCohortType.USER_ID, diff --git a/packages/web/src/components/share-modal/ShareModal.tsx b/packages/web/src/components/share-modal/ShareModal.tsx index b55c1f8321..a4c2502e69 100644 --- a/packages/web/src/components/share-modal/ShareModal.tsx +++ b/packages/web/src/components/share-modal/ShareModal.tsx @@ -4,6 +4,7 @@ import { useDispatch, useSelector } from 'react-redux' import { useModalState } from 'common/hooks/useModalState' import { Name } from 'common/models/Analytics' +import { FeatureFlags } from 'common/services/remote-config' import { getAccountUser } from 'common/store/account/selectors' import { shareCollection } from 'common/store/social/collections/actions' import { shareTrack } from 'common/store/social/tracks/actions' @@ -11,6 +12,7 @@ import { shareUser } from 'common/store/social/users/actions' import { getShareState } from 'common/store/ui/share-modal/selectors' import { requestOpen as requestOpenTikTokModal } from 'common/store/ui/share-sound-to-tiktok-modal/slice' import { ToastContext } from 'components/toast/ToastContext' +import { useFlag } from 'hooks/useRemoteConfig' import { make, useRecord } from 'store/analytics/actions' import { isMobile } from 'utils/clientUtil' import { SHARE_TOAST_TIMEOUT_MILLIS } from 'utils/constants' @@ -32,6 +34,10 @@ export const ShareModal = () => { const { content, source } = useSelector(getShareState) const account = useSelector(getAccountUser) + const { isEnabled: isShareSoundToTikTokEnabled } = useFlag( + FeatureFlags.SHARE_SOUND_TO_TIKTOK + ) + const isOwner = content?.type === 'track' && account?.user_id === content.artist.user_id @@ -85,6 +91,7 @@ export const ShareModal = () => { onClose: handleClose, showTikTokShareAction: Boolean( content?.type === 'track' && + isShareSoundToTikTokEnabled && isOwner && !content.track.is_unlisted && !content.track.is_delete diff --git a/packages/web/src/pages/upload-page/components/ShareBanner.tsx b/packages/web/src/pages/upload-page/components/ShareBanner.tsx index 0d482ed25f..a51f6c5d3c 100644 --- a/packages/web/src/pages/upload-page/components/ShareBanner.tsx +++ b/packages/web/src/pages/upload-page/components/ShareBanner.tsx @@ -9,9 +9,11 @@ import { ReactComponent as IconShare } from 'assets/img/iconShare.svg' import { useModalState } from 'common/hooks/useModalState' import { Name } from 'common/models/Analytics' import { User } from 'common/models/User' +import { FeatureFlags } from 'common/services/remote-config' import { open as openTikTokModal } from 'common/store/ui/share-sound-to-tiktok-modal/slice' import Toast from 'components/toast/Toast' import { MountPlacement, ComponentPlacement } from 'components/types' +import { useFlag } from 'hooks/useRemoteConfig' import AudiusBackend from 'services/AudiusBackend' import apiClient from 'services/audius-api-client/AudiusAPIClient' import { useRecord, make } from 'store/analytics/actions' @@ -135,6 +137,9 @@ const ShareBanner = ({ isHidden, type, upload, user }: ShareBannerProps) => { const dispatch = useDispatch() const record = useRecord() const [, setIsTikTokModalOpen] = useModalState('ShareSoundToTikTok') + const { isEnabled: isShareSoundToTikTokEnabled } = useFlag( + FeatureFlags.SHARE_SOUND_TO_TIKTOK + ) const onClickTwitter = useCallback(async () => { const { url, text } = await getShareTextUrl(type, user, upload) @@ -177,7 +182,11 @@ const ShareBanner = ({ isHidden, type, upload, user }: ShareBannerProps) => { }, [type, user, upload, record]) const shouldShowShareToTikTok = () => { - return type === 'Track' && !upload.tracks[0]?.metadata.is_unlisted + return ( + type === 'Track' && + isShareSoundToTikTokEnabled && + !upload.tracks[0]?.metadata.is_unlisted + ) } const continuePage = getContinuePage(type)