diff --git a/apps/admin-x-settings/src/components/settings/growth/offers/OffersIndex.tsx b/apps/admin-x-settings/src/components/settings/growth/offers/OffersIndex.tsx
index 1b2b7e4e9a..75a331cdab 100644
--- a/apps/admin-x-settings/src/components/settings/growth/offers/OffersIndex.tsx
+++ b/apps/admin-x-settings/src/components/settings/growth/offers/OffersIndex.tsx
@@ -3,7 +3,7 @@ import {Button, Tab, TabView} from '@tryghost/admin-x-design-system';
import {Icon} from '@tryghost/admin-x-design-system';
import {Modal} from '@tryghost/admin-x-design-system';
import {SortMenu} from '@tryghost/admin-x-design-system';
-import {Tier, getPaidActiveTiers, useBrowseTiers} from '@tryghost/admin-x-framework/api/tiers';
+import {Tier, useBrowseTiers} from '@tryghost/admin-x-framework/api/tiers';
import {Tooltip} from '@tryghost/admin-x-design-system';
import {currencyToDecimal, getSymbol} from '../../../../utils/currency';
import {getHomepageUrl} from '@tryghost/admin-x-framework/api/site';
@@ -85,8 +85,10 @@ const OfferCard: React.FC<{amount: number, cadence: string, currency: string, du
let tierName = offerTier?.name + ' ' + getOfferCadence(cadence) + ' — ' + getOfferDuration(duration);
const {discountColor, discountOffer, originalPriceWithCurrency, updatedPriceWithCurrency} = getOfferDiscount(type, amount, cadence, currency || 'USD', offerTier);
+ const isTierArchived = offerTier?.active === false;
+
return (
-
+
{name}
{discountOffer}
@@ -131,7 +133,6 @@ export const OffersIndexModal = () => {
}
});
const {data: {tiers: allTiers} = {}} = useBrowseTiers();
- const paidActiveTiers = getPaidActiveTiers(allTiers || []);
const activeOffers = allOffers.filter(offer => offer.status === 'active');
useEffect(() => {
@@ -170,8 +171,13 @@ export const OffersIndexModal = () => {
});
const cardLayoutOutput =
- {sortedOffers.filter(offer => offer.status === selectedTab).map((offer) => {
- const offerTier = paidActiveTiers.find(tier => tier.id === offer?.tier.id);
+ {sortedOffers.filter((offer) => {
+ const offerTier = allTiers?.find(tier => tier.id === offer?.tier.id);
+ //Check to filter out offers with archived offerTier
+ return (selectedTab === 'active' && (offer.status === 'active' && offerTier && offerTier.active === true)) ||
+ (selectedTab === 'archived' && (offer.status === 'archived' || (offerTier && offerTier.active === false)));
+ }).map((offer) => {
+ const offerTier = allTiers?.find(tier => tier.id === offer?.tier.id);
if (!offerTier) {
return null;
@@ -205,17 +211,24 @@ export const OffersIndexModal = () => {
Redemptions |
|
- {sortedOffers.filter(offer => offer.status === selectedTab).map((offer) => {
- const offerTier = paidActiveTiers.find(tier => tier.id === offer?.tier.id);
+ {sortedOffers.filter((offer) => {
+ const offerTier = allTiers?.find(tier => tier.id === offer?.tier.id);
+ //Check to filter out offers with archived offerTier
+ return (selectedTab === 'active' && (offer.status === 'active' && offerTier && offerTier.active === true)) ||
+ (selectedTab === 'archived' && (offer.status === 'archived' || (offerTier && offerTier.active === false)));
+ }).map((offer) => {
+ const offerTier = allTiers?.find(tier => tier.id === offer?.tier.id);
if (!offerTier) {
return null;
}
+ const isTierArchived = offerTier?.active === false;
+
const {discountColor, discountOffer, originalPriceWithCurrency, updatedPriceWithCurrency} = getOfferDiscount(offer.type, offer.amount, offer.cadence, offer.currency || 'USD', offerTier);
return (
-
+
handleOfferEdit(offer?.id ? offer.id : '')}>{offer?.name} |
handleOfferEdit(offer?.id ? offer.id : '')}>{offerTier.name} {getOfferCadence(offer.cadence)} |
handleOfferEdit(offer?.id ? offer.id : '')}>{discountOffer} — {getOfferDuration(offer.duration)} |