~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) {
|
if (!this.login.token || this.login.failure) {
|
||||||
return store.getState().navigator.resetTo({
|
return store.getState().navigator.resetTo({
|
||||||
screen: 'Login',
|
screen: 'Login',
|
||||||
animationType: 'none'
|
animated: false
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,12 @@ export const HomeScreen = class extends React.PureComponent {
|
||||||
navigator: PropTypes.object.isRequired
|
navigator: PropTypes.object.isRequired
|
||||||
}
|
}
|
||||||
static navigatorStyle = {
|
static navigatorStyle = {
|
||||||
navBarHidden: true
|
navBarHidden: true,
|
||||||
|
|
||||||
|
rightButtons: [{
|
||||||
|
id: 'close',
|
||||||
|
title: 'Cancel'
|
||||||
|
}]
|
||||||
};
|
};
|
||||||
componentWillMount() {
|
componentWillMount() {
|
||||||
this.props.setNavigator(this.props.navigator);
|
this.props.setNavigator(this.props.navigator);
|
||||||
|
|
|
@ -14,7 +14,8 @@ const restore = function* restore() {
|
||||||
yield put(setServer(currentServer));
|
yield put(setServer(currentServer));
|
||||||
} else {
|
} else {
|
||||||
navigator.resetTo({
|
navigator.resetTo({
|
||||||
screen: 'ListServer'
|
screen: 'ListServer',
|
||||||
|
animated: false
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} 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 { delay } from 'redux-saga';
|
||||||
import { AsyncStorage } from 'react-native';
|
import { AsyncStorage } from 'react-native';
|
||||||
import { Navigation } from 'react-native-navigation';
|
import { Navigation } from 'react-native-navigation';
|
||||||
|
@ -17,6 +17,9 @@ const selectServer = function* selectServer({ server }) {
|
||||||
yield put(changedServer(server));
|
yield put(changedServer(server));
|
||||||
yield call([AsyncStorage, 'setItem'], 'currentServer', server);
|
yield call([AsyncStorage, 'setItem'], 'currentServer', server);
|
||||||
yield put(connectRequest(server));
|
yield put(connectRequest(server));
|
||||||
|
yield Navigation.dismissModal({
|
||||||
|
animationType: 'slide-down'
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,17 +34,47 @@ class LoginView extends React.Component {
|
||||||
username: '',
|
username: '',
|
||||||
password: ''
|
password: ''
|
||||||
};
|
};
|
||||||
|
this.props.navigator.setSubTitle({
|
||||||
|
subtitle: this.props.server
|
||||||
|
});
|
||||||
this.props.navigator.setTitle({
|
this.props.navigator.setTitle({
|
||||||
title: 'Login'
|
title: 'Login'
|
||||||
});
|
});
|
||||||
}
|
this.props.navigator.setButtons({
|
||||||
|
rightButtons: [{
|
||||||
componentWillReceiveProps(nextProps) {
|
id: 'close',
|
||||||
this.props.navigator.setSubTitle({
|
title: 'Cancel'
|
||||||
subtitle: nextProps.server
|
}],
|
||||||
|
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 = () => {
|
submit = () => {
|
||||||
const { username, password, code } = this.state;
|
const { username, password, code } = this.state;
|
||||||
this.props.loginSubmit({ username, password, code });
|
this.props.loginSubmit({ username, password, code });
|
||||||
|
|
|
@ -65,7 +65,8 @@ const zeroconf = new Zeroconf();
|
||||||
|
|
||||||
|
|
||||||
@connect(state => ({
|
@connect(state => ({
|
||||||
server: state.server.server
|
server: state.server.server,
|
||||||
|
login: state.login
|
||||||
}), dispatch => ({
|
}), dispatch => ({
|
||||||
selectServer: server => dispatch(setServer(server))
|
selectServer: server => dispatch(setServer(server))
|
||||||
}))
|
}))
|
||||||
|
@ -92,7 +93,7 @@ export default class ListServerView extends React.Component {
|
||||||
id: 'add',
|
id: 'add',
|
||||||
title: 'Add'
|
title: 'Add'
|
||||||
}],
|
}],
|
||||||
leftButtons: props.server && Platform.select({
|
leftButtons: props.login.isAuthenticated && props.server && Platform.select({
|
||||||
ios: [{
|
ios: [{
|
||||||
id: 'close',
|
id: 'close',
|
||||||
title: 'Close'
|
title: 'Close'
|
||||||
|
|
|
@ -9599,6 +9599,14 @@
|
||||||
"prop-types": "15.5.10"
|
"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": {
|
"react-native-card-view": {
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-card-view/-/react-native-card-view-0.0.3.tgz",
|
"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-fetch-blob": "^0.10.8",
|
||||||
"react-native-image-picker": "^0.26.4",
|
"react-native-image-picker": "^0.26.4",
|
||||||
"react-native-img-cache": "^1.4.0",
|
"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-meteor": "^1.1.0",
|
||||||
"react-native-navigation": "^1.1.193",
|
"react-native-navigation": "^1.1.193",
|
||||||
"react-native-optimized-flatlist": "^1.0.1",
|
"react-native-optimized-flatlist": "^1.0.1",
|
||||||
|
|
Loading…
Reference in New Issue