import React from 'react'; import { View, ImageBackground, TouchableOpacity, Text, Image } from 'react-native'; // Common Styles import commonStyles from '../../Resources/CommonStyles'; // Redux import { connect } from 'react-redux'; import { initDirectories } from '../Store/Actions/directories'; import { initDocuments } from '../Store/Actions/documents'; import { initContact } from '../Store/Actions/contacts'; // Style import styles from '../../Resources/Styles/HomeStyle'; // Translations import i18n from "../../I18n"; // FileSytem import * as FileSystem from 'expo-file-system'; function mapStateToProps(state) { return { directories: state.directories, locale: state.locale.locale, currentUser: state.app.currentUser }; } const mapDispatchToProps = dispatch => { return { init: () => dispatch({ type: 'INIT' }), initDirectories: (lang, user) => dispatch(initDirectories(lang, user)), initDocuments: (lang, directories) => dispatch(initDocuments(lang, directories)), initContact: currentUser => dispatch(initContact(currentUser)), }; }; class HomeScreen extends React.Component { componentDidMount() { this.props.init(); this.props.initDirectories(this.props.locale.value, this.props.currentUser); this.props.initDocuments(this.props.locale.value, this.props.directories); this.props.initContact(this.props.currentUser); } render() { i18n.locale = this.props.locale; return ( this.openFolder(2)} style={styles.button}> {i18n.t('global.videos')} this.props.navigation.navigate('OnlyVideosScreen')} style={styles.button}> {i18n.t('global.videos')} this.props.navigation.navigate('ContactScreen')} style={styles.button}> {i18n.t('global.contacts')} ); } openFolder(id) { const folder = this.props.directories.filter(tmp => tmp.id === id); this.props.navigation.navigate('DirectoriesScreen', { folder: folder }); } } export default connect(mapStateToProps, mapDispatchToProps)(HomeScreen);