From 46f01f6717f247dd94cb40b7d901ed3e6d243289 Mon Sep 17 00:00:00 2001 From: Saliou Diallo Date: Thu, 1 Aug 2024 13:23:17 -0400 Subject: [PATCH 1/2] Fix show premium downloads message --- .../stream-availability/SpecialAccessFields.tsx | 11 ++++++++--- .../collectible-gated/CollectibleGatedFields.tsx | 7 ++++++- .../usdc-purchase-gated/UsdcPurchaseFields.tsx | 12 +++++++----- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/packages/web/src/components/edit/fields/stream-availability/SpecialAccessFields.tsx b/packages/web/src/components/edit/fields/stream-availability/SpecialAccessFields.tsx index 71e49a8a72e..4373ad90663 100644 --- a/packages/web/src/components/edit/fields/stream-availability/SpecialAccessFields.tsx +++ b/packages/web/src/components/edit/fields/stream-availability/SpecialAccessFields.tsx @@ -13,6 +13,8 @@ import Tooltip from 'components/tooltip/Tooltip' import { AccessAndSaleFormValues, DOWNLOAD_CONDITIONS, + GateKeeper, + LAST_GATE_KEEPER, STREAM_CONDITIONS, SpecialAccessType } from '../types' @@ -41,13 +43,16 @@ export const SpecialAccessFields = (props: TrackAvailabilityFieldsProps) => { const [specialAccessTypeField] = useField({ name: SPECIAL_ACCESS_TYPE }) + const [{ value: downloadConditions }] = + useField>(DOWNLOAD_CONDITIONS) + const [{ value: lastGateKeeper }] = useField(LAST_GATE_KEEPER) + const showPremiumDownloadsMessage = + downloadConditions && lastGateKeeper.access === 'stemsAndDownloads' const [, , { setValue: setStreamConditionsValue }] = useField( STREAM_CONDITIONS ) - const [{ value: downloadConditions }] = - useField>(DOWNLOAD_CONDITIONS) const handleChange = useCallback( (e: ChangeEvent) => { @@ -102,7 +107,7 @@ export const SpecialAccessFields = (props: TrackAvailabilityFieldsProps) => { - {downloadConditions ? ( + {showPremiumDownloadsMessage ? ( {messages.premiumDownloads} ) : null} diff --git a/packages/web/src/components/edit/fields/stream-availability/collectible-gated/CollectibleGatedFields.tsx b/packages/web/src/components/edit/fields/stream-availability/collectible-gated/CollectibleGatedFields.tsx index 872e486445f..7e775ea6d7d 100644 --- a/packages/web/src/components/edit/fields/stream-availability/collectible-gated/CollectibleGatedFields.tsx +++ b/packages/web/src/components/edit/fields/stream-availability/collectible-gated/CollectibleGatedFields.tsx @@ -19,6 +19,8 @@ import LoadingSpinner from 'components/loading-spinner/LoadingSpinner' import { AccessAndSaleFormValues, DOWNLOAD_CONDITIONS, + GateKeeper, + LAST_GATE_KEEPER, STREAM_AVAILABILITY_TYPE, STREAM_CONDITIONS } from '../../types' @@ -53,6 +55,9 @@ export const CollectibleGatedFields = (props: CollectibleGatedFieldsProps) => { ) const [{ value: downloadConditions }] = useField>(DOWNLOAD_CONDITIONS) + const [{ value: lastGateKeeper }] = useField(LAST_GATE_KEEPER) + const showPremiumDownloadsMessage = + downloadConditions && lastGateKeeper.access === 'stemsAndDownloads' const { ethCollectionMap, solCollectionMap, isLoading } = useSelector( getSupportedUserCollections @@ -172,7 +177,7 @@ export const CollectibleGatedFields = (props: CollectibleGatedFieldsProps) => { dropdownInputStyle={styles.dropdownInput} disabled={disabled} /> - {downloadConditions ? ( + {showPremiumDownloadsMessage ? ( {messages.premiumDownloads} diff --git a/packages/web/src/components/edit/fields/stream-availability/usdc-purchase-gated/UsdcPurchaseFields.tsx b/packages/web/src/components/edit/fields/stream-availability/usdc-purchase-gated/UsdcPurchaseFields.tsx index 3d7229c12a4..9716a9e2949 100644 --- a/packages/web/src/components/edit/fields/stream-availability/usdc-purchase-gated/UsdcPurchaseFields.tsx +++ b/packages/web/src/components/edit/fields/stream-availability/usdc-purchase-gated/UsdcPurchaseFields.tsx @@ -26,7 +26,9 @@ import { DOWNLOAD_CONDITIONS, PREVIEW, PRICE, - ALBUM_TRACK_PRICE + ALBUM_TRACK_PRICE, + GateKeeper, + LAST_GATE_KEEPER } from '../../types' const messagesV1 = { @@ -114,6 +116,9 @@ export const UsdcPurchaseFields = (props: TrackAvailabilityFieldsProps) => { const { disabled, isAlbum, isUpload } = props const [{ value: downloadConditions }] = useField>(DOWNLOAD_CONDITIONS) + const [{ value: lastGateKeeper }] = useField(LAST_GATE_KEEPER) + const showPremiumDownloadsMessage = + downloadConditions && lastGateKeeper.access === 'stemsAndDownloads' const messages = useMessages( messagesV1, @@ -140,9 +145,6 @@ export const UsdcPurchaseFields = (props: TrackAvailabilityFieldsProps) => { /> )} - {downloadConditions && !isAlbum ? ( - {messages.premiumDownloads} - ) : null} ) : ( <> @@ -153,7 +155,7 @@ export const UsdcPurchaseFields = (props: TrackAvailabilityFieldsProps) => { prefillValue={100} /> - {downloadConditions ? ( + {showPremiumDownloadsMessage ? ( {messages.premiumDownloads} ) : null} From e7d990235639de2907a7a5618c476f323fb3101c Mon Sep 17 00:00:00 2001 From: Raymond Jacobson Date: Thu, 1 Aug 2024 10:39:57 -0700 Subject: [PATCH 2/2] Update preview logic --- .../edit/fields/price-and-audience/PriceAndAudienceField.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web/src/components/edit/fields/price-and-audience/PriceAndAudienceField.tsx b/packages/web/src/components/edit/fields/price-and-audience/PriceAndAudienceField.tsx index c31044559d0..06fd2221813 100644 --- a/packages/web/src/components/edit/fields/price-and-audience/PriceAndAudienceField.tsx +++ b/packages/web/src/components/edit/fields/price-and-audience/PriceAndAudienceField.tsx @@ -273,7 +273,7 @@ export const PriceAndAudienceField = (props: PriceAndAudienceFieldProps) => { } set(initialValues, STREAM_AVAILABILITY_TYPE, availabilityType) set(initialValues, FIELD_VISIBILITY, fieldVisibility) - set(initialValues, PREVIEW, preview) + set(initialValues, PREVIEW, preview ?? 0) set( initialValues, SPECIAL_ACCESS_TYPE,