decord/beta/source/modules/premium/PremiumSubscriptionOfferUtil.tsx
github-actions 9b6fea255e chore: update source for beta 346.12
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4821.js (118.4 MB)
2026-09-18 19:45:33 +00:00

230 lines
9.4 KiB
TypeScript

// Module ID: 8163
// Function ID: 8164
// Name: PremiumSubscriptionOfferUtil
// Dependencies: [32, 19, 4300, 1373, 7550, 8164, 8165, 504, 4228, 8166, 8167, 1894, 8170, 2]
// Exports: renewalInvoiceChurnDiscountInfo, useActiveDiscountInfo, useFetchChurnUserDiscountOffer, useIsInPremiumOfferExperience, useIsNUXEligible, useShouldFetchChurnOffer
// Module 8163 (PremiumSubscriptionOfferUtil)
import initialize from "initialize" /* 504 */;
import Server from "Server" /* 1894 */;
import _modDef4228 from "module_4228" /* 4228 */;
import usePremiumTrialOffer from "usePremiumTrialOffer" /* 7550 */;
import PremiumSubscriptionTrialUtil from "PremiumSubscriptionTrialUtil" /* 8164 */;
import usePremiumDiscountOffer from "usePremiumDiscountOffer" /* 8165 */;
import useDiscountOfferDefault from "useDiscountOffer" /* 8166 */;
import UserOfferActionCreators from "UserOfferActionCreators" /* 8167 */;
import ReverseTrialUtils from "ReverseTrialUtils" /* 8170 */;
import _slicedToArray from "module_32" /* 32 */;
import noop from "module_19" /* 19 */;
import SubscriptionStore from "SubscriptionStore" /* 4300 */;
const require = globalThis.__r;
require = fn;
const PremiumConstants = fn(1373);
({ PREMIUM_TIER_2_ANNUAL_20_PERCENT_DISCOUNT_ID: metroRequire, PREMIUM_TIER_2_ANNUAL_25_PERCENT_DISCOUNT_ID: closure_7, PREMIUM_TIER_2_ANNUAL_V2_20_PERCENT_DISCOUNT_ID: closure_8, PREMIUM_TIER_2_ANNUAL_V2_30_PERCENT_DISCOUNT_ID: closure_9, PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID: c10, PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID: closure_11, PREMIUM_TIER_2_LIKELIHOOD_1_MONTH_30_PERCENT_DISCOUNT_ID: closure_12, PREMIUM_TIER_2_LIKELIHOOD_1_MONTH_40_PERCENT_DISCOUNT_ID: map1, PREMIUM_TIER_2_LIKELIHOOD_DISCOUNT_ID: closure_14, PREMIUM_TIER_2_REACTIVATION_DISCOUNT_ID: closure_15, PREMIUM_TIER_2_REENGAGEMENT_1_MONTH_40_PERCENT_DISCOUNT_ID: closure_16, PREMIUM_TIER_2_REFERRAL_INCENTIVE_DISCOUNT_ID: closure_17, PREMIUM_GROUP_30_PERCENT_3_MONTH_DISCOUNT_ID: closure_18 } = PremiumConstants);
function useHasDiscountApplied() {
const items = [SubscriptionStore];
const stateFromStores = initialize.useStateFromStores(items, () => SubscriptionStore.getPremiumTypeSubscription());
let prop;
if (stateFromStores != null) {
const metadata = stateFromStores.metadata;
if (metadata != null) {
prop = metadata.active_discount_expires_at;
}
}
let tmp4 = null != prop;
if (tmp4) {
const _Date = Date;
tmp4 = _modDef4228(Date.now()) <= _modDef4228(prop);
const tmp6Result = _modDef4228(Date.now());
}
return tmp4;
}
const size = fn(2);
const result = size.fileFinishedImporting("modules/premium/PremiumSubscriptionOfferUtil.tsx");
export const useIsInPremiumOfferExperience = function useIsInPremiumOfferExperience() {
const premiumTrialOffer = usePremiumTrialOffer.usePremiumTrialOffer();
const hasActiveTrial = PremiumSubscriptionTrialUtil.useHasActiveTrial();
const premiumDiscountOffer = usePremiumDiscountOffer.usePremiumDiscountOffer();
usePremiumDiscountOffer;
if (typeof useHasDiscountApplied === "function") {
const items = [SubscriptionStore];
const stateFromStores = initialize.useStateFromStores(items, () => SubscriptionStore.getPremiumTypeSubscription());
let prop;
if (stateFromStores != null) {
const metadata = stateFromStores.metadata;
if (metadata != null) {
prop = metadata.active_discount_expires_at;
}
}
let tmp12 = null != prop;
if (tmp12) {
const _Date = Date;
tmp12 = _modDef4228(Date.now()) <= _modDef4228(prop);
const tmp14Result = _modDef4228(Date.now());
}
return null != premiumTrialOffer || hasActiveTrial || null != premiumDiscountOffer || null != tmp7 || tmp12;
} else {
throw new TypeError("Trying to call a non-function");
}
};
export { useHasDiscountApplied };
export const useActiveDiscountInfo = function useActiveDiscountInfo() {
const items = [SubscriptionStore];
const stateFromStores = initialize.useStateFromStores(items, () => premiumTypeSubscription.getPremiumTypeSubscription());
let discountId;
if (stateFromStores != null) {
const metadata = stateFromStores.metadata;
if (metadata != null) {
discountId = metadata.active_discount_id;
}
}
if (closure_1_10 !== discountId) {
if (closure_1_12 !== discountId) {
if (closure_1_11 !== discountId) {
if (closure_1_14 !== discountId) {
if (__initData !== discountId) {
if (map1 === discountId) {
const obj2 = { duration: 1, percentage: 40, discountId };
return obj2;
} else if (timestampProducer === discountId) {
const obj3 = { duration: 1, percentage: 20, discountId };
return obj3;
} else if (React5 === discountId) {
const obj4 = { duration: 1, percentage: 25, discountId };
return obj4;
} else if (React6 === discountId) {
const obj5 = { duration: 12, percentage: 20, discountId };
return obj5;
} else if (React7 === discountId) {
const obj6 = { duration: 12, percentage: 30, discountId };
return obj6;
} else if (value2 === discountId) {
const obj7 = { duration: 1, percentage: 40, discountId };
return obj7;
} else if (collapsedCategories === discountId) {
const obj8 = { duration: 3, percentage: 30, discountId };
return obj8;
} else if (closure_1_17 === discountId) {
const obj9 = { duration: 1, percentage: 30, discountId };
return obj9;
}
}
}
}
const obj10 = { duration: 3, percentage: 30, discountId };
return obj10;
}
}
return { duration: 1, percentage: 30, discountId };
};
export const useFetchChurnUserDiscountOffer = function useFetchChurnUserDiscountOffer(arg0) {
let tmp2 = useDiscountOfferDefault(closure_1_10);
const tmp3 = useDiscountOfferDefault(closure_1_11);
[tmp5, require] = noop.useState(false);
const tmp4 = _slicedToArray(noop.useState(false), 2);
[tmp7, tmp8] = noop.useState(false);
importDefault = tmp8;
const tmp6 = _slicedToArray(noop.useState(false), 2);
[tmp10, dependencyMap] = noop.useState(null);
if (tmp2 == null) {
tmp2 = tmp3;
}
if (tmp2 == null) {
tmp2 = null;
}
if (null != tmp2) {
const obj2 = { churnUserDiscountOffer: tmp2, isFetchingChurnDiscountOffer: false };
return obj2;
} else if (arg0) {
const obj3 = { churnUserDiscountOffer: tmp10, isFetchingChurnDiscountOffer: tmp7 };
return obj3;
} else {
let tmp11 = tmp7;
if (!tmp7) {
tmp11 = tmp5;
}
if (!tmp11) {
tmp8(true);
const churnDiscountOffer = UserOfferActionCreators.fetchChurnDiscountOffer();
churnDiscountOffer.then((result) => {
dependencyMap(result);
require(true);
tmp8(false);
}).catch(() => {
require(true);
tmp8(false);
});
const nextPromise = churnDiscountOffer.then((result) => {
dependencyMap(result);
require(true);
tmp8(false);
});
}
const obj4 = { churnUserDiscountOffer: tmp10, isFetchingChurnDiscountOffer: tmp7 };
return obj4;
}
const tmp9 = _slicedToArray(noop.useState(null), 2);
};
export const useShouldFetchChurnOffer = function useShouldFetchChurnOffer() {
const items = [SubscriptionStore];
const stateFromStores = initialize.useStateFromStores(items, () => SubscriptionStore.getPremiumTypeSubscription());
if (typeof useHasDiscountApplied === "function") {
const items1 = [tmp3];
const stateFromStores1 = initialize.useStateFromStores(items1, () => SubscriptionStore.getPremiumTypeSubscription());
let prop;
if (stateFromStores1 != null) {
const metadata = stateFromStores1.metadata;
if (metadata != null) {
prop = metadata.active_discount_expires_at;
}
}
let tmp8 = null != prop;
if (tmp8) {
const _Date = Date;
tmp8 = _modDef4228(Date.now()) <= _modDef4228(prop);
const tmp10Result = _modDef4228(Date.now());
}
let tmp13 = null !== stateFromStores && stateFromStores.hasPremiumNitroMonthly && !tmp8;
if (tmp13) {
let hasActiveTrial;
if (stateFromStores != null) {
hasActiveTrial = stateFromStores.hasActiveTrial;
}
tmp13 = !hasActiveTrial;
}
return tmp13;
} else {
throw new TypeError("Trying to call a non-function");
}
tmp3 = SubscriptionStore;
};
export const renewalInvoiceChurnDiscountInfo = function renewalInvoiceChurnDiscountInfo(arg0) {
const iter = arg0.invoiceItems[Symbol.iterator]();
while (iter !== undefined) {
let discounts = iter.next().discounts;
let found = discounts.find((type) => type.type === Server.InvoiceDiscountTypes.SUBSCRIPTION_PLAN);
let tmp2 = found;
if (null != found) {
let discount_id = tmp2.discount_id;
if (closure_1_10 === discount_id) {
let obj3 = { duration: 1, percentage: null, discountId: null };
({ percentage_amount: obj2.percentage, discount_id: obj2.discountId } = found);
iter.return();
return obj3;
} else if (closure_1_11 === discount_id) {
let obj = { duration: 3, percentage: null, discountId: null };
({ percentage_amount: obj.percentage, discount_id: obj.discountId } = tmp2);
iter.return();
return obj;
}
}
continue;
}
return null;
};
export const useIsNUXEligible = function useIsNUXEligible() {
return ReverseTrialUtils.useIsInReverseTrial();
};