Files
discord-decomp/sources/modules/auth/native/components/RegisterUsernameInput.tsx
T
2026-07-28 01:06:53 +03:00

205 lines
11 KiB
TypeScript

/* Metro module 14330; source: modules/auth/native/components/RegisterUsernameInput.tsx; dependencies: [29, 57, 31, 14304, 33, 4501, 4017, 13282, 4572, 7684, 697, 4573, 1244, 14322, 7981, 477, 2] */
import ObjectWithoutProperties from '../../../../by-id/module-00029-ObjectWithoutProperties.js'; /* Metro dependency 29 */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as TextInputNativeModule from '../../../../design/components/TextInput/native/TextInput.native.tsx'; /* Metro dependency 7981 */
import * as UniqueUsernamesTypesModule from '../../../unique_usernames/UniqueUsernamesTypes.tsx'; /* Metro dependency 13282 */
import * as RegistrationUIStoreModule from '../RegistrationUIStore.tsx'; /* Metro dependency 14304 */
function _fun108464(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#108464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14527:6, offset: 0x0232176a, size: 480 bytes, params: 8, frame: 22
const env0_0 = require;
const env0_3 = ['username'];
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = RegistrationUIStoreModule;
const env0_7 = value.setRegistrationErrors;
const env0_8 = value.useRegistrationUIStore;
value = require(33) /* metro dependency 33 */;
const env0_9 = value.jsx;
const env0_10 = value.jsxs;
const env0_11 = value.Fragment;
const env0_12 = (CreateStylesModule).createStyles({status: {width: '90%'},
inputHint: {width: '100%'}});
object = {};
const FadeIn = (ReanimatedRexportModule).FadeIn;
object.entering = FadeIn.duration(300);
const FadeOut = (ReanimatedRexportModule).FadeOut;
object.exiting = FadeOut.duration(300);
object = {};
const LinearTransition = (ReanimatedRexportModule).LinearTransition;
const easing = LinearTransition.easing;
const Easing = (ReanimatedRexportModule).Easing;
const inOut = Easing.inOut;
const Easing2 = (ReanimatedRexportModule).Easing;
object.layout = Reflect.apply(easing, LinearTransition, [Reflect.apply(inOut, Easing,
[Easing2.quad])]).duration(300);
(FileImportTrackerModule).fileFinishedImporting('modules/auth/native/components/RegisterUsernameInput.tsx');
exports.RegisterUsernameInput = RegisterUsernameInput;
function UsernameStatusMessage_108465({usernameStatus, isUsernameFocused}) { // fn#108465, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14527:522, offset: 0x0232194a, size: 708 bytes, params: 2, frame: 24
var r0;
const Text = (TextModule).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var Stack;
var items2;
var value;
const styles = useStyles();
const type = usernameStatus?.type;
const NameValidationState = (require(13282) /* metro dependency 13282: UniqueUsernamesTypes */).NameValidationState;
const ERROR = NameValidationState.ERROR;
if (type === ERROR) {
Stack = (require(4572) /* metro dependency 4572: StackNative */).Stack;
const CircleErrorIcon = (require(7684) /* metro dependency 7684: CircleErrorIcon */).CircleErrorIcon;
items2 = [
<CircleErrorIcon
size="xs"
color={(importDefault(697) /* metro dependency 697: native */).colors.TEXT_FEEDBACK_CRITICAL}
/>,
];
items2[1] = (
<Text
variant="text-xs/medium"
color="text-feedback-critical"
style={styles.status}
{...env0_13}
{...env0_14}
{...{['animated']: true}}
>
{usernameStatus.message}
</Text>
);
r0 = (
<Stack
direction="horizontal"
spacing={4}
align="flex-start"
>
{items2}
</Stack>
);
} else if (isUsernameFocused) {
if (usernameStatus?.type === (require(13282) /* metro dependency 13282: UniqueUsernamesTypes */).NameValidationState.AVAILABLE) {
var textProps = {...env0_13, ...env0_14};
textProps['style'] = styles.status;
textProps['variant'] = 'text-xs/medium';
textProps['animated'] = true;
value = (
<Text variant="text-xs/medium" color="text-feedback-positive">
{usernameStatus.message}
</Text>
);
value = (
<Text {...textProps}>
{value}
</Text>
);
r0 = value;
} else if (isUsernameFocused) {
var textProps = {...env0_13, ...env0_14};
textProps['style'] = styles.inputHint;
textProps['variant'] = 'text-xs/medium';
textProps['color'] = 'text-muted';
textProps['animated'] = true;
value = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y7LSyU);
value = (
<Text {...textProps}>
{value}
</Text>
);
r0 = value;
} else {
r0 = null;
}
} else if (isUsernameFocused) {
var textProps = {...env0_13, ...env0_14};
textProps['style'] = styles.inputHint;
textProps['variant'] = 'text-xs/medium';
textProps['color'] = 'text-muted';
textProps['animated'] = true;
value = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y7LSyU);
value = (
<Text {...textProps}>
{value}
</Text>
);
r0 = value;
} else {
r0 = null;
}
return r0;
}
function RegisterUsernameInput({username, setUsername, usernameStatus, onSubmitEditing, submitBehavior, autoFocus}) { // fn#108466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14527:1464, offset: 0x02321c0e, size: 669 bytes, params: 2, frame: 33
let binding = ReactModule;
const value3 = binding.useRef(null);
(importDefault(14322) /* metro dependency 14322: useFocusRefOnNavigation */)({inputRef: value3,
enabled: autoFocus != null && autoFocus});
binding = ReactModule;
const [property, property2] = Module00057(binding.useState(true), 2);
const value8 = binding.useCallback(_fun108468, [useRegistrationUIStore(function(a0) {
return a0.errors;
}), setUsername]);
const value9 = binding.useCallback(_fun108469, [property2]);
const value10 = binding.useCallback(_fun108470, [property2]);
const jsxRuntimeEnv0_11Binding = jsxRuntimeEnv0_11;
const TextInput = (TextInputNativeModule).TextInput;
const object2 = {ref: value3};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const IEpCBQ = (require(1244) /* metro dependency 1244: indexNative */).t.IEpCBQ;
object2.label = Reflect.apply(string, intl, [IEpCBQ]);
object2.accessibilityHint = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['47dcUZ']);
object2.onChange = value8;
object2.autoCorrect = false;
object2.secureTextEntry = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid();
object2.keyboardType = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() ? 'visible-password' : 'default';
object2.value = username;
object2.onSubmitEditing = onSubmitEditing;
object2.returnKeyType = 'next';
object2.autoComplete = 'username';
object2.textContentType = 'username';
object2.autoCapitalize = 'none';
object2.onFocus = value9;
object2.onBlur = value10;
object2.isClearable = true;
const type = usernameStatus?.type;
const NameValidationState = (UniqueUsernamesTypesModule).NameValidationState;
const ERROR = NameValidationState.ERROR;
object2.status = type !== ERROR ? undefined : 'error';
object2.submitBehavior = submitBehavior;
return (
<>
<TextInput {...object2} />
<UsernameStatusMessage_108465 usernameStatus={usernameStatus} isUsernameFocused={property} />
</>
);
function _fun108468(a0) { // fn#108468, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14527:1730, offset: 0x02321eab, size: 87 bytes, params: 2, frame: 16
var value2;
const username = env0_2.username;
if (username != null) {
env0_2.username;
value2 = environment.__proto__;
setRegistrationErrors(env1_4(env0_2, env1_3));
}
setUsername(a0.toLowerCase());
}
function _fun108469() { // fn#108469, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14527:1829, offset: 0x01d4f9cc, size: 18 bytes, params: 1, frame: 11
env0_1(true);
}
function _fun108470() { // fn#108470, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14527:1864, offset: 0x010ca0f3, size: 18 bytes, params: 1, frame: 11
env0_1(false);
}
}
}
global.__d(_fun108464, 14330, [29, 57, 31, 14304, 33, 4501, 4017, 13282, 4572, 7684, 697, 4573, 1244, 14322, 7981,
477,
2]) /* metro module 14330, dependencies: [29, 57, 31, 14304, 33, 4501, 4017, 13282, 4572, 7684, 697, 4573, 1244, 14322, 7981, 477, 2] */;