~fix navigation~
This commit is contained in:
parent
408980dc66
commit
761a41d183
|
@ -20,7 +20,7 @@ export const authenticated = WrappedComponent => class _p extends React.PureComp
|
|||
if (!this.login.token || this.login.failure) {
|
||||
return store.getState().navigator.resetTo({
|
||||
screen: 'Login',
|
||||
animationType: 'none'
|
||||
animated: false
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -57,7 +57,12 @@ export const HomeScreen = class extends React.PureComponent {
|
|||
navigator: PropTypes.object.isRequired
|
||||
}
|
||||
static navigatorStyle = {
|
||||
navBarHidden: true
|
||||
navBarHidden: true,
|
||||
|
||||
rightButtons: [{
|
||||
id: 'close',
|
||||
title: 'Cancel'
|
||||
}]
|
||||
};
|
||||
componentWillMount() {
|
||||
this.props.setNavigator(this.props.navigator);
|
||||
|
|
|
@ -14,7 +14,8 @@ const restore = function* restore() {
|
|||
yield put(setServer(currentServer));
|
||||
} else {
|
||||
navigator.resetTo({
|
||||
screen: 'ListServer'
|
||||
screen: 'ListServer',
|
||||
animated: false
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { put, takeEvery, call, takeLatest, all, race, take } from 'redux-saga/effects';
|
||||
import { put, takeEvery, call, takeLatest, race, take } from 'redux-saga/effects';
|
||||
import { delay } from 'redux-saga';
|
||||
import { AsyncStorage } from 'react-native';
|
||||
import { Navigation } from 'react-native-navigation';
|
||||
|
@ -17,6 +17,9 @@ const selectServer = function* selectServer({ server }) {
|
|||
yield put(changedServer(server));
|
||||
yield call([AsyncStorage, 'setItem'], 'currentServer', server);
|
||||
yield put(connectRequest(server));
|
||||
yield Navigation.dismissModal({
|
||||
animationType: 'slide-down'
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -34,17 +34,47 @@ class LoginView extends React.Component {
|
|||
username: '',
|
||||
password: ''
|
||||
};
|
||||
|
||||
this.props.navigator.setSubTitle({
|
||||
subtitle: this.props.server
|
||||
});
|
||||
this.props.navigator.setTitle({
|
||||
title: 'Login'
|
||||
});
|
||||
}
|
||||
|
||||
componentWillReceiveProps(nextProps) {
|
||||
this.props.navigator.setSubTitle({
|
||||
subtitle: nextProps.server
|
||||
this.props.navigator.setButtons({
|
||||
rightButtons: [{
|
||||
id: 'close',
|
||||
title: 'Cancel'
|
||||
}],
|
||||
animated: true
|
||||
});
|
||||
}
|
||||
componentWillReceiveProps() {
|
||||
this.props.navigator.setSubTitle({
|
||||
subtitle: this.props.server
|
||||
});
|
||||
this.props.navigator.setTitle({
|
||||
title: 'Login'
|
||||
});
|
||||
this.props.navigator.setButtons({
|
||||
rightButtons: [{
|
||||
id: 'close',
|
||||
title: 'Cancel'
|
||||
}],
|
||||
animated: true
|
||||
});
|
||||
this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(this));
|
||||
}
|
||||
onNavigatorEvent = (event) => {
|
||||
if (event.type === 'NavBarButtonPress') {
|
||||
if (event.id === 'close') {
|
||||
this.props.navigator.resetTo({
|
||||
screen: 'ListServer',
|
||||
animated: false
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
submit = () => {
|
||||
const { username, password, code } = this.state;
|
||||
this.props.loginSubmit({ username, password, code });
|
||||
|
|
|
@ -65,7 +65,8 @@ const zeroconf = new Zeroconf();
|
|||
|
||||
|
||||
@connect(state => ({
|
||||
server: state.server.server
|
||||
server: state.server.server,
|
||||
login: state.login
|
||||
}), dispatch => ({
|
||||
selectServer: server => dispatch(setServer(server))
|
||||
}))
|
||||
|
@ -92,7 +93,7 @@ export default class ListServerView extends React.Component {
|
|||
id: 'add',
|
||||
title: 'Add'
|
||||
}],
|
||||
leftButtons: props.server && Platform.select({
|
||||
leftButtons: props.login.isAuthenticated && props.server && Platform.select({
|
||||
ios: [{
|
||||
id: 'close',
|
||||
title: 'Close'
|
||||
|
|
|
@ -9599,6 +9599,14 @@
|
|||
"prop-types": "15.5.10"
|
||||
}
|
||||
},
|
||||
"react-native-animatable": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.2.3.tgz",
|
||||
"integrity": "sha512-GcIKsSPy9A5VfAGCmivElYwBz/Ds7kawG3CkBDCMFf0fkDXKeHcVffqFe7rUR+5rR31Azvkbmp+tUP+N7kdjyw==",
|
||||
"requires": {
|
||||
"prop-types": "15.5.10"
|
||||
}
|
||||
},
|
||||
"react-native-card-view": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/react-native-card-view/-/react-native-card-view-0.0.3.tgz",
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
"react-native-fetch-blob": "^0.10.8",
|
||||
"react-native-image-picker": "^0.26.4",
|
||||
"react-native-img-cache": "^1.4.0",
|
||||
"react-native-loading-spinner-overlay": "^0.5.1",
|
||||
"react-native-loading-spinner-overlay": "^0.5.2",
|
||||
"react-native-meteor": "^1.1.0",
|
||||
"react-native-navigation": "^1.1.193",
|
||||
"react-native-optimized-flatlist": "^1.0.1",
|
||||
|
|
Loading…
Reference in New Issue