35 lines
1.7 KiB
TypeScript
35 lines
1.7 KiB
TypeScript
// Metro module 15622 (f15623).
|
|
import _slicedToArray from "../../../_bundle/_slicedToArray";
|
|
import AdContentSeenStore from "../AdContentSeenStore";
|
|
import QuestStore from "../QuestStore";
|
|
import { QuestsExperimentLocations } from "../QuestConstants";
|
|
import Durations from "../../../utils/Durations";
|
|
import { MobileQuestHomeRedDotNotificationExperiment } from "../experiments/index";
|
|
import { useStateFromStoresArray, useStateFromStores } from "../../../_bundle/Module589";
|
|
import { isQuestExpired } from "../utils/QuestDataUtils";
|
|
import { AdCreativeType } from "../../../_bundle/Module6013";
|
|
import { useSelectedTimeRecurringDismissibleContent } from "../../dismissible_content/hooks/useSelectedDismissibleContent";
|
|
import { DismissibleContent } from "../../../_bundle/Module1358";
|
|
const DAY = Durations.Millis.DAY;
|
|
export default function useHasNewAdContent() {
|
|
const enabled = MobileQuestHomeRedDotNotificationExperiment.useConfig({
|
|
location: QuestsExperimentLocations.YOU_TAB_PROFILE_HEADER
|
|
}).enabled;
|
|
const stateFromStoresArray = useStateFromStoresArray([QuestStore], () => enabled ? Array.from(QuestStore.quests.values()).filter((item) => !isQuestExpired(item)).map((item) => item.id) : [], [enabled]);
|
|
const r49 = _slicedToArray(useSelectedTimeRecurringDismissibleContent(useStateFromStores([AdContentSeenStore], () => {
|
|
for (const item of stateFromStoresArray) {
|
|
if (AdContentSeenStore.hasSeen(AdCreativeType.QUEST, item)) {
|
|
continue;
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}, [stateFromStoresArray]) ? enabled ? DismissibleContent.QUEST_HOME_NEW_QUEST_BADGE : null : null, {
|
|
cooldownDurationMs: DAY
|
|
}, void 0, true), 2);
|
|
return {
|
|
showBadge: r49[0] != null,
|
|
dismissBadge: r49[1]
|
|
};
|
|
};
|