/* Metro module 14398; source: modules/lurker_mode/native/LurkerPreviewCooldownBadge.tsx; dependencies: [57, 31, 27, 33, 4017, 7744, 4501, 697, 1305, 6929, 3860, 4504, 2] */ function _fun109035(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#109035, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14595:6, offset: 0x0233ad8d, size: 596 bytes, params: 8, frame: 25 var object3; const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(57) /* metro dependency 57 */; let value = importAll(31) /* metro dependency 31 */; const env0_5 = (require(27) /* metro dependency 27 */).View; const env0_6 = (require(33) /* metro dependency 33 */).jsx; const Math = global.Math; const PI = Math.PI; const env0_7 = 2 * PI * 6; object3 = {duration: 1000}; const Easing = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing; object3.easing = Easing.linear; const reanimatedRexport = importDefault(4017) /* metro dependency 4017: ReanimatedRexport */; const createAnimatedComponent = reanimatedRexport.createAnimatedComponent; const Circle = (require(7744) /* metro dependency 7744 */).Circle; const env0_9 = Reflect.apply(createAnimatedComponent, reanimatedRexport, [Circle]); const createStylesModule = require(4501) /* metro dependency 4501: createStyles */; const createStyles = createStylesModule.createStyles; object3 = {}; const object4 = {'borderRadius': 20, 'backgroundColor': null, 'position': 'absolute'}; const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST; object4.backgroundColor = BACKGROUND_BASE_LOWEST; const BADGE_PADDING = (require(1305) /* metro dependency 1305: native */).BADGE_PADDING; object4.bottom = -BADGE_PADDING; object4.right = -BADGE_PADDING; object4.padding = BADGE_PADDING; object4.height = 22; object4.width = 22; object4.alignItems = 'center'; object4.justifyContent = 'center'; object3.outerRing = object4; const BACKGROUND_MOD_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_STRONG; object3.innerFill = {'borderRadius': 20, 'backgroundColor': null, 'height': 16, 'width': 16, 'alignItems': 'center', 'justifyContent': 'center', backgroundColor: BACKGROUND_MOD_STRONG}; object3.progressRing = {position: 'absolute', transform: [{rotate: '90deg'}, {scaleX: -1}]}; const env0_10 = Reflect.apply(createStyles, createStylesModule, [object3]); object3 = {code: 'function LurkerPreviewCooldownBadgeTsx1(){const{PROGRESS_CIRCUMFERENCE,animatedProgress}=this.__closure;return{strokeDashoffset:PROGRESS_CIRCUMFERENCE*(1-animatedProgress.get())};}'}; value = value.memo(LurkerPreviewCooldownBadge); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/lurker_mode/native/LurkerPreviewCooldownBadge.tsx'); exports.default = value; exports.useHasExpired = useHasExpired; } function LurkerPreviewCooldownBadge({expiresAt, totalDurationMs = require(dependencyMap[9]).LURKER_PREVIEW_PERSIST_MS, style}) { // fn#109036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14595:969, offset: 0x0233afe1, size: 485 bytes, params: 2, frame: 25 const styles = useStyles(); const useTokenModule = require(3860) /* metro dependency 3860: useToken */; const useToken = useTokenModule.useToken; const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND; const value2 = Reflect.apply(useToken, useTokenModule, [BACKGROUND_BRAND]); let binding = env0_4; const value3 = binding.useCallback(_fun109037, [expiresAt, totalDurationMs]); const value4 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(value3()); binding.useEffect(_fun109038, [value4, value3]); const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */; const useAnimatedProps = reanimatedRexportModule.useAnimatedProps; const closure = LurkerPreviewCooldownBadgeP; binding = env0_7; closure.__closure = {PROGRESS_CIRCUMFERENCE: binding, animatedProgress: value4}; closure.__workletHash = 7162520447613; closure.__initData = env0_11; return ( {((Component) => {((Component) => )(env0_9)})(importDefault(7744) /* metro dependency 7744 */)} ); } function useHasExpired(a0) { // fn#109042, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14595:2111, offset: 0x0233b2f4, size: 99 bytes, params: 2, frame: 17 const env0_0 = a0; const binding = env0_4; const value = env0_3(binding.useState(null), 2); const property = value[0]; const env0_1 = value[1]; binding.useEffect(_fun109043, [a0]); return a0 != null && property === a0; } function _fun109037() { // fn#109037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14595:1160, offset: 0x0233b1c6, size: 71 bytes, params: 1, frame: 11 const expiresAtBinding = expiresAt; const Date = global.Date; const value = (expiresAtBinding - Date.now()) / env0_1; const value3 = 0; return 0.9 * (value < value3 ? value3 : value > 1 ? 1 : value); } function _fun109038() { // fn#109038, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14595:1278, offset: 0x0233b20d, size: 114 bytes, params: 1, frame: 19 const binding = env0_3; const set = binding.set; const timingModule = require(4504) /* metro dependency 4504: timing */; Reflect.apply(set, binding, [timingModule.withTiming(env0_2(), env1_8, 'animate-always')]); const env0_0 = global.setInterval(_fun109039, 1000); return _fun109040; } function LurkerPreviewCooldownBadgeP() { // fn#109041, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14595:1491, owner: LurkerPreviewCooldownBadge.p, offset: 0x0233b2c9, size: 43 bytes, params: 1, frame: 11 const object2 = {}; const value = environment.__proto__; object2.strokeDashoffset = env1_7 * (1 - env0_3.get()); return object2; } function _fun109043() { // fn#109043, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14595:2203, offset: 0x0233b357, size: 97 bytes, params: 1, frame: 16 var Math; var max; var binding; var Date; var value; if (env0_0 != null) { Math = global.Math; max = Math.max; binding = env0_0; Date = global.Date; value = binding - Date.now(); value = Reflect.apply(max, Math, [0, value]); var env0_0 = global.setTimeout(_fun109044, value); return _fun109045; } } function _fun109039() { // fn#109039, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14595:1353, offset: 0x0233b27f, size: 74 bytes, params: 1, frame: 18 const value = environment.__proto__; const binding = env1_3; const set = binding.set; const timingModule = require(4504) /* metro dependency 4504: timing */; Reflect.apply(set, binding, [timingModule.withTiming(env1_2(), env2_8, 'animate-always')]); }