Changeset View
Changeset View
Standalone View
Standalone View
native/chat/settings/thread-settings-media-gallery.react.js
Show First 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | return { | ||||
}, | }, | ||||
}; | }; | ||||
}, [galleryItemWidth, styles.media, styles.mediaContainer]); | }, [galleryItemWidth, styles.media, styles.mediaContainer]); | ||||
const filteredMediaInfos = React.useMemo(() => { | const filteredMediaInfos = React.useMemo(() => { | ||||
if (activeTab === 'ALL') { | if (activeTab === 'ALL') { | ||||
return mediaInfos; | return mediaInfos; | ||||
} else if (activeTab === 'IMAGES') { | } else if (activeTab === 'IMAGES') { | ||||
return mediaInfos.filter(mediaInfo => mediaInfo.type === 'photo'); | return mediaInfos.filter( | ||||
mediaInfo => | |||||
mediaInfo.type === 'photo' || mediaInfo.type === 'encrypted_photo', | |||||
); | |||||
} else if (activeTab === 'VIDEOS') { | } else if (activeTab === 'VIDEOS') { | ||||
return mediaInfos.filter(mediaInfo => mediaInfo.type === 'video'); | return mediaInfos.filter( | ||||
mediaInfo => | |||||
mediaInfo.type === 'video' || mediaInfo.type === 'encrypted_video', | |||||
); | |||||
} | } | ||||
return mediaInfos; | return mediaInfos; | ||||
}, [activeTab, mediaInfos]); | }, [activeTab, mediaInfos]); | ||||
const renderItem = React.useCallback( | const renderItem = React.useCallback( | ||||
({ item, index }) => ( | ({ item, index }) => ( | ||||
<MediaGalleryItem | <MediaGalleryItem | ||||
item={item} | item={item} | ||||
▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | ref.current?.measure((x, y, width, height, pageX, pageY) => { | ||||
x: pageX, | x: pageX, | ||||
y: pageY, | y: pageY, | ||||
width, | width, | ||||
height, | height, | ||||
}; | }; | ||||
navigation.navigate<'VideoPlaybackModal' | 'ImageModal'>({ | navigation.navigate<'VideoPlaybackModal' | 'ImageModal'>({ | ||||
name: | name: | ||||
mediaInfo.type === 'video' | mediaInfo.type === 'video' || mediaInfo.type === 'encrypted_video' | ||||
? VideoPlaybackModalRouteName | ? VideoPlaybackModalRouteName | ||||
: ImageModalRouteName, | : ImageModalRouteName, | ||||
key: `multimedia|${threadID}|${mediaInfo.id}`, | key: `multimedia|${threadID}|${mediaInfo.id}`, | ||||
params: { | params: { | ||||
presentedFrom: route.key, | presentedFrom: route.key, | ||||
mediaInfo, | mediaInfo, | ||||
item, | item, | ||||
initialCoordinates, | initialCoordinates, | ||||
Show All 38 Lines |