Revert "Make Screens an enum"
This reverts commit f6492918
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
531de19fa4
commit
2792988ad1
1 changed files with 147 additions and 179 deletions
|
@ -103,22 +103,6 @@ export enum Views {
|
|||
SOFT_LOGOUT = 9,
|
||||
}
|
||||
|
||||
export enum Screens {
|
||||
REGISTER = "register",
|
||||
LOGIN = "login",
|
||||
FORGOT_PASSWORD = "forgot_password",
|
||||
SOFT_LOGOUT = "soft_logout",
|
||||
NEW = "new", // new room
|
||||
SETTINGS = "settings",
|
||||
WELCOME = "welcome",
|
||||
HOME = "home",
|
||||
START = "start",
|
||||
DIRECTORY = "directory",
|
||||
GROUPS = "groups",
|
||||
COMPLETE_SECURITY = "complete_security",
|
||||
POST_REGISTRATION = "post_registration",
|
||||
}
|
||||
|
||||
// Actions that are redirected through the onboarding process prior to being
|
||||
// re-dispatched. NOTE: some actions are non-trivial and would require
|
||||
// re-factoring to be included in this list in future.
|
||||
|
@ -130,7 +114,7 @@ const ONBOARDING_FLOW_STARTERS = [
|
|||
];
|
||||
|
||||
interface IScreen {
|
||||
screen: Screens | string;
|
||||
screen: string;
|
||||
params?: object;
|
||||
}
|
||||
|
||||
|
@ -339,9 +323,9 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
// the old creds, but rather go straight to the relevant page
|
||||
const firstScreen = this.screenAfterLogin ? this.screenAfterLogin.screen : null;
|
||||
|
||||
if (firstScreen === Screens.LOGIN ||
|
||||
firstScreen === Screens.REGISTER ||
|
||||
firstScreen === Screens.FORGOT_PASSWORD) {
|
||||
if (firstScreen === 'login' ||
|
||||
firstScreen === 'register' ||
|
||||
firstScreen === 'forgot_password') {
|
||||
this.showScreenAfterLogin();
|
||||
return;
|
||||
}
|
||||
|
@ -555,7 +539,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
this.setStateForNewView({
|
||||
view: Views.LOGIN,
|
||||
});
|
||||
this.notifyNewScreen(Screens.LOGIN);
|
||||
this.notifyNewScreen('login');
|
||||
ThemeController.isLogin = true;
|
||||
this.themeWatcher.recheck();
|
||||
break;
|
||||
|
@ -568,7 +552,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
this.setStateForNewView({
|
||||
view: Views.FORGOT_PASSWORD,
|
||||
});
|
||||
this.notifyNewScreen(Screens.FORGOT_PASSWORD);
|
||||
this.notifyNewScreen('forgot_password');
|
||||
break;
|
||||
case 'start_chat':
|
||||
createRoom({
|
||||
|
@ -819,7 +803,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
this.setStateForNewView(newState);
|
||||
ThemeController.isLogin = true;
|
||||
this.themeWatcher.recheck();
|
||||
this.notifyNewScreen(Screens.REGISTER);
|
||||
this.notifyNewScreen('register');
|
||||
}
|
||||
|
||||
// TODO: Move to RoomViewStore
|
||||
|
@ -1298,7 +1282,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
* Called when the session is logged out
|
||||
*/
|
||||
private onLoggedOut() {
|
||||
this.notifyNewScreen(Screens.LOGIN);
|
||||
this.notifyNewScreen('login');
|
||||
this.setStateForNewView({
|
||||
view: Views.LOGIN,
|
||||
ready: false,
|
||||
|
@ -1315,7 +1299,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
* Called when the session is softly logged out
|
||||
*/
|
||||
private onSoftLogout() {
|
||||
this.notifyNewScreen(Screens.SOFT_LOGOUT);
|
||||
this.notifyNewScreen('soft_logout');
|
||||
this.setStateForNewView({
|
||||
view: Views.SOFT_LOGOUT,
|
||||
ready: false,
|
||||
|
@ -1604,27 +1588,23 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
}
|
||||
}
|
||||
|
||||
showScreen(screen: Screens | string, params?: {[key: string]: any}) {
|
||||
switch (screen) {
|
||||
case Screens.REGISTER:
|
||||
showScreen(screen: string, params?: {[key: string]: any}) {
|
||||
if (screen === 'register') {
|
||||
dis.dispatch({
|
||||
action: 'start_registration',
|
||||
params: params,
|
||||
});
|
||||
break;
|
||||
case Screens.LOGIN:
|
||||
} else if (screen === 'login') {
|
||||
dis.dispatch({
|
||||
action: 'start_login',
|
||||
params: params,
|
||||
});
|
||||
break;
|
||||
case Screens.FORGOT_PASSWORD:
|
||||
} else if (screen === 'forgot_password') {
|
||||
dis.dispatch({
|
||||
action: 'start_password_recovery',
|
||||
params: params,
|
||||
});
|
||||
break;
|
||||
case Screens.SOFT_LOGOUT:
|
||||
} else if (screen === 'soft_logout') {
|
||||
if (MatrixClientPeg.get() && MatrixClientPeg.get().getUserId() && !Lifecycle.isSoftLogout()) {
|
||||
// Logged in - visit a room
|
||||
this.viewLastRoom();
|
||||
|
@ -1635,55 +1615,44 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
params: params,
|
||||
});
|
||||
}
|
||||
break;
|
||||
case Screens.NEW:
|
||||
} else if (screen === 'new') {
|
||||
dis.dispatch({
|
||||
action: 'view_create_room',
|
||||
});
|
||||
break;
|
||||
case Screens.SETTINGS:
|
||||
} else if (screen === 'settings') {
|
||||
dis.dispatch({
|
||||
action: 'view_user_settings',
|
||||
});
|
||||
break;
|
||||
case Screens.WELCOME:
|
||||
} else if (screen === 'welcome') {
|
||||
dis.dispatch({
|
||||
action: 'view_welcome_page',
|
||||
});
|
||||
break;
|
||||
case Screens.HOME:
|
||||
} else if (screen === 'home') {
|
||||
dis.dispatch({
|
||||
action: 'view_home_page',
|
||||
});
|
||||
break;
|
||||
case Screens.START:
|
||||
this.showScreen(Screens.HOME);
|
||||
} else if (screen === 'start') {
|
||||
this.showScreen('home');
|
||||
dis.dispatch({
|
||||
action: 'require_registration',
|
||||
});
|
||||
break;
|
||||
case Screens.DIRECTORY:
|
||||
} else if (screen === 'directory') {
|
||||
dis.dispatch({
|
||||
action: 'view_room_directory',
|
||||
});
|
||||
break;
|
||||
case Screens.GROUPS:
|
||||
} else if (screen === 'groups') {
|
||||
dis.dispatch({
|
||||
action: 'view_my_groups',
|
||||
});
|
||||
break;
|
||||
case Screens.COMPLETE_SECURITY:
|
||||
} else if (screen === 'complete_security') {
|
||||
dis.dispatch({
|
||||
action: 'start_complete_security',
|
||||
});
|
||||
break;
|
||||
case Screens.POST_REGISTRATION:
|
||||
} else if (screen === 'post_registration') {
|
||||
dis.dispatch({
|
||||
action: 'start_post_registration',
|
||||
});
|
||||
break;
|
||||
default:
|
||||
if (screen.startsWith('room/')) {
|
||||
} else if (screen.indexOf('room/') === 0) {
|
||||
// Rooms can have the following formats:
|
||||
// #room_alias:domain or !opaque_id:domain
|
||||
const room = screen.substring(5);
|
||||
|
@ -1747,14 +1716,14 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
}
|
||||
|
||||
dis.dispatch(payload);
|
||||
} else if (screen.startsWith('user/')) {
|
||||
} else if (screen.indexOf('user/') === 0) {
|
||||
const userId = screen.substring(5);
|
||||
dis.dispatch({
|
||||
action: 'view_user_info',
|
||||
userId: userId,
|
||||
subAction: params.action,
|
||||
});
|
||||
} else if (screen.startsWith('group/')) {
|
||||
} else if (screen.indexOf('group/') === 0) {
|
||||
const groupId = screen.substring(6);
|
||||
|
||||
// TODO: Check valid group ID
|
||||
|
@ -1767,7 +1736,6 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
console.info("Ignoring showScreen for '%s'", screen);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
notifyNewScreen(screen: string) {
|
||||
if (this.props.onNewScreen) {
|
||||
|
@ -1832,15 +1800,15 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
}
|
||||
|
||||
onRegisterClick = () => {
|
||||
this.showScreen(Screens.REGISTER);
|
||||
this.showScreen("register");
|
||||
};
|
||||
|
||||
onLoginClick = () => {
|
||||
this.showScreen(Screens.LOGIN);
|
||||
this.showScreen("login");
|
||||
};
|
||||
|
||||
onForgotPasswordClick = () => {
|
||||
this.showScreen(Screens.FORGOT_PASSWORD);
|
||||
this.showScreen("forgot_password");
|
||||
};
|
||||
|
||||
onRegisterFlowComplete = (credentials: object, password: string) => {
|
||||
|
@ -1857,7 +1825,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
this.setState({
|
||||
view: Views.LOGGED_IN,
|
||||
});
|
||||
this.showScreen(Screens.SETTINGS);
|
||||
this.showScreen("settings");
|
||||
};
|
||||
|
||||
onVersion(current: string, latest: string, releaseNotes?: string) {
|
||||
|
|
Loading…
Reference in a new issue