import _ from 'lodash';
import React, {Component} from 'react';
import {
StyleSheet,
View,
Button,
Image,
Dimensions
} from 'react-native';
import {CameraKitGallery, CameraKitGalleryView} from '../../src';
const {width, height} = Dimensions.get('window');
const size = Math.floor((Dimensions.get('window').width) / 3);
export default class GalleryScreen extends Component {
constructor(props) {
super(props);
this.state = {
album: this.props.albumName,
presentedImage: undefined,
selectedImages: [],
showPresentedImage: false
}
}
async onTapImage(event) {
const isSelected = event.nativeEvent.isSelected;
const image = await CameraKitGallery.getImageForTapEvent(event.nativeEvent);
if (!isSelected || _.get(image, 'selectedImageId') === _.get(this.state, 'presentedImage.selectedImageId')) {
this.setState({presentedImage: undefined, showPresentedImage: false});
} else if (image) {
this.setState({presentedImage: image, showPresentedImage: true});
}
}
renderPresentedImage() {
return (
)
}
render() {
return (
this.onTapImage(event)}
remoteDownloadIndicatorType={'progress-pie'} //spinner / progress-bar / progress-pie
remoteDownloadIndicatorColor={'white'}
/>
{this.state.showPresentedImage && this.renderPresentedImage()}
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
}
});