diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/auth/Welcome.js | 11 | ||||
-rw-r--r-- | src/components/layout/Sidebar.js | 81 | ||||
-rw-r--r-- | src/components/services/content/Services.js | 10 |
3 files changed, 67 insertions, 35 deletions
diff --git a/src/components/auth/Welcome.js b/src/components/auth/Welcome.js index 6e0345e32..2b689db3b 100644 --- a/src/components/auth/Welcome.js +++ b/src/components/auth/Welcome.js | |||
@@ -51,6 +51,17 @@ export default @observer class Login extends Component { | |||
51 | <Link to={loginRoute} className="button"> | 51 | <Link to={loginRoute} className="button"> |
52 | {intl.formatMessage(messages.loginButton)} | 52 | {intl.formatMessage(messages.loginButton)} |
53 | </Link> | 53 | </Link> |
54 | <br /><br /> | ||
55 | |||
56 | <Link to="settings/app"> | ||
57 | <span style={{ | ||
58 | textAlign: 'center', | ||
59 | width: '100%', | ||
60 | cursor: 'pointer' | ||
61 | }}> | ||
62 | Change server | ||
63 | </span> | ||
64 | </Link> | ||
54 | </div> | 65 | </div> |
55 | <div className="welcome__featured-services"> | 66 | <div className="welcome__featured-services"> |
56 | {recipes.map(recipe => ( | 67 | {recipes.map(recipe => ( |
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js index f43bc0b58..3d8bcddb0 100644 --- a/src/components/layout/Sidebar.js +++ b/src/components/layout/Sidebar.js | |||
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; | |||
3 | import ReactTooltip from 'react-tooltip'; | 3 | import ReactTooltip from 'react-tooltip'; |
4 | import { defineMessages, intlShape } from 'react-intl'; | 4 | import { defineMessages, intlShape } from 'react-intl'; |
5 | import { observer } from 'mobx-react'; | 5 | import { observer } from 'mobx-react'; |
6 | import { Link } from 'react-router'; | ||
6 | 7 | ||
7 | import Tabbar from '../services/tabs/Tabbar'; | 8 | import Tabbar from '../services/tabs/Tabbar'; |
8 | import { ctrlKey } from '../../environment'; | 9 | import { ctrlKey } from '../../environment'; |
@@ -81,6 +82,7 @@ export default @observer class Sidebar extends Component { | |||
81 | const workspaceToggleMessage = ( | 82 | const workspaceToggleMessage = ( |
82 | isWorkspaceDrawerOpen ? messages.closeWorkspaceDrawer : messages.openWorkspaceDrawer | 83 | isWorkspaceDrawerOpen ? messages.closeWorkspaceDrawer : messages.openWorkspaceDrawer |
83 | ); | 84 | ); |
85 | const isLoggedIn = Boolean(localStorage.getItem('authToken')); | ||
84 | 86 | ||
85 | return ( | 87 | return ( |
86 | <div className="sidebar"> | 88 | <div className="sidebar"> |
@@ -89,38 +91,53 @@ export default @observer class Sidebar extends Component { | |||
89 | enableToolTip={() => this.enableToolTip()} | 91 | enableToolTip={() => this.enableToolTip()} |
90 | disableToolTip={() => this.disableToolTip()} | 92 | disableToolTip={() => this.disableToolTip()} |
91 | /> | 93 | /> |
92 | {workspaceStore.isFeatureEnabled ? ( | 94 | { |
93 | <button | 95 | isLoggedIn ? ( |
94 | type="button" | 96 | <> |
95 | onClick={() => { | 97 | {workspaceStore.isFeatureEnabled ? ( |
96 | toggleWorkspaceDrawer(); | 98 | <button |
97 | this.updateToolTip(); | 99 | type="button" |
98 | }} | 100 | onClick={() => { |
99 | className={`sidebar__button sidebar__button--workspaces ${isWorkspaceDrawerOpen ? 'is-active' : ''}`} | 101 | toggleWorkspaceDrawer(); |
100 | data-tip={`${intl.formatMessage(workspaceToggleMessage)} (${ctrlKey}+D)`} | 102 | this.updateToolTip(); |
101 | > | 103 | }} |
102 | <i className="mdi mdi-view-grid" /> | 104 | className={`sidebar__button sidebar__button--workspaces ${isWorkspaceDrawerOpen ? 'is-active' : ''}`} |
103 | </button> | 105 | data-tip={`${intl.formatMessage(workspaceToggleMessage)} (${ctrlKey}+D)`} |
104 | ) : null} | 106 | > |
105 | <button | 107 | <i className="mdi mdi-view-grid" /> |
106 | type="button" | 108 | </button> |
107 | onClick={() => { | 109 | ) : null} |
108 | toggleMuteApp(); | 110 | |
109 | this.updateToolTip(); | 111 | <button |
110 | }} | 112 | type="button" |
111 | className={`sidebar__button sidebar__button--audio ${isAppMuted ? 'is-muted' : ''}`} | 113 | onClick={() => { |
112 | data-tip={`${intl.formatMessage(isAppMuted ? messages.unmute : messages.mute)} (${ctrlKey}+Shift+M)`} | 114 | toggleMuteApp(); |
113 | > | 115 | this.updateToolTip(); |
114 | <i className={`mdi mdi-bell${isAppMuted ? '-off' : ''}`} /> | 116 | }} |
115 | </button> | 117 | className={`sidebar__button sidebar__button--audio ${isAppMuted ? 'is-muted' : ''}`} |
116 | <button | 118 | data-tip={`${intl.formatMessage(isAppMuted ? messages.unmute : messages.mute)} (${ctrlKey}+Shift+M)`} |
117 | type="button" | 119 | > |
118 | onClick={() => openSettings({ path: 'recipes' })} | 120 | <i className={`mdi mdi-bell${isAppMuted ? '-off' : ''}`} /> |
119 | className="sidebar__button sidebar__button--new-service" | 121 | </button> |
120 | data-tip={`${intl.formatMessage(messages.addNewService)} (${ctrlKey}+N)`} | 122 | <button |
121 | > | 123 | type="button" |
122 | <i className="mdi mdi-plus-box" /> | 124 | onClick={() => openSettings({ path: 'recipes' })} |
123 | </button> | 125 | className="sidebar__button sidebar__button--new-service" |
126 | data-tip={`${intl.formatMessage(messages.addNewService)} (${ctrlKey}+N)`} | ||
127 | > | ||
128 | <i className="mdi mdi-plus-box" /> | ||
129 | </button> | ||
130 | </> | ||
131 | ) : ( | ||
132 | <Link | ||
133 | to="/auth/welcome" | ||
134 | className="sidebar__button sidebar__button--new-service" | ||
135 | data-tip="Login"> | ||
136 | <i className="mdi mdi-login-variant" /> | ||
137 | </Link> | ||
138 | ) | ||
139 | } | ||
140 | |||
124 | <button | 141 | <button |
125 | type="button" | 142 | type="button" |
126 | onClick={() => openSettings({ path: 'app' })} | 143 | onClick={() => openSettings({ path: 'app' })} |
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js index 22ebde1d3..5d21262af 100644 --- a/src/components/services/content/Services.js +++ b/src/components/services/content/Services.js | |||
@@ -50,6 +50,7 @@ export default @observer class Services extends Component { | |||
50 | update, | 50 | update, |
51 | } = this.props; | 51 | } = this.props; |
52 | const { intl } = this.context; | 52 | const { intl } = this.context; |
53 | const isLoggedIn = Boolean(localStorage.getItem('authToken')); | ||
53 | 54 | ||
54 | return ( | 55 | return ( |
55 | <div className="services"> | 56 | <div className="services"> |
@@ -59,14 +60,17 @@ export default @observer class Services extends Component { | |||
59 | transitionName="slideUp" | 60 | transitionName="slideUp" |
60 | > | 61 | > |
61 | <div className="services__no-service"> | 62 | <div className="services__no-service"> |
62 | <img src="./assets/images/logo.svg" alt="" /> | 63 | <img src="./assets/images/logo.svg" alt="Logo" style={{ maxHeight: '50vh' }} /> |
63 | <h1>{intl.formatMessage(messages.welcome)}</h1> | 64 | <h1>{intl.formatMessage(messages.welcome)}</h1> |
65 | { !isLoggedIn && ( | ||
66 | <p>Please open settings, choose a Ferdi server and click "Login" in the bottom left corner.</p> | ||
67 | ) } | ||
64 | <Appear | 68 | <Appear |
65 | timeout={300} | 69 | timeout={300} |
66 | transitionName="slideUp" | 70 | transitionName="slideUp" |
67 | > | 71 | > |
68 | <Link to="/settings/recipes" className="button"> | 72 | <Link to={ isLoggedIn ? '/settings/services' : '/settings/app' } className="button"> |
69 | {intl.formatMessage(messages.getStarted)} | 73 | { isLoggedIn ? intl.formatMessage(messages.getStarted) : 'Open settings' } |
70 | </Link> | 74 | </Link> |
71 | </Appear> | 75 | </Appear> |
72 | </div> | 76 | </div> |