/* @flow */ import * as React from 'react'; import { View, StyleSheet, Platform } from 'react-native'; import { DrawerItem, DrawerSection, withTheme, Switch, TouchableRipple, Paragraph, Colors, } from 'react-native-paper'; import type { Theme } from 'react-native-paper/types'; type Props = { theme: Theme, toggleTheme: Function, }; type State = { open: boolean, drawerItemIndex: number, isDark: boolean, }; const DrawerItemsData = [ { label: 'Inbox', icon: 'inbox', key: 0 }, { label: 'Starred', icon: 'star', key: 1 }, { label: 'Sent mail', icon: 'send', key: 2 }, { label: 'Colored label', icon: 'color-lens', key: 3 }, { label: 'A very long title that will be truncated', icon: 'delete', key: 4 }, ]; class DrawerItems extends React.Component { state = { open: false, drawerItemIndex: 0, isDark: false, }; _setDrawerItem = index => this.setState({ drawerItemIndex: index }); _toggleTheme = () => { this.props.toggleTheme(); this.setState({ isDark: !this.state.isDark }); }; render() { const { theme: { colors: { paper }, }, } = this.props; return ( {DrawerItemsData.map((props, index) => ( this._setDrawerItem(index)} /> ))} Dark Theme ); } } const styles = StyleSheet.create({ drawerContent: { flex: 1, paddingTop: Platform.OS === 'android' ? 25 : 22, }, }); export default withTheme(DrawerItems);