232 lines
14 KiB
TypeScript
232 lines
14 KiB
TypeScript
/* Metro module 15384; source: modules/frames/panel/native/QuestActivityButton.tsx; dependencies: [31, 27, 4502, 7093, 15385, 6528, 33, 4017, 7744, 4501, 9483, 566, 5080, 15386, 1962, 4080, 15387, 4504, 6760, 13621, 15388, 13508, 1244, 697, 9524, 2] */
|
|
function _fun117599(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#117599, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:6, offset: 0x024ba1ec, size: 508 bytes, params: 8, frame: 23
|
|
const env0_0 = require;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = importAll(31) /* metro dependency 31 */;
|
|
const env0_4 = (require(27) /* metro dependency 27 */).View;
|
|
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
|
|
const questStore = importDefault(7093) /* metro dependency 7093: QuestStore */;
|
|
const unenrolledActivityQuestStore = importDefault(15385) /* metro dependency 15385: UnenrolledActivityQuestStore */;
|
|
const env0_8 = (require(6528) /* metro dependency 6528: QuestConstants */).QuestVariants;
|
|
const value2 = require(33) /* metro dependency 33 */;
|
|
const env0_9 = value2.jsx;
|
|
const env0_10 = value2.jsxs;
|
|
const reanimatedRexport = importDefault(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
const createAnimatedComponent = reanimatedRexport.createAnimatedComponent;
|
|
const Circle = (require(7744) /* metro dependency 7744 */).Circle;
|
|
const env0_12 = Reflect.apply(createAnimatedComponent, reanimatedRexport, [Circle]);
|
|
const env0_13 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({container: {'position': 'relative',
|
|
'width': 32, 'height': 32, 'justifyContent': 'center', 'alignItems': 'center'},
|
|
completionGlow: {'shadowOffset': null, 'shadowRadius': 12, 'shadowOpacity': 0, 'elevation': 4,
|
|
'shadowColor': '#30C77399', shadowOffset: {'width': 0, 'height': 0}}, canvas: {position: 'absolute',
|
|
transform: [{rotate: '-90deg'}]}, buttonWrapper: {'position': 'absolute', 'borderRadius': 16,
|
|
'overflow': 'hidden'}, confetti: {position: 'absolute'}});
|
|
object = {code: 'function QuestActivityButtonTsx1(){const{glowOpacity}=this.__closure;return{shadowOpacity:glowOpacity.get()};}'};
|
|
object = {code: 'function QuestActivityButtonTsx2(){const{circumference,animatedProgress}=this.__closure;return{strokeDashoffset:circumference-circumference*animatedProgress.get()};}'};
|
|
value = value.memo(QuestActivityButton);
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/frames/panel/native/QuestActivityButton.tsx');
|
|
exports.default = value;
|
|
}
|
|
|
|
function QuestActivityButtonInner({quest}) { // fn#117600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:952, offset: 0x024ba3e8, size: 1323 bytes, params: 2, frame: 34
|
|
let env0_3 = undefined;
|
|
const questHooksModule = require(9483) /* metro dependency 9483: QuestHooks */;
|
|
const useQuestCompletionDetails = questHooksModule.useQuestCompletionDetails;
|
|
const completedRatio = Reflect.apply(useQuestCompletionDetails, questHooksModule, [quest]).completedRatio;
|
|
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
|
|
function() {
|
|
return AccessibilityStore.useReducedMotion;
|
|
});
|
|
let binding = env0_3;
|
|
const useCallback = binding.useCallback;
|
|
const userStatus = quest.userStatus;
|
|
const value3 = Reflect.apply(useCallback, binding, [_fun117602, [quest.id, userStatus?.enrolledAt]]);
|
|
const Math = global.Math;
|
|
const PI = Math.PI;
|
|
const value4 = 2 * PI * 14.3;
|
|
const r2 = (quest == null || quest.userStatus == null ? undefined : quest.userStatus.enrolledAt) != null ? completedRatio : 0;
|
|
env0_3 = r2;
|
|
const r12 = (quest == null || quest.userStatus == null ? undefined : quest.userStatus.enrolledAt) != null && (quest == null || quest.userStatus == null ? undefined : quest.userStatus.completedAt) != null;
|
|
const value8 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(r2);
|
|
const value10 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(r12 ? 1 : 0);
|
|
const value11 = env0_3.useRef(null);
|
|
const styles = useStyles();
|
|
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
|
|
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
|
|
let closure = QuestActivityButtonInnerE;
|
|
closure.__closure = {glowOpacity: value10};
|
|
closure.__workletHash = 4459043613798;
|
|
closure.__initData = env0_14;
|
|
const value12 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
|
|
const value13 = env0_3.useMemo(_fun117604, [styles.confetti]);
|
|
const moduleValue6 = reanimatedRexportModule;
|
|
const useAnimatedProps = moduleValue6.useAnimatedProps;
|
|
closure = QuestActivityButtonInnerI;
|
|
closure.__closure = {circumference: value4, animatedProgress: value8};
|
|
closure.__workletHash = 3373122453897;
|
|
closure.__initData = env0_15;
|
|
const value14 = Reflect.apply(useAnimatedProps, moduleValue6, [closure]);
|
|
env0_3.useEffect(_fun117606, [value8, r2, useReducedMotion]);
|
|
env0_3.useEffect(_fun117608, [value10, r12, useReducedMotion]);
|
|
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
|
|
const items3 = [styles.container];
|
|
items3[1] = styles.completionGlow;
|
|
items3[2] = value12;
|
|
const items2 = [<View style={value13} pointerEvents="none">{((Component) => <Component ref={value11} source={require(13621) /* metro dependency 13621 */} autoPlay={false} loop={false} />)(importDefault(6760) /* metro dependency 6760: LottieAnimationView */)}</View>];
|
|
const VoicePanelIconButton = importDefault(15388) /* metro dependency 15388: VoicePanelIconButton */;
|
|
const object = {icon: importDefault(13508) /* metro dependency 13508 */, onPress: value3};
|
|
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
|
|
const string = intl.string;
|
|
const JALI2K = (require(1244) /* metro dependency 1244: indexNative */).t.JALI2K;
|
|
object.accessibilityLabel = Reflect.apply(string, intl, [JALI2K]);
|
|
items2[1] = <View style={styles.buttonWrapper}><VoicePanelIconButton {...object} /></View>;
|
|
let canvas = styles.canvas;
|
|
const Svg = (require(7744) /* metro dependency 7744 */).Svg;
|
|
const object2 = {height: env0_11, width: env0_11};
|
|
const Circle = (require(7744) /* metro dependency 7744 */).Circle;
|
|
const OPACITY_32 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.OPACITY_32;
|
|
items2[2] = <View pointerEvents="none" style={canvas}><Svg {...object2}><Circle cx={16} cy={16} r={14.3} fill="none" stroke={OPACITY_32} strokeWidth={3.4} strokeDasharray={value4} /></Svg></View>;
|
|
canvas = styles.canvas;
|
|
const object3 = {height: env0_11, width: env0_11};
|
|
binding = env0_12;
|
|
const GREEN_300 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.GREEN_300;
|
|
items2[3] = <View pointerEvents="none" style={canvas}><Svg {...object3}>{((Component) => <Component cx={16} cy={16} r={14.3} fill="none" stroke={GREEN_300} strokeWidth={3.4} strokeDasharray={value4} animatedProps={value14} />)(binding)}</Svg></View>;
|
|
return (
|
|
<View2 style={items3} pointerEvents="box-none">
|
|
{items2}
|
|
</View2>
|
|
);
|
|
}
|
|
|
|
function QuestActivityButton({applicationId}) { // fn#117609, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:3203, offset: 0x024baba6, size: 263 bytes, params: 2, frame: 22
|
|
const quests = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() {
|
|
return QuestStore.quests;
|
|
});
|
|
const autoEnroll = (require(566) /* metro dependency 566: flux */).useStateFromStores([UnenrolledActivityQuestStore],
|
|
function() {
|
|
return UnenrolledActivityQuestStore.getState().autoEnroll;
|
|
});
|
|
const value2 = env0_3.useMemo(_fun117612, [quests, applicationId]);
|
|
var env0_3 = value2;
|
|
env0_3.useEffect(_fun117615, [value2, autoEnroll,
|
|
(require(566) /* metro dependency 566: flux */).useStateFromStores([UnenrolledActivityQuestStore], _fun117614)]);
|
|
return value2 == null ? null : <QuestActivityButtonInner quest={value2} />;
|
|
}
|
|
|
|
function _fun117602() { // fn#117602, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:1145, offset: 0x024ba913, size: 222 bytes, params: 1, frame: 18
|
|
var value3;
|
|
var defaultImport;
|
|
var value5;
|
|
var defaultImport2;
|
|
const userStatus = quest.userStatus;
|
|
const value2 = undefined;
|
|
if ((userStatus == null ? value2 : userStatus.enrolledAt) == null) {
|
|
value5 = environment.__proto__;
|
|
defaultImport2 = importDefault(dependencyMap[12]);
|
|
defaultImport2.pushLazy(require(dependencyMap[14])(dependencyMap[13], dependencyMap.paths), {questId: quest.id},
|
|
env1_16);
|
|
} else {
|
|
value3 = environment.__proto__;
|
|
defaultImport = importDefault(dependencyMap[15]);
|
|
defaultImport.openLazy(require(dependencyMap[14])(dependencyMap[16], dependencyMap.paths),
|
|
'QuestProgressBottomSheet', {questId: quest.id});
|
|
}
|
|
return value2;
|
|
}
|
|
|
|
function QuestActivityButtonInnerE() { // fn#117603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:1730, owner: QuestActivityButtonInner.E, offset: 0x024ba9f1, size: 25 bytes, params: 1, frame: 10
|
|
const object2 = {};
|
|
object2.shadowOpacity = env0_6.get();
|
|
return object2;
|
|
}
|
|
|
|
function _fun117604() { // fn#117604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:1849, offset: 0x024baa0a, size: 87 bytes, params: 1, frame: 13
|
|
const object2 = {};
|
|
copyDataProperties(object2, styles.confetti, undefined);
|
|
object2['width'] = env1_11;
|
|
object2['height'] = env1_11;
|
|
object2['transform'] = [{scale: 1.6}];
|
|
return object2;
|
|
}
|
|
|
|
function QuestActivityButtonInnerI() { // fn#117605, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:1958, owner: QuestActivityButtonInner.I, offset: 0x024baa61, size: 37 bytes, params: 1, frame: 11
|
|
const binding = env0_2;
|
|
const binding2 = env0_5;
|
|
const get = binding2.get;
|
|
return {strokeDashoffset: binding - binding * Reflect.apply(get, binding2, [])};
|
|
}
|
|
|
|
function _fun117606() { // fn#117606, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:2112, offset: 0x024baa86, size: 89 bytes, params: 1, frame: 17
|
|
const binding = env0_5;
|
|
const set = binding.set;
|
|
const timingModule = require(4504) /* metro dependency 4504: timing */;
|
|
Reflect.apply(set, binding, [timingModule.withTiming(env0_3, {duration: useReducedMotion ? 0 : 500})]);
|
|
return _fun117607;
|
|
}
|
|
|
|
function _fun117608() { // fn#117608, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:2223, offset: 0x024bab0c, size: 154 bytes, params: 1, frame: 16
|
|
var binding;
|
|
var set;
|
|
var value2;
|
|
var moduleValue;
|
|
var current;
|
|
if (useReducedMotion) {
|
|
env0_6.set(0);
|
|
current = env0_7.current;
|
|
if (current != null) {
|
|
current.reset();
|
|
}
|
|
} else if (env0_4) {
|
|
binding = env0_6;
|
|
set = binding.set;
|
|
value2 = environment.__proto__;
|
|
moduleValue = require(4504) /* metro dependency 4504: timing */;
|
|
Reflect.apply(set, binding, [moduleValue.withTiming(1, {duration: 500})]);
|
|
current = env0_7.current;
|
|
if (current != null) {
|
|
current.play();
|
|
}
|
|
} else {
|
|
env0_6.set(0);
|
|
current = env0_7.current;
|
|
if (current != null) {
|
|
current.reset();
|
|
}
|
|
}
|
|
}
|
|
|
|
function _fun117612() { // fn#117612, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:3383, offset: 0x024bacd5, size: 73 bytes, params: 1, frame: 15
|
|
var environment;
|
|
let value = environment.__proto__;
|
|
const getEligibleQuestsForApplicationId = (require(9524) /* metro dependency 9524: QuestMatchingUtils */).getEligibleQuestsForApplicationId;
|
|
value = Reflect.apply(getEligibleQuestsForApplicationId, value, [quests, applicationId, true]);
|
|
return value.find(function(a0) {
|
|
return a0.config.features.includes(QuestVariants.MOBILE_ACTIVITY_QUEST);
|
|
});
|
|
}
|
|
|
|
function _fun117614() { // fn#117614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:3544, offset: 0x024bad46, size: 47 bytes, params: 1, frame: 13
|
|
return UnenrolledActivityQuestStore.isDismissed(env0_3?.id);
|
|
}
|
|
|
|
function _fun117615() { // fn#117615, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:3605, offset: 0x024bad75, size: 158 bytes, params: 1, frame: 18
|
|
var value5;
|
|
var defaultImport;
|
|
let r0 = env0_3 == null || env0_3.userStatus?.enrolledAt != null;
|
|
r0 = !r0 ? autoEnroll : r0;
|
|
r0 = !r0 ? env0_4 : r0;
|
|
if (!r0) {
|
|
value5 = environment.__proto__;
|
|
defaultImport = importDefault(dependencyMap[12]);
|
|
defaultImport.pushLazy(require(dependencyMap[14])(dependencyMap[13], dependencyMap.paths), {questId: env0_3.id},
|
|
env1_16);
|
|
}
|
|
}
|
|
|
|
function _fun117607() { // fn#117607, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15581:2166, offset: 0x024baadf, size: 45 bytes, params: 1, frame: 12
|
|
const value = environment.__proto__.__proto__;
|
|
(require(4017) /* metro dependency 4017: ReanimatedRexport */).cancelAnimation(env1_5);
|
|
}
|
|
|