/* Metro module 12228; source: modules/premium/native/GuildBoostSlotsInventory.tsx; dependencies: [31, 27, 1310, 1867, 7020, 3808, 661, 33, 4501, 697, 6597, 7054, 4573, 1244, 21, 5278, 6522, 1305, 6819, 12229, 566, 1423, 12230, 12234, 4223, 8251, 22, 2] */
function _fun93627(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93627, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:6, offset: 0x020bcc27, size: 995 bytes, params: 8, frame: 29
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_4 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_5 = value.View;
const env0_6 = value.Image;
const themeStore = importDefault(1310) /* metro dependency 1310: ThemeStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
const guildBoostSlotStore = importDefault(7020) /* metro dependency 7020: GuildBoostSlotStore */;
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
const Fonts = (require(661) /* metro dependency 661: Constants */).Fonts;
value = require(33) /* metro dependency 33 */;
const env0_11 = value.jsx;
const env0_12 = value.jsxs;
const env0_13 = value.Fragment;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object2.inventory = {marginBottom: 32};
object2.header = {'marginHorizontal': 16, 'marginBottom': 16};
const object4 = {};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xs;
object4.marginBottom = 16;
object2.boostedGuild = object4;
const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST;
object2.subscriptionBody = {backgroundColor: BACKGROUND_BASE_LOWEST};
const BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object2.subscriptionImageView = {'backgroundColor': null, 'width': '100%', 'height': 112, 'overflow': 'hidden',
'alignItems': 'center', 'justifyContent': 'center', backgroundColor: BACKGROUND_MOD_NORMAL};
object2.subscriptionImage = {'position': 'absolute', 'width': '100%', 'height': '100%'};
object2.subscriptionImageFallback = {opacity: 0.4};
const BLACK = (importDefault(697) /* metro dependency 697: native */).colors.BLACK;
object2.subscriptionImageOverlay = {'position': 'absolute', 'width': '100%', 'height': '100%',
'backgroundColor': null, 'opacity': 0.4, backgroundColor: BLACK};
object2.guildInfo = {'flexDirection': 'row', 'padding': 16};
object2.guildInfoIcon = {marginRight: 8};
const object5 = {};
const textStyles = importDefault(6597) /* metro dependency 6597: TextStyles */;
const DISPLAY_EXTRABOLD = Fonts.DISPLAY_EXTRABOLD;
const INTERACTIVE_TEXT_ACTIVE = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_ACTIVE;
copyDataProperties(object5, textStyles(DISPLAY_EXTRABOLD, INTERACTIVE_TEXT_ACTIVE, 20), undefined);
object5['marginBottom'] = 4;
object2.guildInfoName = object5;
object2.guildInfoRowBottom = {'flexDirection': 'row', 'alignItems': 'center'};
object2.guildInfoRowIcon = {'height': 12, 'width': 8, 'marginLeft': 2, 'marginRight': 8};
object2.guildInfoSubscriptionCount = {lineHeight: 16};
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object2.subscriptionSlot = {backgroundColor: BACKGROUND_SURFACE_HIGH, paddingLeft: 16};
object2.subscriptionSlotInner = {'alignItems': 'center', 'flexDirection': 'row', 'paddingRight': 16,
'paddingVertical': 12};
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object2.subscriptionSlotBorder = {backgroundColor: BORDER_SUBTLE, height: 1};
object2.subscriptionSlotInfo = {'flexShrink': 1, 'flexGrow': 1};
object2.subscriptionSlotInfoTitle = {lineHeight: 24};
object2.subscriptionSlotInfoCooldown = {lineHeight: 16};
const CONTROL_BRAND_FOREGROUND = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_BRAND_FOREGROUND;
object2.subscriptionSlotInfoTransferText = {'color': null, 'fontSize': 16, 'fontWeight': '500', 'lineHeight': 20,
color: CONTROL_BRAND_FOREGROUND};
object2.unusedSlots = {marginBottom: 32};
const TEXT_LINK = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_LINK;
object2.subscribeButtonText = {'color': null, 'fontSize': 16, 'fontWeight': '500', 'lineHeight': 20,
color: TEXT_LINK};
const env0_14 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/native/GuildBoostSlotsInventory.tsx');
exports.default = GuildBoostSlotsInventory;
}
function GuildBoostSlotCooldown({cooldownEndsAt}) { // fn#93628, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:1868, offset: 0x020bd00a, size: 280 bytes, params: 2, frame: 22
var r0;
var Text;
var intl;
const styles = useStyles();
const value2 = env0_4.useMemo(_fun93629, [cooldownEndsAt]);
const {days, hours, minutes} = (importDefault(7054) /* metro dependency 7054: useCountdown */)(value2, 15000);
const value4 = value2.valueOf();
const Date = global.Date;
if (value4 <= Date.now()) {
r0 = null;
} else {
Text = (require(4573) /* metro dependency 4573: Text */).Text;
var textProps = {'style': null, 'variant': 'text-xs/medium', 'color': 'text-muted',
style: styles.subscriptionSlotInfoCooldown};
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r0 = {intl.format((require(1244) /* metro dependency 1244: indexNative */).t.NffSH8,
{days: days, hours: hours, minutes: minutes})};
}
return r0;
}
function GuildBoostSlotsInventoryRow({title, subtitle, action, isLast}) { // fn#93630, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:2228, offset: 0x020bd147, size: 262 bytes, params: 2, frame: 29
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
{title}
{subtitle}
{action}
{isLast ? null : }
);
}
function GuildBoostSlot({guild, guildBoostSlot, isLast}) { // fn#93631, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:2644, offset: 0x020bd24d, size: 469 bytes, params: 2, frame: 27
var r6;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var formatToPlainString;
var property;
var Date;
var value4;
var date;
const styles = useStyles();
if (guild == null) {
return null;
}
const id = guildBoostSlot.premiumGuildSubscription != null ? guildBoostSlot.premiumGuildSubscription.id : null;
const r17 = id != null ? (importDefault(21) /* metro dependency 21: SnowflakeUtils */).extractTimestamp(id) : null;
if (r17 != null) {
formatToPlainString = intl.formatToPlainString;
property = (require(1244) /* metro dependency 1244: indexNative */).t['ePe+Xh'];
Date = global.Date;
value4 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date(r17);
r6 = Reflect.apply(formatToPlainString, intl, [property, {date: date instanceof Object ? date : value4}]);
} else {
r6 = null;
}
return (
: null}
action={guildBoostSlot.isOnCooldown() ? null : ((PressableOpacity) => {((LegacyText) => {intl.string((require(1244) /* metro dependency 1244: indexNative */).t.jqqLb6)})((require(1305) /* metro dependency 1305: native */).LegacyText)})((require(5278) /* metro dependency 5278: Pressables */).PressableOpacity)}
isLast={isLast}
/>
);
}
function UnusedGuildBoostSlots({unusedSlots}) { // fn#93633, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:3370, offset: 0x020bd45e, size: 393 bytes, params: 2, frame: 31
var r6;
var object;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var ewI23O;
const styles = useStyles();
let value2 = unusedSlots.filter(function({cooldownEndsAt}) {
var r0;
var value2;
var value = cooldownEndsAt != null;
if (value) {
value2 = new global.Date(cooldownEndsAt);
value2 = value2.valueOf();
cooldownEndsAt = global.Date;
value2 = value2 > cooldownEndsAt.now();
r0 = value2;
} else {
r0 = value;
}
return r0;
});
const value3 = unusedSlots.filter(function({cooldownEndsAt}) {
var r0;
var value2;
var value = cooldownEndsAt == null;
if (value) {
r0 = value;
} else {
value2 = new global.Date(cooldownEndsAt);
value2 = value2.valueOf();
cooldownEndsAt = global.Date;
value2 = value2 <= cooldownEndsAt.now();
r0 = value2;
}
return r0;
});
unusedSlots = styles.unusedSlots;
let length = value3.length;
if (length > 0) {
object = {};
formatToPlainString = intl.formatToPlainString;
ewI23O = t.ewI23O;
length = value3.length;
object.title = Reflect.apply(formatToPlainString, intl, [ewI23O, {numSubscriptions: length}]);
object.action = ((PressableOpacity) => {((LegacyText) => {intl.string(t['7KyPor'])})((require(1305) /* metro dependency 1305: native */).LegacyText)})((require(5278) /* metro dependency 5278: Pressables */).PressableOpacity);
length = value2.length;
object.isLast = length === 0;
r6 = ;
} else {
r6 = null;
}
return (
{[r6, value2.map(_fun93637)]}
);
}
function BoostedGuildInfo({guild, numGuildBoostSlots}) { // fn#93638, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:4261, offset: 0x020bd75b, size: 474 bytes, params: 2, frame: 33
var r0;
var items4;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var items2;
var items3;
var intl;
const styles = useStyles();
if (guild == null) {
r0 = null;
} else {
var viewBindingProps = {style: styles.guildInfo};
items4 = [{((Component) => )(importDefault(6819) /* metro dependency 6819: GuildIcon */)}];
items2 = [{guild.name}];
var viewBinding4Props = {style: styles.guildInfoRowBottom};
items3 = [];
var textProps = {'style': null, 'variant': 'text-xs/semibold', 'color': 'interactive-text-active',
style: styles.guildInfoSubscriptionCount};
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
items3[1] = {intl.format((require(1244) /* metro dependency 1244: indexNative */).t.bexfNy,
{numSubscriptions: numGuildBoostSlots})};
items2[1] = {items3};
items4[1] = {items2};
r0 = {items4};
}
return r0;
}
function BoostedGuild({guildId, guildBoostSlots}) { // fn#93639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:4909, offset: 0x020bd935, size: 556 bytes, params: 2, frame: 33
const styles = useStyles();
const guild = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], function() {
return GuildStore.getGuild(guildId);
});
const theme = (require(566) /* metro dependency 566: flux */).useStateFromStores([ThemeStore], function() {
return ThemeStore.theme;
});
const r16 = guild != null && guild.banner != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getGuildBannerSource(guild) : null;
return (
{r16 != null ? : null}
{((Component) => )(importDefault(12234) /* metro dependency 12234: BoostedGuildTierProgressCircle */)}
{guildBoostSlots.map(_fun93642)}
);
}
function GuildBoostSlotsInventory() { // fn#93643, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:5772, offset: 0x020bdbad, size: 525 bytes, params: 1, frame: 29
var r6;
var r0;
var value8;
var value9;
var items2;
var jsxRuntimeEnv0_13Binding;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var value;
const styles = useStyles();
env0_4.useEffect(_fun93644, []);
const fluxModule = require(566) /* metro dependency 566: flux */;
let useStateFromStores = fluxModule.useStateFromStores;
const premiumTypeSubscription = Reflect.apply(useStateFromStores, fluxModule, [[SubscriptionStore], function() {
return SubscriptionStore.getPremiumTypeSubscription();
}]);
const moduleValue2 = fluxModule;
useStateFromStores = moduleValue2.useStateFromStores;
const value5 = (importDefault(22) /* metro dependency 22 */)(Reflect.apply(useStateFromStores, moduleValue2,
[[GuildBoostSlotStore], function() {
return GuildBoostSlotStore.boostSlots;
}])).groupBy(function({premiumGuildSubscription}) {
return premiumGuildSubscription != null ? premiumGuildSubscription.guildId : '0';
}).value();
const property = value5[0];
const Object = global.Object;
const value7 = Object.keys(value5).filter(function(a0) {
return a0 !== '0';
});
if (value7.length !== 0) {
value9 = null;
if (value9 == premiumTypeSubscription) {
r0 = value9;
} else {
var viewBindingProps = {style: styles.inventory};
items2 = [value9 != property && property.length > 0 ? : value9];
if (value7.length > 0) {
jsxRuntimeEnv0_13Binding = jsxRuntimeEnv0_13;
value = {intl.string((require(1244) /* metro dependency 1244: indexNative */).t.gB9oQ7)};
value = <>{[value, value7.map(_fun93649)]}>;
r6 = value;
} else {
r6 = value9;
}
items2[1] = r6;
value = {items2};
r0 = value;
}
} else {
value8 = null;
if (value8 == property) {
r0 = value8;
} else {
value9 = null;
if (value9 == premiumTypeSubscription) {
r0 = value9;
} else {
var viewBindingProps = {style: styles.inventory};
items2 = [value9 != property && property.length > 0 ? : value9];
if (value7.length > 0) {
jsxRuntimeEnv0_13Binding = jsxRuntimeEnv0_13;
value = {intl.string((require(1244) /* metro dependency 1244: indexNative */).t.gB9oQ7)};
value = <>{[value, value7.map(_fun93649)]}>;
r6 = value;
} else {
r6 = value9;
}
items2[1] = r6;
value = {items2};
r0 = value;
}
}
}
return r0;
}
function _fun93629() { // fn#93629, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:1943, offset: 0x020bd122, size: 37 bytes, params: 1, frame: 11
const Date = global.Date;
const cooldownEndsAtBinding = cooldownEndsAt;
const value = Object.create(Date.prototype, {constructor: {value: Date}});
const date = new Date(cooldownEndsAtBinding);
return date instanceof Object ? date : value;
}
function GuildBoostSlotOnPress() { // fn#93632, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:3179, owner: GuildBoostSlot.onPress, offset: 0x020bd422, size: 60 bytes, params: 1, frame: 13
const value = environment.__proto__;
return (require(6522) /* metro dependency 6522: BoostingActionCreators */).openTransferModal({guildBoostSlots: [guildBoostSlot]});
}
function UnusedGuildBoostSlotsOnPress() { // fn#93636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:3827, owner: UnusedGuildBoostSlots.onPress, offset: 0x020bd685, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
return (require(6522) /* metro dependency 6522: BoostingActionCreators */).openApplyBoostModal();
}
function _fun93637(a0, a1) { // fn#93637, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:4012, offset: 0x020bd6aa, size: 177 bytes, params: 3, frame: 22
const value = environment.__proto__;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const gDsyB9 = (require(1244) /* metro dependency 1244: indexNative */).t.gDsyB9;
const cooldownEndsAt = a0.cooldownEndsAt;
const value2 = null;
return (
: value2}
isLast={a1 === env0_0.length - 1}
key={a0.id}
/>
);
}
function _fun93642(a0, a1) { // fn#93642, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:5590, offset: 0x020bdb61, size: 76 bytes, params: 3, frame: 16
return (
);
}
function _fun93644() { // fn#93644, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:5831, offset: 0x020bddba, size: 63 bytes, params: 1, frame: 13
const value = environment.__proto__;
(importAll(4223) /* metro dependency 4223: BillingActionCreators */).fetchSubscriptions();
(require(8251) /* metro dependency 8251: BoostingActionCreators */).fetchGuildBoostSlots();
}
function _fun93649(a0) { // fn#93649, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12414:6464, offset: 0x020bde36, size: 47 bytes, params: 2, frame: 15
return (
);
}