2020-04-11 16:49:25 +00:00
|
|
|
import React, {useEffect, useState} from 'react';
|
|
|
|
import {connect} from 'react-redux';
|
|
|
|
import {Picker, Text} from 'native-base';
|
|
|
|
import {getDeckList, getModelList} from '../../actions/anki-get-actions';
|
2020-03-07 14:30:26 +00:00
|
|
|
import {selectDeck} from '../../actions/anki-set-actions';
|
|
|
|
|
|
|
|
const DeckPicker = props => {
|
2020-04-11 16:49:25 +00:00
|
|
|
const [deckList, setDeckList] = useState([{name: 'no decks', id: 0}]);
|
|
|
|
useEffect(() => {
|
|
|
|
props.getDeckList();
|
|
|
|
props.getModelList();
|
|
|
|
}, []);
|
|
|
|
useEffect(() => {
|
|
|
|
setDeckList(props.decks);
|
|
|
|
}, [props.decks]);
|
|
|
|
return (
|
|
|
|
<Picker
|
|
|
|
onValueChange={id => props.selectDeck({id, deck: deckList[id]})}
|
|
|
|
selectedValue={props.selectedDeck.id}>
|
|
|
|
{deckList.map((deck, index) => (
|
|
|
|
<Picker.Item label={deck.name} key={deck.id} value={index} />
|
|
|
|
))}
|
|
|
|
</Picker>
|
|
|
|
);
|
|
|
|
};
|
2020-03-07 14:30:26 +00:00
|
|
|
|
2020-04-11 16:49:25 +00:00
|
|
|
export default connect(
|
|
|
|
state => ({
|
2020-03-07 14:30:26 +00:00
|
|
|
decks: state.anki.deckList,
|
2020-03-08 11:17:42 +00:00
|
|
|
selectedDeck: state.anki.selectedDeck,
|
2020-04-11 16:49:25 +00:00
|
|
|
}),
|
|
|
|
{
|
2020-03-07 14:30:26 +00:00
|
|
|
getDeckList,
|
2020-03-08 07:18:34 +00:00
|
|
|
selectDeck,
|
2020-04-11 16:49:25 +00:00
|
|
|
getModelList,
|
|
|
|
},
|
|
|
|
)(DeckPicker);
|