Ankilan/src/components/anki-form.jsx

69 lines
2.0 KiB
React
Raw Normal View History

2020-03-20 15:19:09 +00:00
import React, {useEffect, useState} from 'react';
2020-03-10 04:22:42 +00:00
import {connect} from 'react-redux';
2020-03-07 14:30:26 +00:00
import DeckPicker from './view/deck-picker';
2020-03-11 03:31:37 +00:00
import {Form, Container, Item} from 'native-base';
2020-03-08 11:17:42 +00:00
import {checkAnkiLanModelForExisting} from '../actions/anki-get-actions';
2020-03-11 03:31:37 +00:00
import InputWord from './view/translatable-word';
import SubmitButton from './Form/submit-button';
import {ScrollView} from 'react-native';
2020-03-31 07:54:08 +00:00
import {wordInfo} from '../actions/api/dictionary';
import FieldEditor from './Form/field-editor';
import FieldList from './Form/field-list';
import {WORD} from "../constants/anki-constants";
import {sendField} from "../actions/form-actions";
2020-03-07 14:30:26 +00:00
2020-03-08 11:17:42 +00:00
const AnkiForm = props => {
2020-04-03 06:32:26 +00:00
const [target, setTarget] = useState('');
const [fields, setFields] = useState({});
const [submitted, setSubmitted] = useState(false);
2020-04-03 06:32:26 +00:00
useEffect(() => {
// props.wordInfo('Urge');
// props.wordInfo('Maze');
// props.wordInfo('Ramification');
// props.wordInfo('Dare');
// props.wordInfo('Entrepreneurship');
// props.wordInfo('meagre');
// props.wordInfo('meager');
}, []);
const getWord = word => {
setTarget(word);
};
const submit = () => {
props.wordInfo(target);
setSubmitted(true);
props.sendField({
text: target,
role: WORD
})
// console.log(props.available, props.data)
2020-04-03 06:32:26 +00:00
};
2020-04-03 06:32:26 +00:00
return (
<ScrollView style={{padding: 20}}>
2020-04-03 06:32:26 +00:00
<Form>
<DeckPicker />
<InputWord word={getWord} onSubmit={submit} />
{submitted ? <FieldList /> : <SubmitButton onSubmit={submit} />}
2020-04-03 06:32:26 +00:00
</Form>
</ScrollView>
2020-04-03 06:32:26 +00:00
);
2020-03-10 04:22:42 +00:00
};
2020-03-07 14:30:26 +00:00
2020-03-10 04:22:42 +00:00
export default connect(
2020-04-03 06:32:26 +00:00
state => ({
ankiLanModelExists: state.anki.ankiLanModelIsAlreadyExists,
modelName: state.anki.ankiLanModelName,
modelList: state.anki.modelList,
creator: state.anki.noteCreator,
data: state,
word: state.api.availableApi.word,
available: state.api.apiIsLoaded,
2020-04-03 06:32:26 +00:00
}),
{
checkAnkiLanModelForExisting,
wordInfo,
sendField
2020-04-03 06:32:26 +00:00
},
2020-03-10 04:22:42 +00:00
)(AnkiForm);