/* Metro module 14306; source: modules/auth/native/components/Welcome.tsx; dependencies: [31, 27, 14307, 4107, 7069, 11876, 1885, 4097, 9156, 661, 6934, 4118, 33, 4501, 697, 11976, 1244, 44, 1305, 3995, 10555, 7556, 12636, 4573, 1484, 1585, 566, 4594, 4884, 683, 587, 5076, 6518, 14308, 14303, 6261, 4578, 3868, 5314, 9871, 2] */
import AnalyticsUtils from '../../../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */
import UseSafeAreaInsetsNative from '../../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */
import UserRecord from '../../../../records/UserRecord.tsx'; /* Metro dependency 1885 */
import InviteStore from '../../../../stores/InviteStore.tsx'; /* Metro dependency 4097 */
import ExperimentStore from '../../../experiments/ExperimentStore.tsx'; /* Metro dependency 4107 */
import UseMountEffect from '../../../../hooks/useMountEffect.tsx'; /* Metro dependency 4594 */
import AuthenticationActionCreators from '../../../../actions/AuthenticationActionCreators.tsx'; /* Metro dependency 5076 */
import UseInitialValue from '../../../../hooks/useInitialValue.tsx'; /* Metro dependency 6518 */
import GuildTemplateStore from '../../../guild_templates/GuildTemplateStore.tsx'; /* Metro dependency 7069 */
import UseIsWindowLarge from '../../../screen/native/useIsWindowLarge.tsx'; /* Metro dependency 7556 */
import DisplayedInviteStore from '../../../../stores/native/DisplayedInviteStore.tsx'; /* Metro dependency 9156 */
import Module10555 from '../../../../by-id/module-10555.js'; /* Metro dependency 10555 */
import MultiAccountStore from '../../../multi_account/MultiAccountStore.tsx'; /* Metro dependency 11876 */
import AgeGateStore from '../../../age_gate/AgeGateStore.tsx'; /* Metro dependency 14307 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as StorageModule from '../../../../external/discord_common/js/packages/storage/Storage.tsx'; /* Metro dependency 587 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as NativeModule from '../../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as UseNavigationNativeModule from '../../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */
import * as NativeModule2 from '../../../../external/discord_common/js/packages/design/native.tsx'; /* Metro dependency 3868 */
import * as ConstantsModule from '../../../instant_invite/Constants.tsx'; /* Metro dependency 4118 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ButtonNativeModule from '../../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as TTIAnalyticsUtilsModule from '../../../tti_analytics/native/TTIAnalyticsUtils.tsx'; /* Metro dependency 4884 */
import * as ButtonGroupNativeModule from '../../../../design/components/ButtonGroup/native/ButtonGroup.native.tsx'; /* Metro dependency 6261 */
import * as GuildTemplatesConstantsModule from '../../../guild_templates/GuildTemplatesConstants.tsx'; /* Metro dependency 6934 */
import * as TTIFirstContentfulPaintModule from '../../../tti_analytics/native/TTIFirstContentfulPaint.tsx'; /* Metro dependency 9871 */
import * as Module12636Module from '../../../../by-id/module-12636.js'; /* Metro dependency 12636 */
function _fun108260(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#108260, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:6, offset: 0x02319d06, size: 681 bytes, params: 8, frame: 24
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ReactNativeModule;
const env0_4 = value.View;
const env0_5 = value.Image;
const env0_6 = value.ScrollView;
value = require(661) /* metro dependency 661: Constants */;
const Fonts = value.Fonts;
const env0_14 = value.AnalyticEvents;
const env0_15 = value.StorageKeys;
const env0_16 = value.AuthStates;
const env0_17 = value.InviteStates;
value = require(33) /* metro dependency 33 */;
const env0_20 = value.jsx;
const env0_21 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
let createStyles = value.createStyles;
const env0_22 = Reflect.apply(createStyles, value, [_fun108264]);
value = require(4501) /* metro dependency 4501: createStyles */;
createStyles = value.createStyles;
object = {};
const object2 = {'backgroundColor': null, 'padding': 16, 'flexDirection': 'row'};
const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST;
object2.backgroundColor = BACKGROUND_BASE_LOWEST;
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object.container = object2;
object.text = {marginLeft: 16};
const MOBILE_TEXT_HEADING_PRIMARY = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY;
const PRIMARY_SEMIBOLD = Fonts.PRIMARY_SEMIBOLD;
object.name = {color: MOBILE_TEXT_HEADING_PRIMARY, fontFamily: PRIMARY_SEMIBOLD, fontSize: 16, lineHeight: 20};
const TEXT_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_SUBTLE;
object.inviteText = {'color': null, 'fontSize': 14, 'lineHeight': 18, color: TEXT_SUBTLE};
const env0_23 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/auth/native/components/Welcome.tsx');
exports.default = Welcome;
function InviteCard({invite, style}) { // fn#108261, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:1365, offset: 0x02319faf, size: 708 bytes, params: 2, frame: 28
var r5;
var r12;
var r17;
const Avatar = (NativeModule).Avatar;
var userRecordBinding;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var value7;
var userRecord3;
var avatar;
var value10;
var formattedName;
var value12;
var value13;
var name;
var items2;
const LegacyText = (NativeModule).LegacyText;
var items3;
const styles = useStyles();
const guild = invite.guild;
const inviter = invite.inviter;
const channel = invite.channel;
const state = invite.state;
const RESOLVED = InviteStates.RESOLVED;
if (state !== RESOLVED) {
return null;
}
if (guild != null) {
value12 = ((Component) => )(importDefault(11976) /* metro dependency 11976: GuildInviteIcon */);
value13 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['3rE1P8']);
name = guild.name;
r5 = value12;
r12 = name;
r17 = value13;
var viewBindingProps = {style: [styles.container, style]};
items2 = [r5];
var viewBinding2Props = {style: styles.text};
items3 = [
{r17}
,
];
name = styles.name;
items3[1] = (
{r12}
);
items2[1] = (
{items3}
);
return (
{items2}
);
}
if (channel != null) {
(importDefault(44) /* metro dependency 44 */)(inviter != null, 'Null inviter');
userRecordBinding = UserRecord;
value7 = Object.create(userRecordBinding.prototype, {constructor: {value: userRecordBinding}});
userRecord3 = new userRecordBinding(inviter);
avatar = ;
value10 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.OsdY8B);
formattedName = (importDefault(3995) /* metro dependency 3995: UserUtils */).getFormattedName(inviter);
r5 = avatar;
r12 = formattedName;
r17 = value10;
var viewBindingProps = {style: [styles.container, style]};
items2 = [r5];
var viewBinding2Props = {style: styles.text};
items3 = [
{r17}
,
];
items3[1] = (
{r12}
);
items2[1] = (
{items3}
);
return (
{items2}
);
}
if (inviter == null) {
return null;
}
userRecordBinding = UserRecord;
const value2 = Object.create(userRecordBinding.prototype, {constructor: {value: userRecordBinding}});
const userRecord2 = new userRecordBinding(inviter);
return (
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['+ITYkQ'])}
{(importDefault(3995) /* metro dependency 3995: UserUtils */).getFormattedName(inviter, true)}
);
}
function GuildTemplateCard({guildTemplate, style}) { // fn#108262, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:2097, offset: 0x0231a273, size: 303 bytes, params: 2, frame: 29
const styles = useStyles();
const items2 = [styles.container, style];
const image = ;
const LegacyText = (NativeModule).LegacyText;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const QzUORX = (IndexNativeModule).t.QzUORX;
return (
{image}
{Reflect.apply(string, intl, [QzUORX])}
{guildTemplate.name}
);
}
function Centerpiece({invite, guildTemplate, inlineButtons}) { // fn#108263, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:2409, offset: 0x0231a3a2, size: 591 bytes, params: 2, frame: 38
const value2 = (UseIsWindowLarge)();
const styles = useStyles(value2);
const value4 = invite != null;
const r15 = guildTemplate != null && guildTemplate.state === GuildTemplateStates.RESOLVED;
const items2 = [styles.centerpieceContainer];
const image = ;
const Text = (TextModule).Text;
const r16 = value2 ? 1 : 2;
const intl = (IndexNativeModule).intl;
let string = intl.string;
const items3 = [
{Reflect.apply(string, intl, [(IndexNativeModule).t['3S2xmm']])}
,
];
const items4 = [styles.subHeader];
items4[1] = value4 || r15 ? styles.subHeaderWithInvite : null;
string = intl.string;
const Gtcthl = (IndexNativeModule).t.Gtcthl;
items3[1] = (
{Reflect.apply(string, intl, [Gtcthl])}
);
items3[2] = (
value4
? (
)
: null
);
items3[3] = (
r15
? (
)
: null
);
return (
{image}
{items3}
{inlineButtons}
);
}
function Welcome() { // fn#108265, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:3287, offset: 0x0231a69e, size: 1013 bytes, params: 1, frame: 34
const TTIFirstContentfulPaint = (TTIFirstContentfulPaintModule).TTIFirstContentfulPaint;
const ButtonGroup = (ButtonGroupNativeModule).ButtonGroup;
const Button = (ButtonNativeModule).Button;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var items4;
var view;
const ThemeContextProvider = (NativeModule2).ThemeContextProvider;
var object3;
var items2;
var object4;
var items3;
const value2 = (UseIsWindowLarge)();
const styles = useStyles(value2);
const env0_0 = (UseNavigationNativeModule).useNavigation();
const {top, bottom} = (UseSafeAreaInsetsNative)();
let useStateFromStores = FluxModule.useStateFromStores;
const env0_1 = Reflect.apply(useStateFromStores, FluxModule, [[DisplayedInviteStore], function() {
return DisplayedInviteStore.getDisplayedInviteCode();
}]);
const value4 = FluxModule.useStateFromStores([InviteStore], _fun108267);
const guildTemplate = FluxModule.useStateFromStores([GuildTemplateStore], _fun108268);
const env0_3 = FluxModule.useStateFromStores([AgeGateStore], function() {
return AgeGateStore.isUnderageAnonymous();
});
useStateFromStores = FluxModule.useStateFromStores;
const multiAccountStoreBinding = MultiAccountStore;
const hasLoggedInAccounts = Reflect.apply(useStateFromStores, FluxModule, [[multiAccountStoreBinding],
function() {
return MultiAccountStore.getHasLoggedInAccounts();
}]);
const canUseMultiAccountMobile = FluxModule.useStateFromStores([multiAccountStoreBinding], function() {
return MultiAccountStore.getCanUseMultiAccountMobile();
});
(UseMountEffect)(_fun108272);
const binding = env0_3;
binding.useEffect(_fun108273, []);
(UseInitialValue)(ExperimentStore.hasLoadedExperiments);
binding.useEffect(function() {
});
binding.useEffect(function() {
});
if (canUseMultiAccountMobile) {
if (hasLoggedInAccounts) {
return ((Component) => )(importDefault(14308) /* metro dependency 14308: ChooseAccount */);
}
var viewBindingProps = {style: styles.buttonContainer};
items4 = [
,
];
items4[1] = (
);
view = (
{items4}
);
object3 = {};
items2 = [styles.container];
object4 = {};
object4.paddingTop = top + (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
object4.paddingBottom = bottom;
items2[1] = object4;
object3.style = items2;
items3 = [
,
];
items3[1] = !value2 && view;
items3[2] = ;
return (
{items3}
);
}
const button = (
);
view = (
{button}
);
items2 = [styles.container];
const NAV_BAR_HEIGHT = (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
items2[1] = {paddingTop: top + NAV_BAR_HEIGHT, paddingBottom: bottom};
return (
{!value2 && view}
);
function _fun108267() { // fn#108267, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:3492, offset: 0x0231aaa6, size: 40 bytes, params: 1, frame: 12
const displayedInviteCodeBinding = displayedInviteCode;
const value2 = null;
return value2 != displayedInviteCodeBinding ? InviteStore.getInvite(displayedInviteCode) : value2;
}
function _fun108268() { // fn#108268, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:3561, offset: 0x0231aace, size: 30 bytes, params: 1, frame: 11
const value = environment.__proto__;
const guildTemplateStoreBinding = GuildTemplateStore;
return guildTemplateStoreBinding.getGuildTemplate(guildTemplateStoreBinding.getDisplayedGuildTemplateCode());
}
function _fun108272() { // fn#108272, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:3857, offset: 0x0231ab29, size: 313 bytes, params: 1, frame: 21
const value2 = undefined;
(TTIAnalyticsUtilsModule).trackAppUIViewed();
(TTIAnalyticsUtilsModule).trackAppLaunchCompleted();
const value4 = null;
const r5 = value4 != env0_2 && value4 != env0_2.type ? InviteTypes[env0_2.type] : value4;
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const APP_LANDING_VIEWED = AnalyticEvents.APP_LANDING_VIEWED;
const Storage = (StorageModule).Storage;
const get = Storage.get;
const LOGOUT_TIMESTAMP_KEY = StorageKeys.LOGOUT_TIMESTAMP_KEY;
Reflect.apply(track, defaultImport, [APP_LANDING_VIEWED, {last_logout_ts: Reflect.apply(get, Storage,
[LOGOUT_TIMESTAMP_KEY]), invite_type: r5,
guild_id: value4 == env0_2 || value4 == env0_2.guild ? value2 : env0_2.guild.id,
channel_id: value4 == env0_2 || value4 == env0_2.channel ? value2 : env0_2.channel.id,
invite_code: value4 == env0_2 ? value2 : env0_2.code}]);
return value2;
}
function _fun108273() { // fn#108273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:4239, offset: 0x0231ac62, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
(AuthenticationActionCreators).getLocationMetadata();
}
function WelcomeOnPress() { // fn#108276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:4526, owner: Welcome.onPress, offset: 0x0231ac87, size: 146 bytes, params: 1, frame: 16
var moduleValue;
var binding;
var value;
if (env0_3) {
binding = env0_0;
binding.push(AuthStates.AGE_GATE_UNDERAGE, {fromRegister: true});
} else {
moduleValue = require(14303) /* metro dependency 14303: RegistrationStepsUtils */;
env0_0.push(moduleValue.getNextAuthState(AuthStates.WELCOME));
value = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
value.track(AnalyticEvents.REGISTER_VIEWED);
}
}
function WelcomeOnPress_108277() { // fn#108277, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:4814, owner: Welcome.onPress, offset: 0x0231ad19, size: 87 bytes, params: 1, frame: 15
const binding = env0_0;
const push = binding.push;
const LOGIN = AuthStates.LOGIN;
Reflect.apply(push, binding, [LOGIN]);
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const LOGIN_VIEWED = AnalyticEvents.LOGIN_VIEWED;
Reflect.apply(track, defaultImport, [LOGIN_VIEWED, {source: 'welcome'}]);
}
}
}
function _fun108264(a0) { // fn#108264, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14503:414, offset: 0x0231a5f1, size: 173 bytes, params: 2, frame: 5
return {container: {'height': '100%', 'flex': 1, 'padding': 16}, logo: {'flex': 0, 'width': 93, 'height': 70,
'tintColor': 'white', 'alignSelf': 'center', 'marginBottom': 24}, scrollViewContainer: {'flexShrink': 0,
'flexGrow': 1, 'justifyContent': 'center'}, header: {'textAlign': 'center', 'marginBottom': 8,
'textTransform': 'uppercase'}, subHeader: {'fontSize': 18, 'textAlign': 'center', 'alignSelf': 'center',
'maxWidth': null, 'marginBottom': 24, 'marginHorizontal': 16, maxWidth: a0 ? 480 : 300},
subHeaderWithInvite: {marginBottom: 16}, centerpieceContainer: {'flexGrow': 1, 'flexShrink': 1,
'justifyContent': 'center'}, buttonContainer: {'paddingHorizontal': 28, 'maxWidth': 480, 'alignSelf': 'center',
'width': '100%'}};
}
global.__d(_fun108260, 14306, [31, 27, 14307, 4107, 7069, 11876, 1885, 4097, 9156, 661, 6934, 4118, 33, 4501, 697,
11976, 1244, 44, 1305, 3995, 10555, 7556, 12636, 4573, 1484, 1585, 566, 4594, 4884, 683, 587, 5076, 6518, 14308,
14303, 6261, 4578, 3868, 5314, 9871,
2]) /* metro module 14306, dependencies: [31, 27, 14307, 4107, 7069, 11876, 1885, 4097, 9156, 661, 6934, 4118, 33, 4501, 697, 11976, 1244, 44, 1305, 3995, 10555, 7556, 12636, 4573, 1484, 1585, 566, 4594, 4884, 683, 587, 5076, 6518, 14308, 14303, 6261, 4578, 3868, 5314, 9871, 2] */;