// Metro module 10567 (f10568). import { useContext, useRef, useEffect, useCallback } from "react"; import { View } from "react-native"; import { AnalyticEvents } from "../../../Constants"; import { PremiumTypes, PremiumUpsellTypes } from "../../premium/PremiumConstants"; import { ResolutionTypes } from "../../../_bundle/Module4250"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { RevealContext } from "../../video_calls/native/components/RevealProvider"; import { useAnalyticsContext } from "../../../hooks/analytics"; import useAnalyticsLocations from "../../app_analytics/useAnalyticsLocations"; import ReanimatedRexport, { useAnimatedStyle } from "../../reanimated/ReanimatedRexport"; import * as _timing from "../../../design/animation/reanimated/timing/timing"; import * as _native from "../../../design/void/native"; import { LegacyText, LiveTag } from "../../../design/void/native"; import * as _StreamQualityUtils from "../../../utils/StreamQualityUtils"; import { useMaxQuality, getResolutionText, getFPSText } from "../../../utils/StreamQualityUtils"; import useStreamError from "../useStreamError"; import AnalyticsUtils from "../../../utils/AnalyticsUtils"; import openPremiumModal from "../../../components_native/premium/openPremiumModal"; import { PremiumFeatureCardOrder } from "../../user_settings/premium/native/PremiumFeaturesCards"; import PremiumUtils from "../../../utils/PremiumUtils"; import { PressableOpacity } from "../../../design/void/Pressables/native/Pressables"; import FastImage from "../../../components_native/common/FastImage"; import Module9377 from "../../../_bundle/Module9377"; const useStyles = createStyles({ liveIndicator: { flexDirection: "row", alignItems: "center", height: 18 }, liveTag: { borderBottomLeftRadius: Module712.radii.none, borderTopLeftRadius: Module712.radii.none, height: 18, textAlign: "center" }, qualityTag: { borderBottomLeftRadius: Module712.radii.sm, borderTopLeftRadius: Module712.radii.sm, backgroundColor: Module712.unsafe_rawColors.PRIMARY_800, opacity: 0.8, paddingLeft: 8, paddingRight: 4, flexDirection: "row", alignItems: "center", height: 18 }, qualityTagText: { color: "#fff", textAlign: "center", fontWeight: "700" }, reducedQualityTagText: { color: Module712.unsafe_rawColors.PRIMARY_300 }, nitroWheel: { width: 20, marginLeft: -4 } }); const __initData = { code: "function StreamQualityLiveIndicatorTsx1(){const{withTiming,reveal,STANDARD_EASING}=this.__closure;return{opacity:withTiming(reveal?1:0,{easing:STANDARD_EASING,duration:250})};}" }; export default function StreamQualityLiveIndicator(props) { let r59, r65, pointerEvents; let isPremiumFPS, isPremiumResolution, c18132_6; const { participant, style } = props; isPremiumFPS = void 0; isPremiumResolution = void 0; c18132_6 = void 0; const styles = useStyles(); const reveal = useContext(RevealContext).reveal; const location2 = useAnalyticsContext().location; const analyticsLocations = useAnalyticsLocations().analyticsLocations; const ref = useRef(false); const f = function f() { return { opacity: _timing.withTiming(reveal ? 1 : 0, { easing: _native.STANDARD_EASING, duration: 250 }) }; }; f.__closure = { withTiming: _timing.withTiming, reveal, STANDARD_EASING: _native.STANDARD_EASING }; f.__workletHash = 14676679064575; f.__initData = __initData; const animatedStyle = useAnimatedStyle(f); const maxQuality = useMaxQuality(participant); const r54 = useStreamError(participant) != null; try { const isPremiumFPS2 = _StreamQualityUtils.isPremiumFPS(maxQuality); r59 = isPremiumFPS2; isPremiumFPS = isPremiumFPS2; } catch ($e) { r59 = false; isPremiumFPS = false; } try { const isPremiumResolution2 = _StreamQualityUtils.isPremiumResolution(maxQuality); r65 = isPremiumResolution2; isPremiumResolution = isPremiumResolution2; } catch ($e) { r65 = false; isPremiumResolution = false; } let r67 = r59 || r65; c18132_6 = r67; useEffect(() => { const current = ref.current; if (current ? !current : c18132_6) { AnalyticsUtils.track(AnalyticEvents.PREMIUM_UPSELL_VIEWED, { type: PremiumUpsellTypes.STREAM_QUALITY_INDICATOR, has_premium_stream_fps: isPremiumFPS, has_premium_stream_resolution: isPremiumResolution, location_stack: analyticsLocations }); ref.current = true; } }, [analyticsLocations, r67, r59, r65]); const callback = useCallback(() => { openPremiumModal({ analyticsLocation: location2, analyticsLocations, premiumFeatureCardOrder: PremiumFeatureCardOrder.TIER_0_LEADING }); }, [location2, analyticsLocations]); const isPremium = PremiumUtils.isPremium(participant.user, PremiumTypes.TIER_1); const r83 = isPremium ? !isPremium : !PremiumUtils.canStreamQuality(PremiumUtils.StreamQuality.MID, participant.user); const r98 = PremiumUtils.isPremiumExactly(participant.user, PremiumTypes.TIER_1) && (maxQuality == null ? void 0 : maxQuality.maxResolution.type) === ResolutionTypes.SOURCE && !PremiumUtils.canStreamQuality(PremiumUtils.StreamQuality.HIGH); const r112 = maxQuality == null; let r113 = null; if (!r112) { L20: { pointerEvents = "none"; if (r67) { if (!r83) { pointerEvents = "none"; if (!r98) { break L20; } } pointerEvents = "auto"; } } if (r67) { r67 = ; } r113 = {r67} {`${getResolutionText(maxQuality.maxResolution)} ${getFPSText(maxQuality.maxFrameRate)}`} ; } return r113; };