This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

+177
View File
@@ -0,0 +1,177 @@
// Metro module 3837 (f3838).
import { FallbackCurrencyCountry } from "../../Constants";
import Module589 from "../../_bundle/Module589";
import Dispatcher from "../../Dispatcher";
let request, countryCode, request2, location2, request3, c2171_6, c2171_7, c2171_8, c2171_9, c2171_10, error, error2, c2171_13, c2171_14;
const handlePaymentSourceCreateEnd = function handlePaymentSourceCreateEnd() {
c2171_6 = false;
};
const handlePaymentSourcesFetchEnd = function handlePaymentSourcesFetchEnd() {
request = void 0;
};
const handleSubscriptionFetchEnd = function handleSubscriptionFetchEnd() {
c2171_9 = false;
};
const handleSubscriptionUpdateStart = function handleSubscriptionUpdateStart() {
c2171_10 = true;
};
const handleSubscriptionUpdateEnd = function handleSubscriptionUpdateEnd() {
c2171_10 = false;
};
c2171_6 = false;
c2171_7 = false;
c2171_8 = false;
c2171_9 = false;
c2171_10 = false;
error = null;
error2 = null;
c2171_13 = false;
c2171_14 = false;
class BillingInfoStore extends Module589.Store {
static displayName = "BillingInfoStore";
get isBusy() {
return c2171_6 || c2171_7 || c2171_10 || c2171_8;
}
get isUpdatingPaymentSource() {
return c2171_7;
}
get isRemovingPaymentSource() {
return c2171_8;
}
get isSyncing() {
return this.isPaymentSourceFetching || this.isSubscriptionFetching;
}
get isSubscriptionFetching() {
return c2171_9;
}
get isPaymentSourceFetching() {
return request != null;
}
get editSourceError() {
return error;
}
get removeSourceError() {
return error2;
}
get ipCountryCodeLoaded() {
return countryCode !== void 0;
}
get ipCountryCode() {
return countryCode;
}
get ipCountryCodeRequest() {
return request2;
}
get ipLocationLoaded() {
return location2 !== void 0;
}
get ipLocation() {
return location2;
}
get ipLocationRequest() {
return request3;
}
get ipLocationHasError() {
return c2171_14;
}
get ipCountryCodeWithFallback() {
let r1 = countryCode;
if (r1 == null) {
r1 = FallbackCurrencyCountry;
}
return r1;
}
get ipCountryCodeHasError() {
return c2171_13;
}
get paymentSourcesFetchRequest() {
return request;
}
}
const billingInfoStore = new BillingInfoStore(Dispatcher, {
BILLING_PAYMENT_SOURCE_CREATE_START: function handlePaymentSourceCreateStart() {
c2171_6 = true;
},
BILLING_PAYMENT_SOURCE_CREATE_SUCCESS: handlePaymentSourceCreateEnd,
BILLING_PAYMENT_SOURCE_CREATE_FAIL: handlePaymentSourceCreateEnd,
STRIPE_TOKEN_FAILURE: handlePaymentSourceCreateEnd,
BILLING_PAYMENT_SOURCE_REMOVE_START: function handlePaymentSourceRemoveStart() {
c2171_8 = true;
},
BILLING_PAYMENT_SOURCE_REMOVE_SUCCESS: function handlePaymentSourceRemoveSuccess() {
c2171_8 = false;
},
BILLING_PAYMENT_SOURCE_REMOVE_FAIL: function handlePaymentSourceRemoveFail({ error: error3 }) {
c2171_8 = false;
error2 = error3;
},
BILLING_PAYMENT_SOURCE_REMOVE_CLEAR_ERROR: function handleClearRemoveError() {
error2 = null;
},
BILLING_PAYMENT_SOURCE_UPDATE_START: function handlePaymentSourceUpdateStart() {
c2171_7 = true;
},
BILLING_PAYMENT_SOURCE_UPDATE_SUCCESS: function handlePaymentSourceUpdateSuccess() {
c2171_7 = false;
},
BILLING_PAYMENT_SOURCE_UPDATE_FAIL: function handlePaymentSourceUpdateFail({ error: error3 }) {
c2171_7 = false;
error = error3;
},
BILLING_PAYMENT_SOURCE_UPDATE_CLEAR_ERROR: function handleClearUpdateError() {
error = null;
},
BILLING_PAYMENT_SOURCES_FETCH_START: function handlePaymentSourcesFetchStart(a0) {
request = a0.request;
},
BILLING_PAYMENT_SOURCES_FETCH_SUCCESS: handlePaymentSourcesFetchEnd,
BILLING_PAYMENT_SOURCES_FETCH_FAIL: handlePaymentSourcesFetchEnd,
BILLING_SUBSCRIPTION_FETCH_START: function handleSubscriptionFetchStart() {
c2171_9 = true;
},
BILLING_SUBSCRIPTION_FETCH_SUCCESS: handleSubscriptionFetchEnd,
BILLING_SUBSCRIPTION_FETCH_FAIL: handleSubscriptionFetchEnd,
BILLING_SUBSCRIPTION_UPDATE_START: handleSubscriptionUpdateStart,
BILLING_SUBSCRIPTION_CANCEL_START: handleSubscriptionUpdateStart,
BILLING_SUBSCRIPTION_UPDATE_SUCCESS: handleSubscriptionUpdateEnd,
BILLING_SUBSCRIPTION_UPDATE_FAIL: handleSubscriptionUpdateEnd,
BILLING_SUBSCRIPTION_CANCEL_FAIL: handleSubscriptionUpdateEnd,
BILLING_SUBSCRIPTION_CANCEL_SUCCESS: handleSubscriptionUpdateEnd,
BILLING_IP_COUNTRY_CODE_FETCH_START: function handleIpCountryCodeFetchStart(a0) {
request2 = a0.request;
},
BILLING_SET_IP_COUNTRY_CODE: function handleSetIpCountryCode(a0) {
countryCode = a0.countryCode;
},
BILLING_IP_COUNTRY_CODE_FAILURE: function handleIpCountryCodeFailure() {
countryCode = null;
c2171_13 = true;
},
BILLING_IP_LOCATION_FETCH_START: function handleIpLocationFetchStart(a0) {
request3 = a0.request;
},
BILLING_SET_IP_LOCATION: function handleSetIpLocation(a0) {
location2 = a0.location;
},
BILLING_IP_LOCATION_FAILURE: function handleIpLocationFailure() {
location2 = null;
c2171_14 = true;
},
LOGOUT: function handleLogout() {
request = void 0;
request2 = void 0;
countryCode = void 0;
c2171_13 = false;
location2 = void 0;
c2171_14 = false;
request3 = void 0;
error2 = null;
error = null;
},
CONNECTION_OPEN: function handleConnectionOpen({ countryCode: countryCode2 }) {
if (countryCode2 != null) {
countryCode = countryCode2;
}
}
});
export default billingInfoStore;
+74
View File
@@ -0,0 +1,74 @@
// Metro module 3852 (f3853).
import { Endpoints, PaymentGateways, PaymentSourceTypes } from "../../Constants";
import { isDesktop } from "../../utils/PlatformUtils";
import { getAPIBaseURL } from "../../_bundle/sendRequest";
import Module589 from "../../_bundle/Module589";
import Dispatcher from "../../Dispatcher";
let state, c2185_3, c2185_10;
const client = null;
let paypalClient = null;
let venmoClient = null;
if (isDesktop()) {
window.popupBridge = {
getReturnUrlPrefix: () => {
if (state == null) {
throw new Error("popupBridgeState is unset");
}
return getAPIBaseURL() + Endpoints.BILLING_POPUP_BRIDGE_CALLBACK_REDIRECT_PREFIX(PaymentGateways.BRAINTREE, state);
},
open: (a0) => {
c2185_3 = a0;
window.open(a0);
c2185_10.emitChange();
}
};
}
class BraintreeStore extends Module589.Store {
static displayName = "BraintreeStore";
getClient() {
return client;
}
getPayPalClient() {
return paypalClient;
}
getVenmoClient() {
return venmoClient;
}
getLastURL() {
return c2185_3;
}
}
c2185_10 = new BraintreeStore(Dispatcher, {
BRAINTREE_CREATE_CLIENT_SUCCESS: function handleBraintreeCreateClientSuccess(a0) {
client = a0.client;
},
BRAINTREE_CREATE_PAYPAL_CLIENT_SUCCESS: function handleBraintreeCreatePayPalClientSuccess(a0) {
paypalClient = a0.paypalClient;
},
BILLING_POPUP_BRIDGE_CALLBACK: function handleBillingPopupBridgeCallback({ paymentSourceType, state: state2, path, query }) {
if (paymentSourceType === PaymentSourceTypes.PAYPAL && state2 === state) {
const onComplete = window.popupBridge.onComplete;
if (typeof onComplete === "function") {
onComplete(null, {
path,
queryItems: query
});
}
}
},
BILLING_POPUP_BRIDGE_STATE_UPDATE: function handleBillingPopupBridgeStateUpdate({ paymentSourceType, state: state2 }) {
if (paymentSourceType === PaymentSourceTypes.PAYPAL) {
state = state2;
}
},
BRAINTREE_TEARDOWN_PAYPAL_CLIENT: function handleBraintreeTeardownPayPalClient() {
paypalClient = null;
},
BRAINTREE_CREATE_VENMO_CLIENT_SUCCESS: function handleBraintreeCreateVenmoClientSuccess(a0) {
venmoClient = a0.venmoClient;
},
BRAINTREE_TEARDOWN_VENMO_CLIENT: function handleBraintreeTeardownVenmoClient() {
venmoClient = null;
}
});
export default c2185_10;
+63
View File
@@ -0,0 +1,63 @@
// Metro module 4082 (f4083).
import SubscriptionStore from "./SubscriptionStore";
import Module589 from "../../_bundle/Module589";
import Dispatcher from "../../Dispatcher";
let c2347_1, c2347_2, c2347_3, handleSubscriptionStoreUpdate;
const handleGuildBoostsUpdate = function handleGuildBoostsUpdate({ guildBoostSlot }) {
const r7 = {
...c2347_3
};
r7[guildBoostSlot.id] = guildBoostSlot;
c2347_3 = r7;
};
handleSubscriptionStoreUpdate = function handleSubscriptionStoreUpdate() {
const r1 = {};
for (const item of Object.values(c2347_3)) {
r1[item.id] = item;
item.subscription = SubscriptionStore.getSubscriptionById(item.subscriptionId);
}
c2347_3 = r1;
};
c2347_1 = false;
c2347_2 = false;
c2347_3 = {};
class GuildBoostSlotStore extends Module589.Store {
static displayName = "GuildBoostSlotStore";
initialize() {
this.syncWith([SubscriptionStore], handleSubscriptionStoreUpdate);
}
get hasFetched() {
return c2347_1;
}
get isFetching() {
return c2347_2;
}
get boostSlots() {
return c2347_3;
}
getGuildBoostSlot(a0) {
return c2347_3[a0];
}
}
const guildBoostSlotStore = new GuildBoostSlotStore(Dispatcher, {
GUILD_BOOST_SLOTS_FETCH: function handleGuildBoostsFetch() {
c2347_2 = true;
},
GUILD_BOOST_SLOTS_FETCH_SUCCESS: function handleGuildBoostsFetchSuccess({ guildBoostSlots }) {
c2347_3 = {};
guildBoostSlots.forEach((guildBoostSlot) => {
c2347_3[guildBoostSlot.id] = guildBoostSlot;
});
c2347_2 = false;
c2347_1 = true;
},
GUILD_BOOST_SLOT_UPDATE_SUCCESS: handleGuildBoostsUpdate,
GUILD_BOOST_SLOT_CREATE: handleGuildBoostsUpdate,
GUILD_BOOST_SLOT_UPDATE: handleGuildBoostsUpdate,
LOGOUT: function handleLogout() {
c2347_3 = {};
c2347_1 = false;
c2347_2 = false;
}
});
export default guildBoostSlotStore;
+79
View File
@@ -0,0 +1,79 @@
// Metro module 3838 (f3839).
import PaymentSourceRecord from "../../records/PaymentSourceRecord";
import Module589 from "../../_bundle/Module589";
import Dispatcher from "../../Dispatcher";
let c2172_1, id, c2172_3;
const handlePaymentSourceUpdate = function handlePaymentSourceUpdate({ paymentSource }) {
const r4 = {
...c2172_1
};
r4[paymentSource.id] = paymentSource;
c2172_1 = r4;
if (paymentSource.isDefault || Object.keys(c2172_1).length === 1) {
id = paymentSource.id;
}
};
c2172_1 = {};
id = null;
c2172_3 = false;
class PaymentSourceStore extends Module589.Store {
static displayName = "PaymentSourceStore";
get paymentSources() {
return c2172_1;
}
get paymentSourceIds() {
return Object.keys(c2172_1);
}
get defaultPaymentSourceId() {
return id;
}
get defaultPaymentSource() {
return id != null ? c2172_1[id] : null;
}
get hasFetchedPaymentSources() {
return c2172_3;
}
getDefaultBillingCountryCode() {
const defaultPaymentSource2 = this.defaultPaymentSource;
return defaultPaymentSource2 != null ? defaultPaymentSource2.paymentMethodCountry : null;
}
getPaymentSource(a0) {
return c2172_1[a0];
}
}
const paymentSourceStore = new PaymentSourceStore(Dispatcher, {
BILLING_PAYMENT_SOURCE_CREATE_SUCCESS: handlePaymentSourceUpdate,
BILLING_PAYMENT_SOURCE_UPDATE_SUCCESS: handlePaymentSourceUpdate,
BILLING_PAYMENT_SOURCE_FETCH_SUCCESS: handlePaymentSourceUpdate,
BILLING_PAYMENT_SOURCES_FETCH_SUCCESS: function handlePaymentSourceFetch({ paymentSources: paymentSources2 }) {
c2172_1 = {};
id = null;
for (const item of paymentSources2) {
c2172_1[item.id] = PaymentSourceRecord.createFromServer(item);
if (item.default) {
id = item.id;
}
}
if (id == null && paymentSources2.length > 0) {
id = paymentSources2[0].id;
}
c2172_3 = true;
},
BILLING_PAYMENT_SOURCE_REMOVE_SUCCESS: function handlePaymentSourceRemove({ id: id2 }) {
const r8 = {
...c2172_1
};
c2172_1 = r8;
delete r8[id2];
if (id === id2) {
const r14 = Object.keys(c2172_1);
id = r14.length !== 0 ? r14[0] : null;
}
},
LOGOUT: function handleLogout() {
c2172_1 = {};
id = null;
c2172_3 = false;
}
});
export default paymentSourceStore;
+191
View File
@@ -0,0 +1,191 @@
// Metro module 3840 (f3841).
import SubscriptionPlanRecord from "../../records/SubscriptionPlanRecord";
import { CurrencyCodes, PriceSetAssignmentPurchaseTypes } from "../../Constants";
import * as _PremiumConstants from "../../modules/premium/PremiumConstants";
import { ACTIVE_PREMIUM_SKUS, PremiumSubscriptionSKUs } from "../../modules/premium/PremiumConstants";
import { clearObject } from "../../utils/FunctionUtils";
import Module589 from "../../_bundle/Module589";
import SnowflakeUtils from "../../utils/SnowflakeUtils";
import Dispatcher from "../../Dispatcher";
function $mk72848($env) {
return (a0) => {
(0, addSubscriptionPlan)(SubscriptionPlanRecord.createFromServer({
id: a0.id,
name: a0.name,
interval: a0.interval,
interval_count: a0.intervalCount,
tax_inclusive: true,
sku_id: a0.skuId,
currency: CurrencyCodes.USD,
price: 0,
price_tier: 0
}));
};
}
let addSubscriptionPlanFromServer, c2174_10, c2174_11, c2174_12, c2174_13, c2174_14, c2174_15, c2174_18, c2174_19;
let env2174;
const r9 = env2174 = {};
const addSubscriptionPlan = function addSubscriptionPlan(a0) {
const skuId = a0.skuId;
c2174_10[a0.id] = a0;
const r20 = a0.prices[PriceSetAssignmentPurchaseTypes.DEFAULT];
if (r20 != null) {
const set = new Set(Object.keys(r20.paymentSourcePrices));
c2174_14[a0.id] = set;
const r27 = Array;
let r31 = c2174_15[a0.skuId];
if (r31 == null) {
r31 = new Set();
}
c2174_15[a0.skuId] = new Set([...r27.from(r31), ...Array.from(set)]);
}
const r49 = c2174_11[skuId];
if (r49 != null) {
r49.add(a0.id);
} else {
c2174_11[skuId] = new Set([a0.id]);
}
};
addSubscriptionPlanFromServer = function addSubscriptionPlanFromServer(a0) {
addSubscriptionPlan(SubscriptionPlanRecord.createFromServer(a0));
};
const reset = function reset() {
const r1 = env2174;
clearObject(c2174_10);
clearObject(c2174_11);
c2174_12.clear();
c2174_13.clear();
clearObject(c2174_14);
clearObject(c2174_15);
[_PremiumConstants.SubscriptionPlanInfo[_PremiumConstants.SubscriptionPlans.NONE_MONTH], _PremiumConstants.SubscriptionPlanInfo[_PremiumConstants.SubscriptionPlans.NONE_YEAR], _PremiumConstants.SubscriptionPlanInfo[_PremiumConstants.SubscriptionPlans.NONE_3_MONTH], _PremiumConstants.SubscriptionPlanInfo[_PremiumConstants.SubscriptionPlans.NONE_6_MONTH]].forEach($mk72848(r1));
};
const { SubscriptionIntervalTypes, SubscriptionPlanInfo: SubscriptionPlanInfo2, SubscriptionPlans: SubscriptionPlans2 } = _PremiumConstants;
c2174_10 = {};
c2174_11 = {};
const set = new Set();
c2174_12 = set;
c2174_13 = new Set();
c2174_14 = {};
c2174_15 = {};
[SubscriptionPlanInfo2[SubscriptionPlans2.NONE_MONTH], SubscriptionPlanInfo2[SubscriptionPlans2.NONE_YEAR], SubscriptionPlanInfo2[SubscriptionPlans2.NONE_3_MONTH], SubscriptionPlanInfo2[SubscriptionPlans2.NONE_6_MONTH]].forEach($mk72848(r9));
c2174_18 = [SubscriptionIntervalTypes.DAY, SubscriptionIntervalTypes.MONTH, SubscriptionIntervalTypes.YEAR];
class SubscriptionPlanStore extends Module589.Store {
static displayName = "SubscriptionPlanStore";
constructor() {
super(...arguments);
}
getPlanIdsForSkus(a0) {
const r0 = [];
for (const item of a0) {
const r10 = Array;
let r29 = c2174_11[item];
if (r29 == null) {
r29 = new Set();
}
const r32 = r10.from(r29);
r32.sort((a, b) => {
const r2 = c2174_10[a];
const r7 = c2174_10[b];
return c2174_18.indexOf(r2.interval) - c2174_18.indexOf(r7.interval) || r2.intervalCount - r7.intervalCount;
});
r0.push.apply(r0, [...r32]);
}
return r0;
}
getFetchedSKUIDs() {
return SnowflakeUtils.keys(c2174_11);
}
getForSKU(a0) {
const r4 = Array;
let r7 = c2174_11[a0];
if (r7 == null) {
r7 = [];
}
return r4.from(r7).map((item) => c2174_10[item]);
}
getForSkuAndInterval(a0, c13664_0, r6 = 1) {
let c13664_1 = r6;
return this.getForSKU(a0).find((item) => item.id !== _PremiumConstants.SubscriptionPlans.PREMIUM_GROUP_MONTH && item.interval === c13664_0 && item.intervalCount === c13664_1);
}
get(a0) {
return c2174_10[a0];
}
isFetchingForSKU(a0) {
return c2174_12.has(a0);
}
isFetchingForSKUs(a0) {
return a0.some((item) => this.isFetchingForSKU(item));
}
isLoadedForSKU(a0) {
let r8 = !!c2174_13.has(a0);
if (!r8) {
const r11 = c2174_12.has(a0);
r8 = r11 ? !r11 : c2174_11[a0] != null;
}
return r8;
}
isLoadedForSKUs(a0) {
return a0.every((item) => this.isLoadedForSKU(item));
}
isFetchingForPremiumSKUs() {
return ACTIVE_PREMIUM_SKUS.some((item) => this.isFetchingForSKU(item));
}
isLoadedForPremiumSKUs() {
return ACTIVE_PREMIUM_SKUS.every((item) => this.isLoadedForSKU(item));
}
ignoreSKUFetch(a0) {
c2174_13.add(a0);
}
getPaymentSourcesForPlanId(a0) {
return c2174_14.hasOwnProperty(a0) ? c2174_14[a0] : null;
}
getPaymentSourceIds() {
const set = new Set();
let c13669_0 = set;
Object.values(c2174_14).forEach((a0) => a0.forEach((item) => c13669_0.add(item)));
return set;
}
hasPaymentSourceForSKUId(a0, a1) {
let r7 = PremiumSubscriptionSKUs.NONE === a1;
if (!r7) {
r7 = c2174_15[a1] != null && c2174_15[a1].has(a0);
}
return r7;
}
hasPaymentSourceForSKUIds(c13670_0, a1) {
return a1.every((item) => this.hasPaymentSourceForSKUId(c13670_0, item));
}
}
c2174_19 = SubscriptionPlanStore;
const r108 = new SubscriptionPlanStore(Dispatcher, {
SUBSCRIPTION_PLANS_FETCH: function handleSubscriptionPlansFetch(a0) {
c2174_12.add(a0.skuId);
},
SUBSCRIPTION_PLANS_FETCH_SUCCESS: function handleSubscriptionPlansFetchSuccess({ skuId, subscriptionPlans }) {
c2174_11[skuId] = new Set();
c2174_15[skuId] = new Set();
subscriptionPlans.forEach(addSubscriptionPlanFromServer);
c2174_12.delete(skuId);
c2174_13.delete(skuId);
},
SUBSCRIPTION_PLANS_FETCH_FAILURE: function handleSubscriptionPlansFetchFailure({ skuId }) {
c2174_12.delete(skuId);
c2174_13.delete(skuId);
},
SUBSCRIPTION_PLANS_RESET: reset,
GIFT_CODE_RESOLVE_SUCCESS: function handleGiftCodeResolveSuccess({ giftCode }) {
if (giftCode.subscription_plan != null) {
addSubscriptionPlan(SubscriptionPlanRecord.createFromServer(giftCode.subscription_plan));
}
},
ENTITLEMENTS_GIFTABLE_FETCH_SUCCESS: function handleEntitlementGiftsFetchSuccess(a0) {
for (const entitlement of a0.entitlements) {
if (entitlement.subscription_plan != null) {
addSubscriptionPlanFromServer(entitlement.subscription_plan);
}
}
},
LOGOUT: reset
});
export default r108;
export { set as subscriptionPlansFetchingForSKU };
+351
View File
@@ -0,0 +1,351 @@
// Metro module 3841 (f3842).
import { isNoneSubscription } from "../../records/SubscriptionPlanRecord";
import { SubscriptionRecord } from "../../records/SubscriptionRecord";
import AuthenticationStore from "../AuthenticationStore";
import { SubscriptionStatusTypes, SubscriptionTypes } from "../../Constants";
import Module589 from "../../_bundle/Module589";
import Dispatcher from "../../Dispatcher";
import { HermesBuiltin, $forInKeys } from "../../_hermes/prelude";
function $mk72858($env) {
return (a0) => a0.id === $env[0].id;
}
let c2175_5, c2175_6, fromServer, c2175_8, c2175_9, c2175_10, fromServer2, c2175_12, c2175_13, eligible, c2175_15, lastLazyPerkSync;
const reset = function reset() {
c2175_5 = null;
c2175_6 = null;
fromServer = null;
c2175_8 = null;
c2175_9 = null;
c2175_10 = false;
fromServer2 = null;
c2175_12 = false;
c2175_13 = false;
c2175_15 = false;
lastLazyPerkSync = null;
};
c2175_5 = null;
c2175_6 = null;
fromServer = null;
c2175_8 = null;
c2175_9 = null;
c2175_10 = false;
fromServer2 = null;
c2175_12 = false;
c2175_13 = false;
eligible = null;
c2175_15 = false;
lastLazyPerkSync = null;
class SubscriptionStore extends Module589.Store {
static displayName = "SubscriptionStore";
initialize() {
this.waitFor(AuthenticationStore);
}
hasFetchedSubscriptions() {
return c2175_5 != null;
}
hasFetchedMostRecentPremiumTypeSubscription() {
return c2175_10;
}
hasFetchedPreviousPremiumTypeSubscription() {
return c2175_12;
}
getPremiumSubscription(r5 = true) {
const PREMIUM = SubscriptionTypes.PREMIUM;
if (r5 === void 0) {
r5 = true;
}
const r10 = r5 ? c2175_6 : c2175_5;
const r3 = r10 == null;
let r16 = null;
if (!r3) {
r16 = null;
for (const key in r10) {
r16 = null;
const r13 = r10[key];
const userId = r13.userId;
const id2 = AuthenticationStore.getId();
r16 = null;
if (userId !== id2) {
break;
}
if (r13.type === PREMIUM) {
const isNoneSubscription2 = isNoneSubscription(r13.planId);
r16 = r13;
if (!isNoneSubscription2) {
break;
}
}
}
r16 = null;
}
return r16;
}
getPremiumTypeSubscription(r4 = true) {
let type;
const PREMIUM = SubscriptionTypes.PREMIUM;
if (r4 === void 0) {
r4 = true;
}
const r9 = r4 ? c2175_6 : c2175_5;
const r3 = r9 == null;
let r16 = null;
if (!r3) {
r16 = null;
const r8 = $forInKeys(r9);
let r0 = 0;
const length = r8.length;
if (r8 !== void 0) {
do {
r16 = null;
const r6 = r0 < length ? r8[r0++] : void 0;
if (r6 === void 0) {
break;
}
const r12 = r9[r6];
const userId = r12.userId;
const id2 = AuthenticationStore.getId();
r16 = null;
if (userId !== id2) {
break;
}
type = r12.type;
r16 = r12;
} while (type !== PREMIUM);
}
}
return r16;
}
getSubscriptions(r1 = true) {
return r1 ? c2175_6 : c2175_5;
}
getSubscriptionById(a0) {
let r6 = c2175_5 == null ? void 0 : c2175_5[a0];
if (r6 == null) {
r6 = void 0;
}
return r6;
}
getActiveGuildSubscriptions() {
return c2175_8;
}
getActiveApplicationSubscriptions() {
return c2175_9;
}
getSubscriptionForPlanIds(a0, r5 = true) {
let c13671_0 = new Set(a0);
const r13 = r5 ? c2175_6 : c2175_5;
const r1 = r13 == null;
let r15 = null;
if (!r1) {
let r21 = Object.values(r13).find((item) => item.items.some((item) => c13671_0.has(item.planId)));
if (r21 == null) {
r21 = null;
}
r15 = r21;
}
return r15;
}
getMostRecentPremiumTypeSubscription() {
return fromServer;
}
getPreviousPremiumTypeSubscription() {
return fromServer2;
}
getIsSubscriptionEligibleForReward() {
return eligible;
}
getIsFetchingSubscriptionRewardEligibility() {
return c2175_13;
}
getIsFetchingMostRecentSubscription() {
return c2175_15;
}
getLastLazyPerkSync() {
return lastLazyPerkSync;
}
getPremiumGroupSubscription() {
const PREMIUM = SubscriptionTypes.PREMIUM;
const r3 = c2175_6 == null;
let r15 = null;
if (!r3) {
r15 = null;
for (const key in c2175_6) {
r15 = null;
const r12 = c2175_6[key];
const userId = r12.userId;
const id2 = AuthenticationStore.getId();
r15 = null;
if (userId !== id2) {
break;
}
if (r12.type === PREMIUM) {
const r19 = r12.hasAnyPremiumGroup && r12.statusAllowsPerks;
r15 = r12;
if (r19) {
break;
}
}
}
r15 = null;
}
return r15;
}
}
const subscriptionStore = new SubscriptionStore(Dispatcher, {
BILLING_SUBSCRIPTION_FETCH_SUCCESS: function handleSubscriptionsFetch({ subscriptions, lastLazyPerkSync: lastLazyPerkSync2 }) {
const r6 = {};
let c13672_0 = r6;
const r5 = {};
let c13672_1 = r5;
const r4 = [];
let c13672_2 = r4;
const r3 = [];
let c13672_3 = r3;
const id = AuthenticationStore.getId();
subscriptions.forEach((subscription) => {
if (subscription.user_id === id) {
const fromServer3 = SubscriptionRecord.createFromServer(subscription);
c13672_0[fromServer3.id] = fromServer3;
if (fromServer3.status !== SubscriptionStatusTypes.UNPAID) {
c13672_1[fromServer3.id] = fromServer3;
if (fromServer3.type === SubscriptionTypes.GUILD && fromServer3.status !== SubscriptionStatusTypes.ENDED) {
c13672_2.push(fromServer3);
}
if (fromServer3.type === SubscriptionTypes.APPLICATION && fromServer3.status !== SubscriptionStatusTypes.ENDED) {
c13672_3.push(fromServer3);
}
}
}
});
c2175_5 = r6;
c2175_6 = r5;
c2175_8 = r4;
c2175_9 = r3;
lastLazyPerkSync = lastLazyPerkSync2;
},
BILLING_SUBSCRIPTION_UPDATE_SUCCESS: function handleSubscriptionUpdate({ subscription }) {
let r48, r77;
if (subscription.user_id === AuthenticationStore.getId()) {
const fromServer3 = SubscriptionRecord.createFromServer(subscription);
const r20 = {
...c2175_5
};
r20[fromServer3.id] = fromServer3;
c2175_5 = r20;
if (fromServer3.status !== SubscriptionStatusTypes.UNPAID) {
const r26 = {
...c2175_6
};
r26[fromServer3.id] = fromServer3;
c2175_6 = r26;
}
if (c2175_8 != null && fromServer3.type === SubscriptionTypes.GUILD) {
let env13673;
L12: {
const r9 = c2175_8;
const r35 = env13673 = {};
env13673[0] = fromServer3;
const r10 = r9.findIndex($mk72858(r35));
if (r10 === -1) {
r48 = [fromServer3, ...r9];
} else {
const r38 = [...r9];
if (fromServer3.status !== SubscriptionStatusTypes.UNPAID && fromServer3.status !== SubscriptionStatusTypes.ENDED) {
r38[r10] = fromServer3;
r48 = r38;
break L12;
}
r38.splice(r10, 1);
r48 = r38;
}
}
c2175_8 = r48;
}
if (c2175_9 != null && fromServer3.type === SubscriptionTypes.APPLICATION) {
let env13674;
L22: {
const r60 = env13674 = {};
env13674[0] = fromServer3;
const r63 = c2175_9.findIndex($mk72858(r60));
if (r63 === -1) {
r77 = [fromServer3, ...c2175_9];
} else {
const r65 = [...c2175_9];
if (fromServer3.status !== SubscriptionStatusTypes.UNPAID && fromServer3.status !== SubscriptionStatusTypes.ENDED) {
r65[r63] = fromServer3;
r77 = r65;
break L22;
}
r65.splice(r63, 1);
r77 = r65;
}
}
c2175_8 = r77;
}
}
},
BILLING_MOST_RECENT_SUBSCRIPTION_FETCH_START: function handleMostRecentSubscriptionFetchStart() {
c2175_15 = true;
},
BILLING_MOST_RECENT_SUBSCRIPTION_FETCH_SUCCESS: function handleMostRecentSubscriptionFetch({ subscription }) {
c2175_10 = true;
c2175_15 = false;
if (subscription != null) {
if (subscription.user_id !== AuthenticationStore.getId()) {
c2175_10 = false;
return void 0;
}
fromServer = SubscriptionRecord.createFromServer(subscription);
}
},
BILLING_MOST_RECENT_SUBSCRIPTION_FETCH_FAIL: function handleMostRecentSubscriptionFetchFail() {
c2175_15 = false;
},
BILLING_PREVIOUS_PREMIUM_SUBSCRIPTION_FETCH_SUCCESS: function handlePreviousSubscriptionFetch({ subscription }) {
c2175_12 = true;
if (subscription != null) {
if (subscription.user_id !== AuthenticationStore.getId()) {
c2175_12 = false;
return void 0;
}
fromServer2 = SubscriptionRecord.createFromServer(subscription);
}
},
BILLING_SUBSCRIPTION_RESET: reset,
BILLING_SUBSCRIPTION_REWARD_ELIGIBILITY_FETCH_START: function handleSubscriptionRewardEligibilityFetchStart() {
c2175_13 = true;
},
BILLING_SUBSCRIPTION_REWARD_ELIGIBILITY_FETCH_SUCCESS: function handleSubscriptionRewardEligibilityFetch(a0) {
eligible = a0.eligible;
c2175_13 = false;
},
BILLING_SUBSCRIPTION_REWARD_ELIGIBILITY_FETCH_FAILURE: function handleSubscriptionRewardEligibilityFetchFailed(a0) {
if (a0 == null) {
HermesBuiltin.throwTypeError("Cannot destructure 'undefined' or 'null'.");
throw new Error("unreachable");
}
eligible = false;
c2175_13 = false;
},
LOGOUT: reset
});
export default subscriptionStore;
export function getSubscriptionOfType(a0, a1, r4 = true) {
const r9 = r4 ? c2175_6 : c2175_5;
if (r9 == null) {
return null;
}
for (const key in r9) {
const r16 = r9[key];
if (r16.userId !== AuthenticationStore.getId()) {
return null;
}
if (r16.type === a0) {
if (a1 != null && !a1(r16)) {
continue;
}
return r16;
}
}
return null;
}
+313
View File
@@ -0,0 +1,313 @@
// Metro module 6211 (f6212).
import ReferralTrialStore from "../../modules/premium/ReferralTrialStore";
import UserDiscountOfferRecord from "../../modules/user_offers/records/UserDiscountOfferRecord";
import UserStore from "../UserStore";
import EntitlementStore from "../game_store/EntitlementStore";
import SubscriptionStore from "./SubscriptionStore";
import { ANNUAL_DISCOUNT_IDS, DISCOUNT_OFFERS_REQUIRES_REMINDER_ROLLOUT, PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID, PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID, SubscriptionPlanInfo, SubscriptionTrials, TRIAL_OFFERS_REQUIRES_REMINDER_ROLLOUT } from "../../modules/premium/PremiumConstants";
import Module589 from "../../_bundle/Module589";
import { isPremiumOfferReminderExperimentEnabled } from "../../modules/premium/experiments/PremiumOfferReminderExperiment";
import { isPremium, getOfferNoticeThreshold } from "../../utils/PremiumUtils";
import Dispatcher from "../../Dispatcher";
let c3939_14, c3939_15, handleSubscriptionStoreUpdate, handleReferralTrialStoreUpdate;
const emitChanges = function emitChanges() {
return true;
};
handleSubscriptionStoreUpdate = function handleSubscriptionStoreUpdate() {
let r0 = SubscriptionStore.getPremiumTypeSubscription() != null;
if (r0) {
if (c3939_15.userDiscountOffers[PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID] != null) {
const userDiscountOffers2 = {};
userDiscountOffers2[PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID] = c3939_15.userDiscountOffers[PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID];
c3939_15.userDiscountOffers = userDiscountOffers2;
} else if (c3939_15.userDiscountOffers[PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID] != null) {
const userDiscountOffers = {};
userDiscountOffers[PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID] = c3939_15.userDiscountOffers[PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID];
c3939_15.userDiscountOffers = userDiscountOffers;
} else {
c3939_15.userDiscountOffers = {};
}
c3939_15.userTrialOffers = {};
r0 = true;
}
return r0;
};
const handlePaymentSourceChange = function handlePaymentSourceChange() {
UserStore.getCurrentUser();
};
handleReferralTrialStoreUpdate = function handleReferralTrialStoreUpdate() {
return false;
};
c3939_14 = {
userOffersLastFetchedAtDate: void 0,
userTrialOffers: {},
userDiscountOffers: {},
userDiscounts: void 0,
isFetching: false,
lastFetchSuccessful: false
};
c3939_15 = c3939_14;
class UserOfferStore extends Module589.PersistedStore {
static displayName = "UserOfferStore";
static persistKey = "UserOfferStore";
static migrations = [(a0) => {
const userDiscounts = a0?.userDiscounts;
if (userDiscounts != null) {
return {
...a0,
userDiscountOffers: userDiscounts
};
}
}, (a0) => {
if (a0 != null) {
if (Object.hasOwn(a0, "userAnnualOfferLastFetchedAtDate")) {
delete a0["userAnnualOfferLastFetchedAtDate"];
}
return a0;
}
}, (a0) => {
if (a0 != null) {
return a0?.isFetching == null ? {
...a0,
isFetching: false
} : a0;
}
}, (a0) => {
if (a0?.userDiscountOffers != null) {
return {
...a0,
userDiscountOffers: Object.fromEntries(Object.entries(a0.userDiscountOffers).map((item) => {
const [r28, r8] = item;
return [r28, r8 instanceof UserDiscountOfferRecord ? r8 : "discount_id" in r8 ? UserDiscountOfferRecord.createFromServer(r8) : new UserDiscountOfferRecord({
...r8,
appliedAt: r8.appliedAt != null ? new Date(r8.appliedAt) : null,
deletedAt: r8.deletedAt != null ? new Date(r8.deletedAt) : null,
expiresAt: r8.expiresAt != null ? new Date(r8.expiresAt) : null
})];
}))
};
}
}];
initialize(a0) {
let r2;
if (a0 != null) {
const r6 = Object;
const r8 = Object;
let userDiscountOffers = a0.userDiscountOffers;
if (userDiscountOffers == null) {
userDiscountOffers = {};
}
r2 = {
...a0,
userDiscountOffers: r6.fromEntries(r8.entries(userDiscountOffers).map((item) => {
const [r28, r8] = item;
return [r28, r8 instanceof UserDiscountOfferRecord ? r8 : "discount_id" in r8 ? UserDiscountOfferRecord.createFromServer(r8) : new UserDiscountOfferRecord({
...r8,
appliedAt: r8.appliedAt != null ? new Date(r8.appliedAt) : null,
deletedAt: r8.deletedAt != null ? new Date(r8.deletedAt) : null,
expiresAt: r8.expiresAt != null ? new Date(r8.expiresAt) : null
})];
}))
};
} else {
r2 = c3939_14;
}
c3939_15 = r2;
this.waitFor(EntitlementStore, ReferralTrialStore, SubscriptionStore, UserStore);
this.syncWith([UserStore], emitChanges);
this.syncWith([SubscriptionStore], handleSubscriptionStoreUpdate);
this.syncWith([ReferralTrialStore], handleReferralTrialStoreUpdate);
}
getUserTrialOffer(a0) {
if (a0 !== null) {
return c3939_15.userTrialOffers[a0];
}
}
getUserDiscountOffer(a0) {
if (a0 !== null) {
return c3939_15.userDiscountOffers[a0];
}
}
getAnyOfUserTrialOfferId(a0) {
for (const item of a0) {
if (c3939_15.userTrialOffers[item] == null) {
continue;
}
return item;
}
return null;
}
isFetchingOffer() {
let isFetching = c3939_15.isFetching;
if (isFetching == null) {
isFetching = false;
}
return isFetching;
}
hasFetchedOffer() {
return c3939_15.userOffersLastFetchedAtDate != null;
}
shouldFetchReferralOffer(a0) {
const userOffersLastFetchedAtDate = c3939_15.userOffersLastFetchedAtDate;
let isFetching = c3939_15.isFetching;
if (isFetching == null) {
isFetching = false;
}
if (userOffersLastFetchedAtDate == null) {
return !isFetching;
}
let r2 = Date.now() - 600000 > userOffersLastFetchedAtDate;
let r1 = !isFetching;
if (!isFetching) {
if (!r2) {
r2 = (a0 == null ? 0 : a0) > userOffersLastFetchedAtDate;
}
r1 = r2;
}
return r1;
}
shouldShowTrialOfferReminder(a0) {
const r6 = TRIAL_OFFERS_REQUIRES_REMINDER_ROLLOUT.includes(a0.trial_id);
return r6 ? isPremiumOfferReminderExperimentEnabled({
location: "user_offer_store"
}) : !r6;
}
getAlmostExpiringTrialOffersForReminder(c15579_1) {
let c15579_0 = Object.values(SubscriptionTrials).map((item) => item.id);
return isPremium(UserStore.getCurrentUser()) && !this.canFractionalPremiumUserUseOffer() ? [] : Object.values(c3939_15.userTrialOffers).filter((item) => c15579_0.includes(item.trial_id) && item.expires_at != null && item.subscription_trial != null && c15579_1.includes(item.subscription_trial.sku_id) && Date.parse(item.expires_at) < Date.now() + getOfferNoticeThreshold(item) && this.shouldShowTrialOfferReminder(item));
}
shouldShowDiscountOfferReminder(a0) {
const r6 = DISCOUNT_OFFERS_REQUIRES_REMINDER_ROLLOUT.includes(a0.discountId);
return r6 ? isPremiumOfferReminderExperimentEnabled({
location: "user_offer_store"
}) : !r6;
}
getAlmostExpiringDiscountOffersForReminder(c15580_0) {
return isPremium(UserStore.getCurrentUser()) && !this.canFractionalPremiumUserUseOffer() ? [] : Object.values(c3939_15.userDiscountOffers).filter((item) => item.expiresAt != null && item.discount != null && item.discount.planIds.some((planId) => c15580_0.includes(SubscriptionPlanInfo[planId].skuId)) && item.expiresAt.getTime() < Date.now() + getOfferNoticeThreshold(item) && this.shouldShowDiscountOfferReminder(item));
}
getAcknowledgedOffers(c15581_0) {
return isPremium(UserStore.getCurrentUser()) && !this.canFractionalPremiumUserUseOffer() ? [] : Object.values(c3939_15.userTrialOffers).filter((item) => c15581_0.includes(item.trial_id) && item.expires_at != null);
}
getUnacknowledgedDiscountOffers() {
let r15;
if (isPremium(UserStore.getCurrentUser()) && !this.canFractionalPremiumUserUseOffer()) {
r15 = [];
} else {
const r5 = Object;
let userDiscountOffers = c3939_15.userDiscountOffers;
if (userDiscountOffers == null) {
userDiscountOffers = {};
}
r15 = r5.values(userDiscountOffers).filter((item) => {
const hasAcknowledged = item.hasAcknowledged();
return hasAcknowledged ? !hasAcknowledged : !ANNUAL_DISCOUNT_IDS.includes(item.discountId);
});
}
return r15;
}
getUnacknowledgedOffers(c15582_0) {
return isPremium(UserStore.getCurrentUser()) && !this.canFractionalPremiumUserUseOffer() ? [] : Object.values(c3939_15.userTrialOffers).filter((item) => c15582_0.includes(item.trial_id) && item.expires_at == null);
}
hasAnyUnexpiredOffer() {
return Object.values(c3939_15.userTrialOffers).some((item) => item.expires_at == null || Date.parse(item.expires_at) > Date.now());
}
hasAnyUnexpiredDiscountOffer() {
return Object.values(c3939_15.userDiscountOffers).some((item) => !item.hasExpired());
}
canFractionalPremiumUserUseOffer() {
return EntitlementStore.isFractionalPremiumActive({
excludeReverseTrial: true
}) && SubscriptionStore.getPremiumTypeSubscription() == null;
}
getReferrer(a0) {
return a0 == null ? null : c3939_15.userTrialOffers[a0]?.referrer;
}
getState() {
return c3939_15;
}
forceReset() {
c3939_15.userTrialOffers = {};
c3939_15.userDiscountOffers = {};
c3939_15.userOffersLastFetchedAtDate = void 0;
c3939_15.isFetching = false;
}
lastFetchSuccessful() {
return c3939_15.lastFetchSuccessful;
}
}
const userOfferStore = new UserOfferStore(Dispatcher, {
BILLING_USER_OFFER_FETCH_START: function handleUserOfferFetchStart() {
c3939_15.isFetching = true;
},
BILLING_USER_TRIAL_OFFER_ACKNOWLEDGED_SUCCESS: function handleUserTrialOfferAcknowledgedSuccess({ userTrialOffer }) {
if (userTrialOffer != null) {
c3939_15.userTrialOffers[userTrialOffer.trial_id] = userTrialOffer;
} else {
c3939_15.userTrialOffers = {};
}
c3939_15.userOffersLastFetchedAtDate = Date.now();
},
BILLING_USER_OFFER_FETCH_SUCCESS: function handleUserOfferFetchSuccess({ userTrialOffer, userDiscountOffer }) {
if (userTrialOffer == null && userDiscountOffer == null) {
c3939_15.userTrialOffers = {};
c3939_15.userDiscountOffers = {};
c3939_15.userOffersLastFetchedAtDate = void 0;
c3939_15.isFetching = false;
}
if (userTrialOffer != null) {
c3939_15.userTrialOffers[userTrialOffer.trial_id] = userTrialOffer;
c3939_15.userDiscountOffers = {};
} else if (userDiscountOffer != null) {
c3939_15.userDiscountOffers[userDiscountOffer.discountId] = userDiscountOffer;
c3939_15.userTrialOffers = {};
}
c3939_15.userOffersLastFetchedAtDate = Date.now();
c3939_15.isFetching = false;
c3939_15.lastFetchSuccessful = true;
},
BILLING_USER_OFFER_ACKNOWLEDGED_SUCCESS: function handleUserOfferAcknowledgedSuccess({ userTrialOffer, userDiscount, userDiscountOffer }) {
if (userTrialOffer != null) {
c3939_15.userTrialOffers[userTrialOffer.trial_id] = userTrialOffer;
} else {
c3939_15.userTrialOffers = {};
}
if (userDiscount != null) {
c3939_15.userDiscountOffers[userDiscount.discountId] = userDiscount;
} else if (userDiscountOffer != null) {
c3939_15.userDiscountOffers[userDiscountOffer.discountId] = userDiscountOffer;
} else {
c3939_15.userDiscountOffers = {};
}
c3939_15.userOffersLastFetchedAtDate = Date.now();
},
BILLING_USER_OFFER_FETCH_FAIL: function handleUserOfferFetchFail() {
c3939_15.userTrialOffers = {};
c3939_15.userDiscountOffers = {};
c3939_15.userOffersLastFetchedAtDate = void 0;
c3939_15.isFetching = false;
c3939_15.userOffersLastFetchedAtDate = Date.now();
c3939_15.isFetching = false;
c3939_15.lastFetchSuccessful = false;
},
BILLING_USER_OFFER_REDEEMED: function handleUserOfferRedeemed({ offerId }) {
const r14 = Object.keys(c3939_15.userDiscountOffers).find((item) => c3939_15.userDiscountOffers[item].id === offerId);
if (r14 != null) {
delete c3939_15.userDiscountOffers[r14];
}
const r24 = Object.keys(c3939_15.userTrialOffers).find((item) => c3939_15.userTrialOffers[item].id === offerId);
if (r24 != null) {
delete c3939_15.userTrialOffers[r24];
}
return true;
},
BILLING_PAYMENT_SOURCE_CREATE_SUCCESS: handlePaymentSourceChange,
BILLING_PAYMENT_SOURCE_UPDATE_SUCCESS: handlePaymentSourceChange,
BILLING_PAYMENT_SOURCE_REMOVE_SUCCESS: handlePaymentSourceChange,
LOGOUT: function handleReset() {
c3939_15.userTrialOffers = {};
c3939_15.userDiscountOffers = {};
c3939_15.userOffersLastFetchedAtDate = void 0;
c3939_15.isFetching = false;
}
});
export default userOfferStore;