// Metro module 9650 (f9651). import * as Module19 from "react"; import { useRef, useState, useMemo, useEffect, useCallback } from "react"; import { View } from "react-native"; import StickersStore from "../StickersStore"; import { useStickerPickerStore } from "./StickerPickerStore"; import { STICKER_SCROLL_LOAD_DELAY_AFTER_HEIGHT_CHANGE_MS, STICKER_SCROLL_LOAD_DELAY_MS, STICKER_SIZE } from "./StickerPickerConstants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { Icon } from "../../../design/void/native"; import Module9651 from "../../../_bundle/Module9651"; import { Text } from "../../../design/components/Text/native/Text"; import { intl, t } from "../../../intl/index.native"; import { StickerFormat } from "../StickersTypes"; import { useIsPortalKeyboardInModal } from "../../keyboard/native/PortalKeyboardModalContext"; import useExpressionPickerListWidth_native from "../../expression_picker/native/useExpressionPickerListWidth.native"; import { useStateFromStores } from "../../../_bundle/Module589"; import useStickerPickerListData, { StickerPickerSectionType } from "./useStickerPickerListData"; import StickerPickerListRow from "./StickerPickerListRow"; import Module12 from "../../../_bundle/Module12"; import { FastestListPropsPlaceholderType } from "../../fastest_list/props/FastestListPropsPlaceholder"; import StickerPickerListEmptyState from "./StickerPickerListEmptyState"; import FastestList_android from "../../fastest_list/FastestList.android"; import { getCustomKeyboardHeight } from "../../keyboard/native/useCustomKeyboardHeight"; let Component, Component2; const useStyles = createStyles({ listPlaceholder: { color: Module712.colors.BACKGROUND_MOD_MUTED }, section: { justifyContent: "center", overflow: "hidden", backgroundColor: Module712.colors.MOBILE_ACTIONSHEET_BACKGROUND }, sectionSticker: { backgroundColor: Module712.colors.MOBILE_EXPRESSION_PICKER_BACKGROUND_DEFAULT }, nsfwContainer: { flexDirection: "row", alignItems: "center", justifyContent: "center", borderRadius: Module712.radii.sm, marginLeft: 12, marginRight: 12, backgroundColor: Module712.colors.BACKGROUND_MOD_NORMAL }, nsfwText: { marginLeft: 4, textAlign: "center" } }); let Component3 = Module19.memo(function({ height }) { const styles2 = useStyles(); return {intl.string(t.uy25Qz)} ; }); Component = Module19.memo(function({ height, label, sectionStyle }) { return {label} ; }); Component2 = Module19.memo(function(a0) { return ; }); const r75 = Module19.memo(function(a0) { let stickerPickerStore, memo, sectionHeights, sectionSize, sectionFooterSize, sectionLabels, rowsBySection, rowHeight, rowSize, packToScrollToIndex, setCategory; const { bottomSheetRef, bottomSheetIndex, setCategoryIndex, searchResults, onPressSticker, onLongPressStickerDetail, insetBottom = 0, insetTop = 0, channel, inPortalKeyboard = false } = a0; let c17373_6 = inPortalKeyboard; let stickerFormats = a0.stickerFormats; if (stickerFormats === void 0) { stickerFormats = [StickerFormat.PNG, StickerFormat.APNG, StickerFormat.LOTTIE, StickerFormat.GIF]; } stickerPickerStore = void 0; memo = void 0; sectionHeights = void 0; sectionSize = void 0; sectionFooterSize = void 0; sectionLabels = void 0; rowsBySection = void 0; rowHeight = void 0; rowSize = void 0; packToScrollToIndex = void 0; setCategory = void 0; const ref = useRef(null); const styles = useStyles(); const [state, setState] = useState(null); const isPortalKeyboardInModal = useIsPortalKeyboardInModal(); const containerWidth = useExpressionPickerListWidth_native(inPortalKeyboard); const stateFromStores = useStateFromStores([StickersStore], () => StickersStore.hasLoadedStickerPacks); stickerPickerStore = useStickerPickerStore((a0) => a0.setPackToScrollTo); memo = useMemo(() => { let c26499_0; const scrollToCancel2 = function scrollToCancel() { return clearTimeout(c26499_0.scrollTo); }; c26499_0 = { scrollTo: -1 }; return { scroll: function scroll({ index, delay, expand }) { const r10 = clearTimeout; r10(c26499_0.scrollTo); if (expand) { const current = bottomSheetRef.current; if (current != null) { current.expandActionSheet(); } } c26499_0.scrollTo = setTimeout(() => { const current = ref.current; if (current != null) { current.scrollToLocation({ section: index, item: 0, animated: true }); } stickerPickerStore(null); }, delay); setCategoryIndex(index); }, cancel: () => scrollToCancel2 }; }, [setCategoryIndex, stickerPickerStore, bottomSheetRef]); const stickerPickerListData = useStickerPickerListData({ channel, containerWidth, searchResults, stickerFormats }); const sections = stickerPickerListData.sections; sectionHeights = stickerPickerListData.sectionHeights; sectionSize = stickerPickerListData.sectionSize; sectionFooterSize = stickerPickerListData.sectionFooterSize; sectionLabels = stickerPickerListData.sectionLabels; rowsBySection = stickerPickerListData.rowsBySection; rowHeight = stickerPickerListData.rowHeight; rowSize = stickerPickerListData.rowSize; packToScrollToIndex = stickerPickerListData.packToScrollToIndex; useEffect(() => { const r3 = packToScrollToIndex != null && stateFromStores; L7: { if (r3) { if (c17373_6 && bottomSheetIndex.get() < 1) { memo.scroll({ index: packToScrollToIndex, delay: STICKER_SCROLL_LOAD_DELAY_AFTER_HEIGHT_CHANGE_MS, expand: true }); break L7; } memo.scroll({ index: packToScrollToIndex, delay: STICKER_SCROLL_LOAD_DELAY_MS }); } } return () => { memo.cancel(); }; }, [inPortalKeyboard, bottomSheetIndex, stateFromStores, packToScrollToIndex, memo]); const callback = useCallback((a0) => , [sectionLabels, sectionSize, styles.sectionSticker]); const callback2 = useCallback(() => , [sectionFooterSize]); const callback3 = useCallback((a0, a1) => { const r4 = rowsBySection[a0]; if (r4 == null) { return null; } const type = r4.type; if (StickerPickerSectionType.STICKERS === type) { return ; } if (StickerPickerSectionType.NSFW === type) { return ; } return null; }, [channel, containerWidth, state, onLongPressStickerDetail, onPressSticker, rowHeight, rowSize, rowsBySection]); const memo2 = useMemo(() => { let c26500_0; const setCategory2 = Module12.debounce((a0) => { let r16; const r6 = 0 < sectionHeights.length; let r4 = 0; if (r6) { const r13 = a0 >= sectionHeights[0]; let r1 = 0; let r0 = 0; r4 = 0; if (r13) { do { const r14 = r0 + 1; const r3 = r1 + 1; const length = sectionHeights.length; r4 = r14; if (!(r3 < length)) { break; } r16 = sectionHeights[r3]; r1 = r3; r0 = r14; r4 = r0; } while (a0 >= r16); } } setCategoryIndex(r4); }, 100); c26500_0 = setCategory2; return { onScroll: function onScroll(a0) { c26500_0(a0.nativeEvent.contentOffset.y); a0.nativeEvent.layoutMeasurement.height; a0.nativeEvent.contentOffset.y; a0.nativeEvent.contentSize.height; }, setCategory: setCategory2 }; }, [setCategoryIndex, sectionHeights]); const onScroll2 = memo2.onScroll; setCategory = memo2.setCategory; const memo3 = useMemo(() => ({ sectionHeader: { type: FastestListPropsPlaceholderType.SHAPE, colorHex: styles.listPlaceholder.color, shape: "rect", borderRadius: Module712.radii.md, paddingVertical: Module712.space.PX_4 }, sectionItem: { type: FastestListPropsPlaceholderType.SHAPE, colorHex: styles.listPlaceholder.color, shape: "circle", shapeCount: rowSize, width: STICKER_SIZE, height: STICKER_SIZE } }), [styles, rowSize]); useEffect(() => () => setCategory.cancel(), [setCategory]); useEffect(() => () => { memo.cancel(); }, [memo]); return searchResults?.length === 0 ? : ; }); export default r75;