2020-03-10 04:22:42 +00:00
|
|
|
import React, {useEffect} from 'react';
|
2020-03-07 14:30:26 +00:00
|
|
|
import {Container, Text} from 'native-base';
|
2020-03-10 04:22:42 +00:00
|
|
|
import {ScrollView} from 'react-native';
|
2020-03-07 14:30:26 +00:00
|
|
|
import Permissions from './permissions';
|
|
|
|
import {connect, Provider} from 'react-redux';
|
|
|
|
import DeckPicker from './view/deck-picker';
|
2020-03-08 11:17:42 +00:00
|
|
|
import AddWordForm from './anki-form';
|
2020-03-07 19:38:01 +00:00
|
|
|
import AnkiTemplate from './view/add-main-template';
|
|
|
|
import {Grid, Row} from 'native-base';
|
2020-03-31 07:54:08 +00:00
|
|
|
import {
|
2020-04-11 16:49:25 +00:00
|
|
|
checkAnkiLanModelForExisting,
|
|
|
|
getDeckList,
|
|
|
|
getModelList,
|
|
|
|
getSavedData,
|
2020-03-31 07:54:08 +00:00
|
|
|
} from '../actions/anki-get-actions';
|
2020-04-22 05:34:14 +00:00
|
|
|
import {requestAnkiPermission} from '../actions/anki-get-actions';
|
2020-03-07 14:30:26 +00:00
|
|
|
|
|
|
|
const StartScreen = props => {
|
2020-04-11 16:49:25 +00:00
|
|
|
useEffect(() => {
|
2020-04-22 05:34:14 +00:00
|
|
|
if (props.ankiAvailable) {
|
|
|
|
props.getDeckList();
|
|
|
|
props.getModelList();
|
|
|
|
props.getSavedData();
|
|
|
|
props.checkAnkiLanModelForExisting(props.modelName, props.modelList);
|
|
|
|
} else {
|
2020-05-10 09:55:54 +00:00
|
|
|
console.log('Troubles with permissions');
|
2020-04-22 05:34:14 +00:00
|
|
|
props.requestAnkiPermission();
|
|
|
|
}
|
2020-04-11 16:49:25 +00:00
|
|
|
}, []);
|
|
|
|
useEffect(() => {
|
|
|
|
props.checkAnkiLanModelForExisting(props.modelName, props.modelList);
|
|
|
|
});
|
|
|
|
return (
|
|
|
|
<ScrollView keyboardShouldPersistTaps="handled">
|
|
|
|
{props.ankiAvailable ? (
|
|
|
|
props.ankiLanModelExists ? (
|
|
|
|
<AddWordForm />
|
|
|
|
) : (
|
|
|
|
<AnkiTemplate />
|
|
|
|
)
|
|
|
|
) : (
|
|
|
|
<Permissions />
|
|
|
|
)}
|
|
|
|
</ScrollView>
|
|
|
|
);
|
2020-03-07 14:30:26 +00:00
|
|
|
};
|
|
|
|
|
2020-03-10 04:22:42 +00:00
|
|
|
export default connect(
|
2020-04-11 16:49:25 +00:00
|
|
|
state => ({
|
|
|
|
ankiAvailable: state.anki.appHasAccess,
|
|
|
|
ankiLanModelExists: state.anki.ankiLanModelIsAlreadyExists,
|
|
|
|
modelName: state.anki.ankiLanModelName,
|
|
|
|
modelList: state.anki.modelList,
|
|
|
|
creator: state.anki.noteCreator,
|
|
|
|
}),
|
|
|
|
{
|
|
|
|
checkAnkiLanModelForExisting,
|
|
|
|
getDeckList,
|
|
|
|
getModelList,
|
|
|
|
getSavedData,
|
2020-04-22 05:34:14 +00:00
|
|
|
requestAnkiPermission,
|
2020-04-11 16:49:25 +00:00
|
|
|
},
|
2020-03-31 07:54:08 +00:00
|
|
|
)(StartScreen);
|