// Metro module 12302 (f12303). import _slicedToArray from "../../../../_bundle/_slicedToArray"; import * as Module19 from "react"; import { useCallback, useMemo } from "react"; import { Pressable, StyleSheet } from "react-native"; import * as _Constants from "../Constants"; import { THUMBNAIL_WIDTH_MARGIN } from "../Constants"; import { useMediaItemSpoilerState } from "../useMediaItemSpoilerState"; import { useToken } from "../../../../design/tokens/native/useToken"; import Module712 from "../../../../_bundle/Module712"; import ReanimatedRexport, { useAnimatedProps } from "../../../reanimated/ReanimatedRexport"; import VisualEffectView from "../../../visual_effect_view/native/VisualEffectView"; import { isAndroid } from "../../../../utils/PlatformUtils"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import FastImage from "../../../../components_native/common/FastImage"; import { useSelectedMediaSource } from "../MediaSourceUtil"; import REAWorkaroundView from "../../../reanimated/native/REAWorkaroundView"; import { AnimatedFastList } from "../../../../lib/native/FastList"; let useStyles, Component, __initData; const ObscuredView = function ObscuredView(props) { let r28; L6: { const source = props.source; const [r20, r13] = useMediaItemSpoilerState(props.index); const token = useToken(Module712.colors.SPOILER_HIDDEN_BACKGROUND); r28 = null; if (r20) { if (!source.spoiler) { const obscure = source.obscure; r28 = null; if (!obscure) { break L6; } } r28 = ; } } return r28; }; const { THUMBNAIL_MARGIN, THUMBNAIL_HEIGHT } = _Constants; useStyles = createStyles({ containerPortrait: { height: 60 }, thumbnailButtonPortrait: { overflow: "hidden", marginHorizontal: THUMBNAIL_MARGIN, borderRadius: 2 }, thumbnailImagePortrait: { height: THUMBNAIL_HEIGHT, width: "100%" } }); Component = Module19.memo(function({ source, numSources, selectedIndex: selectedIndex2, index, onSelect, useThumbnailStyle: useThumbnailStyle2 }) { const styles = useStyles(); const source2 = Array.isArray(source) ? source[0] : source; const r25 = useThumbnailStyle2(source2, index); const props = { needsOffscreenAlphaCompositing: true, renderToHardwareTextureAndroid: true, accessibilityRole: "imagebutton", accessibilityLabel: `Thumbnail preview, ${index + 1} of ${numSources}`, accessibilityHint: "Double tap to focus", accessibilityState: { selected: selectedIndex2 === index }, onPress: useCallback(() => onSelect(index), [onSelect, index]), children: null }; let thumbnail = source2.thumbnail; if (thumbnail == null) { thumbnail = source2; } props.children = [, ]; return ; }); __initData = { code: "function MediaViewerThumbnailsTsx1(){const{scrollEnabled}=this.__closure;return{scrollEnabled:scrollEnabled.get()};}" }; export default function MediaViewerThumbnails(props) { let selectedIndex; const syncer = props.syncer; selectedIndex = void 0; const styles = useStyles(); const { sources, useThumbnailsProps, index: index2, onEndReached, onEndReachedThreshold, variableWidthThumbnailsEnabled, thumbnailScrollPositions } = syncer; const r30 = useThumbnailsProps(THUMBNAIL_WIDTH_MARGIN, sources.length - 1); const { ref, headerBufferSize, headerBufferStyle, footerBufferSize, footerBufferStyle, scrollEnabled, onScroll, onSelect: onSelect2, useThumbnailStyle, screenWidth, itemSize } = r30; const memo = useMemo(() => { const r5 = []; const length = thumbnailScrollPositions.length; let r0 = 0; if (0 < length) { do { const r1 = r0; if (variableWidthThumbnailsEnabled) { r5.push(thumbnailScrollPositions[r1].scrollStart); } else { r5.push(r1 * THUMBNAIL_WIDTH_MARGIN); } r0 = r1 + 1; } while (r0 < thumbnailScrollPositions.length); } return r5; }, [thumbnailScrollPositions, variableWidthThumbnailsEnabled]); selectedIndex = _slicedToArray(useSelectedMediaSource(syncer), 1)[0]; const callback = useCallback((a0, a1) => , [sources, selectedIndex, onSelect2, useThumbnailStyle]); const memo2 = useMemo(() => [sources.length], [sources.length]); const n = () => ({ scrollEnabled: scrollEnabled.get() }); n.__closure = { scrollEnabled }; n.__workletHash = 13439565264141; n.__initData = __initData; const animatedProps = useAnimatedProps(n); const callback2 = useCallback(() => , [headerBufferStyle]); const callback3 = useCallback(() => , [footerBufferStyle]); return index2.get(), [index2])} itemSize={itemSize} renderItem={callback} onScroll={onScroll} horizontal headerSize={headerBufferSize} footerSize={footerBufferSize} renderHeader={callback2} renderFooter={callback3} onEndReached={onEndReached} endReachedThreshold={onEndReachedThreshold} chunkBase={screenWidth} snapToOffsets={memo} animatedProps={animatedProps} />; };