diff --git a/res/css/views/context_menus/_TopLeftMenu.scss b/res/css/views/context_menus/_TopLeftMenu.scss index f305f0fae3..b3ef703144 100644 --- a/res/css/views/context_menus/_TopLeftMenu.scss +++ b/res/css/views/context_menus/_TopLeftMenu.scss @@ -31,10 +31,18 @@ limitations under the License. mask-image: url('$(res)/img/feather-icons/home.svg'); } + li.mx_TopLeftMenu_icon_welcome::after { + mask-image: url('$(res)/img/feather-icons/gift.svg'); + } + li.mx_TopLeftMenu_icon_settings::after { mask-image: url('$(res)/img/feather-icons/settings.svg'); } + li.mx_TopLeftMenu_icon_signin::after { + mask-image: url('$(res)/img/feather-icons/sign-in.svg'); + } + li.mx_TopLeftMenu_icon_signout::after { mask-image: url('$(res)/img/feather-icons/sign-out.svg'); } diff --git a/res/img/feather-icons/gift.svg b/res/img/feather-icons/gift.svg new file mode 100644 index 0000000000..c225b50f9d --- /dev/null +++ b/res/img/feather-icons/gift.svg @@ -0,0 +1 @@ + diff --git a/res/img/feather-icons/sign-in.svg b/res/img/feather-icons/sign-in.svg new file mode 100644 index 0000000000..9fe617eee1 --- /dev/null +++ b/res/img/feather-icons/sign-in.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/components/views/context_menus/TopLeftMenu.js b/src/components/views/context_menus/TopLeftMenu.js index 1d58db3c49..8583f631f2 100644 --- a/src/components/views/context_menus/TopLeftMenu.js +++ b/src/components/views/context_menus/TopLeftMenu.js @@ -20,11 +20,15 @@ import { _t } from '../../../languageHandler'; import LogoutDialog from "../dialogs/LogoutDialog"; import Modal from "../../../Modal"; import SdkConfig from '../../../SdkConfig'; +import MatrixClientPeg from '../../../MatrixClientPeg'; export class TopLeftMenu extends React.Component { constructor() { super(); + this.viewHomePage = this.viewHomePage.bind(this); + this.viewWelcomePage = this.viewWelcomePage.bind(this); this.openSettings = this.openSettings.bind(this); + this.signIn = this.signIn.bind(this); this.signOut = this.signOut.bind(this); } @@ -41,6 +45,8 @@ export class TopLeftMenu extends React.Component { } render() { + const isGuest = MatrixClientPeg.get().isGuest(); + let homePageSection = null; if (this.hasHomePage()) { homePageSection = ; } + let signInOutSection; + if (isGuest) { + signInOutSection = ; + } else { + signInOutSection = ; + } + return
{homePageSection} + {signInOutSection}
; } @@ -64,11 +82,21 @@ export class TopLeftMenu extends React.Component { this.closeMenu(); } + viewWelcomePage() { + dis.dispatch({action: 'view_welcome_page'}); + this.closeMenu(); + } + openSettings() { dis.dispatch({action: 'view_user_settings'}); this.closeMenu(); } + signIn() { + dis.dispatch({action: 'start_login'}); + this.closeMenu(); + } + signOut() { Modal.createTrackedDialog('Logout E2E Export', '', LogoutDialog); this.closeMenu(); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index cfd2e6e66c..fe41beb7ae 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1051,7 +1051,6 @@ "Continue With Encryption Disabled": "Continue With Encryption Disabled", "Unknown error": "Unknown error", "Incorrect password": "Incorrect password", - "Deactivate Account": "Deactivate Account", "This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.": "This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user ID. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.", "Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.": "Deactivating your account does not by default cause us to forget messages you have sent. If you would like us to forget your messages, please tick the box below.", "Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.": "Message visibility in Matrix is similar to email. Our forgetting your messages means that messages you have sent will not be shared with any new or unregistered users, but registered users who already have access to these messages will still have access to their copy.", @@ -1221,6 +1220,8 @@ "Set a new status...": "Set a new status...", "View Community": "View Community", "Hide": "Hide", + "Sign in": "Sign in", + "Welcome": "Welcome", "Login": "Login", "powered by Matrix": "powered by Matrix", "Robot check is currently unavailable on desktop - please use a web browser": "Robot check is currently unavailable on desktop - please use a web browser", @@ -1251,7 +1252,6 @@ "Username": "Username", "Mobile phone number": "Mobile phone number", "Not sure of your password? Set a new one": "Not sure of your password? Set a new one", - "Sign in": "Sign in", "Sign in to %(serverName)s": "Sign in to %(serverName)s", "Change": "Change", "Sign in with": "Sign in with",