import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import DatePicker from 'react-native-date-picker';
import DeviceInfo from 'react-native-device-info';
import DateChange from '../propPickers/DateChange';
import FadeToColor from '../propPickers/FadeToColor';
import LocalePicker from '../propPickers/LocalePicker';
import ModePicker from '../propPickers/ModePicker';
import TextColor from '../propPickers/TextColor';
import PropSlider from '../PropSlider';
Date.prototype.addHours = function (h) {
this.setTime(this.getTime() + (h * 60 * 60 * 1000));
return this;
}
export default class Advanced extends Component {
state = {
chosenDate: new Date(),
searchTerm: '',
textColor: '#000000',
selectedProp: 'mode',
locale: DeviceInfo.getDeviceLocale(),
mode: 'datetime',
}
render() {
return (
Picker date: {this.state.chosenDate.toISOString()}
Change prop:
Prop value:
{this.selectedPropData().component}
)
}
propertyList = () => [
{
name: 'mode', component:
this.setState({ mode })} />
},
{
name: 'locale', component:
this.setState({ locale })} />
},
{
name: 'date', component:
this.setState({ chosenDate })} />
},
{ name: 'minuteInterval' },
{ name: 'minDate' },
{ name: 'maxDate' },
{
name: 'fadeToColor', component:
this.props.setBackground(randomColor())} />
},
{
name: 'textColor', component:
this.setState({ textColor: randomColor() })} />
},
]
selectedPropData = () => this.propertyList().find(p => p.name === this.state.selectedProp)
onSelect = selectedProp => this.setState({ selectedProp })
setDate = newDate => this.setState({ chosenDate: newDate })
}
const styles = StyleSheet.create({
container: {
alignItems: 'center',
justifyContent: 'center',
marginTop: 15,
backgroundColor: 'transparent',
flex: 1,
},
item: {
borderWidth: 1,
marginTop: -1,
borderColor: 'rgba(0,0,0,1)',
padding: 3,
width: 100,
alignItems: 'center',
},
})
const randomColor = () => '#' + pad(Math.floor(Math.random() * 16777215).toString(16), 6);
function pad(n, width) {
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n;
}