205 lines
13 KiB
TypeScript
205 lines
13 KiB
TypeScript
// Metro module 14119 (f14120).
|
|
import { useContext, useMemo, useEffect, useCallback } from "react";
|
|
import QuestDockStore from "./QuestDockStore";
|
|
import { QuestDockMode } from "../../QuestConstants";
|
|
import { QUEST_DOCK_CLOSED_HEIGHT, QUEST_DOCK_COLLAPSED_HEIGHT, QUEST_DOCK_EXTERNAL_OFFSET_CLOSED, QUEST_DOCK_EXTERNAL_OFFSET_COLLAPSED_WITH_YOU_BAR, QUEST_DOCK_EXTERNAL_OFFSET_EXPANDED_WITH_YOU_BAR, QUEST_DOCK_VERTICAL_EDGE_GUTTER_EXPANDED } from "./QuestDockConstants";
|
|
import { QuestDockGestureContext } from "./QuestDockGestureContext";
|
|
import { QuestDockExternalCoordinationContext } from "./QuestDockExternalCoordinationContext";
|
|
import useSafeAreaInsetsSharedValue_native from "../../../safe_area/useSafeAreaInsetsSharedValue.native";
|
|
import { useYouBarHorizontalMargin } from "../../../main_tabs_v2/native/you_bar/hooks/useYouBarMargins";
|
|
import { useYouBarTotalHeight } from "../../../main_tabs_v2/native/you_bar/hooks/useYouBarTotalHeight";
|
|
import * as _ReanimatedRexport from "../../../reanimated/ReanimatedRexport";
|
|
import { useAnimatedReaction } from "../../../reanimated/ReanimatedRexport";
|
|
import * as _cheapWorkletShallowEqual from "../../../reanimated/native/cheapWorkletShallowEqual";
|
|
import * as _QuestDockUtils from "./QuestDockUtils";
|
|
import { isSoftDismissed } from "./QuestDockUtils";
|
|
import { useStateFromStoresArray } from "../../../../_bundle/Module589";
|
|
import Durations from "../../../../utils/Durations";
|
|
import { useTrackQuestContentClickedWithImpression } from "../../lib/analytics/AnalyticsHooks";
|
|
import { useQuestImpressionId } from "../../lib/analytics/ContentImpressionTrackerHooks";
|
|
import { shouldMigrateToAdAnalyticsInterface, AdAnalyticsInterfaceExperimentStep } from "../../experiments/AdAnalyticsInterfaceExperiment";
|
|
import { captureAdUserAction } from "../../../ads/analytics/captureAdUserAction";
|
|
import { AdUserActionType } from "../../../ads/analytics/captureAdUserActionTypes";
|
|
import { AdCreativeType } from "../../../../_bundle/Module6013";
|
|
import { QuestContentCTA } from "../../lib/analytics/AnalyticsTypes";
|
|
import { QuestContent } from "../../QuestTypes";
|
|
import ActionSheetActionCreators from "../../../action_sheet/native/ActionSheetActionCreators";
|
|
const __initData = {
|
|
code: "function QuestDockHooksTsx1(){const{restingQuestDockMode,minExpandedContentHeight,windowDimensions,safeArea}=this.__closure;return{restingQuestDockMode:restingQuestDockMode.get(),minExpandedContentHeight:minExpandedContentHeight.get(),windowWidth:windowDimensions.get().width,windowHeight:windowDimensions.get().height,safeArea:safeArea.get()};}"
|
|
};
|
|
const __initData2 = {
|
|
code: "function QuestDockHooksTsx2(props,previous){const{cheapWorkletShallowEqual,QuestDockMode,runOnJS,setRestingQuestDockMode,questDockWrapperSpecs,getQuestDockCollapsedWidth,youBarHorizontalMargin,QUEST_DOCK_COLLAPSED_HEIGHT,activeQuestDockMode,getQuestDockClosedWidth,QUEST_DOCK_CLOSED_HEIGHT,getQuestDockExpandedHeightLimits,youBarHeight,QUEST_DOCK_VERTICAL_EDGE_GUTTER_EXPANDED,getQuestDockExpandedWidth}=this.__closure;var _previous$restingQues;if(cheapWorkletShallowEqual(props,previous!==null&&previous!==void 0?previous:undefined))return;const{restingQuestDockMode:restingQuestDockMode,minExpandedContentHeight:minExpandedContentHeight,windowWidth:windowWidth,windowHeight:windowHeight,safeArea:safeArea}=props;switch(restingQuestDockMode){case QuestDockMode.RESET_TO_PREVIOUS:runOnJS(setRestingQuestDockMode)((_previous$restingQues=previous===null||previous===void 0?void 0:previous.restingQuestDockMode)!==null&&_previous$restingQues!==void 0?_previous$restingQues:QuestDockMode.COLLAPSED);return;case QuestDockMode.COLLAPSED:questDockWrapperSpecs.set({...questDockWrapperSpecs.get(),x:0,y:0,width:getQuestDockCollapsedWidth(windowWidth,youBarHorizontalMargin,youBarHorizontalMargin),height:QUEST_DOCK_COLLAPSED_HEIGHT});activeQuestDockMode.set(QuestDockMode.COLLAPSED);break;case QuestDockMode.CLOSED:case QuestDockMode.SOFT_DISMISSED:questDockWrapperSpecs.set({...questDockWrapperSpecs.get(),x:0,y:0,width:getQuestDockClosedWidth(windowWidth,youBarHorizontalMargin,youBarHorizontalMargin),height:QUEST_DOCK_CLOSED_HEIGHT});activeQuestDockMode.set(restingQuestDockMode);break;case QuestDockMode.EXPANDED:const minContentHeight=minExpandedContentHeight;const{minHeight:minHeight,maxHeight:maxHeight}=getQuestDockExpandedHeightLimits(windowHeight,safeArea.top,minContentHeight);const heightMidpoint=(maxHeight+minHeight)/2;let height;if(questDockWrapperSpecs.get().height<=QUEST_DOCK_COLLAPSED_HEIGHT){height=maxHeight;}else if(previous!=null&&questDockWrapperSpecs.get().height===getQuestDockExpandedHeightLimits(previous.windowHeight,previous.safeArea.top,minContentHeight).maxHeight){height=maxHeight;}else if(questDockWrapperSpecs.get().height>=heightMidpoint){height=maxHeight;}else{height=maxHeight;}questDockWrapperSpecs.set({...questDockWrapperSpecs.get(),x:0,y:youBarHeight>0?youBarHeight:QUEST_DOCK_VERTICAL_EDGE_GUTTER_EXPANDED,width:getQuestDockExpandedWidth(windowWidth,safeArea.left,safeArea.right),height:height});activeQuestDockMode.set(QuestDockMode.EXPANDED);break;}}"
|
|
};
|
|
export function useQuestDockModeAnimatedReaction() {
|
|
const context = useContext(QuestDockGestureContext);
|
|
const { questDockWrapperSpecs, windowDimensions, activeQuestDockMode, minExpandedContentHeight } = context;
|
|
const context2 = useContext(QuestDockExternalCoordinationContext);
|
|
const { restingQuestDockMode, setRestingQuestDockMode } = context2;
|
|
const safeAreaInsetsSharedValue_native = useSafeAreaInsetsSharedValue_native();
|
|
let c20926_6 = safeAreaInsetsSharedValue_native;
|
|
const youBarHorizontalMargin = useYouBarHorizontalMargin();
|
|
const youBarTotalHeight = useYouBarTotalHeight();
|
|
const r39 = () => ({
|
|
restingQuestDockMode: restingQuestDockMode.get(),
|
|
minExpandedContentHeight: minExpandedContentHeight.get(),
|
|
windowWidth: windowDimensions.get().width,
|
|
windowHeight: windowDimensions.get().height,
|
|
safeArea: c20926_6.get()
|
|
});
|
|
r39.__closure = {
|
|
restingQuestDockMode,
|
|
minExpandedContentHeight,
|
|
windowDimensions,
|
|
safeArea: safeAreaInsetsSharedValue_native
|
|
};
|
|
r39.__workletHash = 9502251090521;
|
|
r39.__initData = __initData;
|
|
const t = function t(a0, a1) {
|
|
const r26 = a1 == null ? void 0 : a1;
|
|
L24: {
|
|
if (!_cheapWorkletShallowEqual.cheapWorkletShallowEqual(a0, r26)) {
|
|
const { restingQuestDockMode: restingQuestDockMode2, minExpandedContentHeight: minExpandedContentHeight2, windowWidth, windowHeight, safeArea } = a0;
|
|
if (QuestDockMode.RESET_TO_PREVIOUS === restingQuestDockMode2) {
|
|
const r114 = _ReanimatedRexport.runOnJS(setRestingQuestDockMode);
|
|
let r116 = a1?.restingQuestDockMode;
|
|
if (r116 == null) {
|
|
r116 = QuestDockMode.COLLAPSED;
|
|
}
|
|
r114(r116);
|
|
return void 0;
|
|
}
|
|
if (QuestDockMode.COLLAPSED === restingQuestDockMode2) {
|
|
questDockWrapperSpecs.set({
|
|
...questDockWrapperSpecs.get(),
|
|
x: 0,
|
|
y: 0,
|
|
width: _QuestDockUtils.getQuestDockCollapsedWidth(windowWidth, youBarHorizontalMargin, youBarHorizontalMargin),
|
|
height: QUEST_DOCK_COLLAPSED_HEIGHT
|
|
});
|
|
activeQuestDockMode.set(QuestDockMode.COLLAPSED);
|
|
} else {
|
|
if (QuestDockMode.CLOSED !== restingQuestDockMode2 && QuestDockMode.SOFT_DISMISSED !== restingQuestDockMode2) {
|
|
if (QuestDockMode.EXPANDED !== restingQuestDockMode2) {
|
|
break L24;
|
|
}
|
|
const questDockExpandedHeightLimits = _QuestDockUtils.getQuestDockExpandedHeightLimits(windowHeight, safeArea.top, minExpandedContentHeight2);
|
|
questDockExpandedHeightLimits.minHeight;
|
|
const maxHeight = questDockExpandedHeightLimits.maxHeight;
|
|
if (!(questDockWrapperSpecs.get().height <= QUEST_DOCK_COLLAPSED_HEIGHT || a1 != null && questDockWrapperSpecs.get().height === _QuestDockUtils.getQuestDockExpandedHeightLimits(a1.windowHeight, a1.safeArea.top, minExpandedContentHeight2).maxHeight)) {
|
|
questDockWrapperSpecs.get().height;
|
|
}
|
|
const r58 = {
|
|
...questDockWrapperSpecs.get(),
|
|
x: 0
|
|
};
|
|
let r61 = youBarTotalHeight;
|
|
if (!(youBarTotalHeight > 0)) {
|
|
r61 = QUEST_DOCK_VERTICAL_EDGE_GUTTER_EXPANDED;
|
|
}
|
|
r58.y = r61;
|
|
r58.width = _QuestDockUtils.getQuestDockExpandedWidth(windowWidth, safeArea.left, safeArea.right);
|
|
r58.height = maxHeight;
|
|
questDockWrapperSpecs.set(r58);
|
|
activeQuestDockMode.set(QuestDockMode.EXPANDED);
|
|
break L24;
|
|
}
|
|
questDockWrapperSpecs.set({
|
|
...questDockWrapperSpecs.get(),
|
|
x: 0,
|
|
y: 0,
|
|
width: _QuestDockUtils.getQuestDockClosedWidth(windowWidth, youBarHorizontalMargin, youBarHorizontalMargin),
|
|
height: QUEST_DOCK_CLOSED_HEIGHT
|
|
});
|
|
activeQuestDockMode.set(restingQuestDockMode2);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
t.__closure = {
|
|
cheapWorkletShallowEqual: _cheapWorkletShallowEqual.cheapWorkletShallowEqual,
|
|
QuestDockMode,
|
|
runOnJS: _ReanimatedRexport.runOnJS,
|
|
setRestingQuestDockMode,
|
|
questDockWrapperSpecs,
|
|
getQuestDockCollapsedWidth: _QuestDockUtils.getQuestDockCollapsedWidth,
|
|
youBarHorizontalMargin,
|
|
QUEST_DOCK_COLLAPSED_HEIGHT,
|
|
activeQuestDockMode,
|
|
getQuestDockClosedWidth: _QuestDockUtils.getQuestDockClosedWidth,
|
|
QUEST_DOCK_CLOSED_HEIGHT,
|
|
getQuestDockExpandedHeightLimits: _QuestDockUtils.getQuestDockExpandedHeightLimits,
|
|
youBarHeight: youBarTotalHeight,
|
|
QUEST_DOCK_VERTICAL_EDGE_GUTTER_EXPANDED,
|
|
getQuestDockExpandedWidth: _QuestDockUtils.getQuestDockExpandedWidth
|
|
};
|
|
t.__workletHash = 2510234714195;
|
|
t.__initData = __initData2;
|
|
useAnimatedReaction(r39, t);
|
|
}
|
|
export function useQuestDockExternalOffset() {
|
|
let c20927_0, c20927_1;
|
|
const [r15, r16] = useStateFromStoresArray([QuestDockStore], () => [QuestDockStore.prevRestingQuestDockMode, QuestDockStore.isEligibleToBeVisible]);
|
|
c20927_0 = r15;
|
|
c20927_1 = r16;
|
|
return useMemo(() => {
|
|
if (c20927_1) {
|
|
if (QuestDockMode.COLLAPSED === c20927_0) {
|
|
return QUEST_DOCK_EXTERNAL_OFFSET_COLLAPSED_WITH_YOU_BAR;
|
|
}
|
|
if (QuestDockMode.EXPANDED === c20927_0) {
|
|
return QUEST_DOCK_EXTERNAL_OFFSET_EXPANDED_WITH_YOU_BAR;
|
|
}
|
|
if (QuestDockMode.CLOSED !== c20927_0 && QuestDockMode.SOFT_DISMISSED !== c20927_0) {
|
|
return 0;
|
|
}
|
|
return QUEST_DOCK_EXTERNAL_OFFSET_CLOSED;
|
|
}
|
|
return 0;
|
|
}, [r16, r15]);
|
|
}
|
|
export function useQuestDockDismissalReset() {
|
|
const setRestingQuestDockMode2 = useContext(QuestDockExternalCoordinationContext).setRestingQuestDockMode;
|
|
const activeQuestDockMode2 = useContext(QuestDockGestureContext).activeQuestDockMode;
|
|
useEffect(() => {
|
|
if (!(activeQuestDockMode2.get() !== QuestDockMode.SOFT_DISMISSED || isSoftDismissed(QuestDockStore.questDockSoftDismissedAt))) {
|
|
setRestingQuestDockMode2(QuestDockMode.COLLAPSED);
|
|
}
|
|
let c27641_0 = setInterval(function maybeResetSoftDismissal() {
|
|
if (!(activeQuestDockMode2.get() !== QuestDockMode.SOFT_DISMISSED || isSoftDismissed(QuestDockStore.questDockSoftDismissedAt))) {
|
|
setRestingQuestDockMode2(QuestDockMode.COLLAPSED);
|
|
}
|
|
}, 5 * Durations.Millis.MINUTE);
|
|
return () => {
|
|
clearInterval(c27641_0);
|
|
};
|
|
}, [setRestingQuestDockMode2, activeQuestDockMode2]);
|
|
}
|
|
export function useActionSheetPressHandler(a0) {
|
|
const quest = a0;
|
|
const trackQuestContentClickedWithImpression = useTrackQuestContentClickedWithImpression();
|
|
const questImpressionId = useQuestImpressionId();
|
|
return useCallback(() => {
|
|
if (shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_dock_action_sheet")) {
|
|
captureAdUserAction({
|
|
type: AdUserActionType.CLICK_INTERNAL,
|
|
adCreativeType: AdCreativeType.QUEST,
|
|
adCreativeId: quest.id,
|
|
questContentCTA: QuestContentCTA.OPEN_CONTEXT_MENU,
|
|
surfaceId: QuestContent.QUEST_BAR_MOBILE,
|
|
sourceQuestContent: QuestContent.QUEST_BAR_MOBILE,
|
|
impressionId: questImpressionId
|
|
});
|
|
} else {
|
|
trackQuestContentClickedWithImpression({
|
|
questId: quest.id,
|
|
questContent: QuestContent.QUEST_BAR_MOBILE,
|
|
questContentCTA: QuestContentCTA.OPEN_CONTEXT_MENU,
|
|
sourceQuestContent: QuestContent.QUEST_BAR_MOBILE
|
|
});
|
|
}
|
|
ActionSheetActionCreators.openLazy(import("./QuestDockContextMenuActionSheet"), "QuestDockContextMenuActionSheet", {
|
|
quest
|
|
});
|
|
}, [a0, trackQuestContentClickedWithImpression, questImpressionId]);
|
|
}
|