Skip to content

Commit d593125

Browse files
authored
Merge pull request #2178 from lindapaiste/fix/back-to-editor
'Back to Editor' links to the last opened project (Fixes #2175)
2 parents 80cc424 + 56b0f96 commit d593125

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

client/components/Nav.jsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { logoutUser } from '../modules/User/actions';
1818
import getConfig from '../utils/getConfig';
1919
import { metaKeyName, metaKey } from '../utils/metaKey';
2020
import { getIsUserOwner } from '../modules/IDE/selectors/users';
21+
import { selectSketchPath } from '../modules/IDE/selectors/project';
2122

2223
import CaretLeftIcon from '../images/left-arrow.svg';
2324
import TriangleIcon from '../images/down-filled-triangle.svg';
@@ -245,7 +246,7 @@ class Nav extends React.PureComponent {
245246
/>
246247
</li>
247248
<li className="nav__item nav__item--no-icon">
248-
<Link to="/" className="nav__back-link">
249+
<Link to={this.props.editorLink} className="nav__back-link">
249250
<CaretLeftIcon
250251
className="nav__back-icon"
251252
focusable="false"
@@ -990,7 +991,8 @@ Nav.propTypes = {
990991
t: PropTypes.func.isRequired,
991992
setLanguage: PropTypes.func.isRequired,
992993
language: PropTypes.string.isRequired,
993-
isUserOwner: PropTypes.bool.isRequired
994+
isUserOwner: PropTypes.bool.isRequired,
995+
editorLink: PropTypes.string
994996
};
995997

996998
Nav.defaultProps = {
@@ -1003,7 +1005,8 @@ Nav.defaultProps = {
10031005
warnIfUnsavedChanges: undefined,
10041006
params: {
10051007
username: undefined
1006-
}
1008+
},
1009+
editorLink: '/'
10071010
};
10081011

10091012
function mapStateToProps(state) {
@@ -1013,7 +1016,8 @@ function mapStateToProps(state) {
10131016
unsavedChanges: state.ide.unsavedChanges,
10141017
rootFile: state.files.filter((file) => file.name === 'root')[0],
10151018
language: state.preferences.language,
1016-
isUserOwner: getIsUserOwner(state)
1019+
isUserOwner: getIsUserOwner(state),
1020+
editorLink: selectSketchPath(state)
10171021
};
10181022
}
10191023

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { createSelector } from 'reselect';
2+
3+
export const selectProjectOwner = (state) => state.project.owner;
4+
export const selectProjectId = (state) => state.project.id;
5+
6+
export const selectSketchPath = createSelector(
7+
selectProjectOwner,
8+
selectProjectId,
9+
(owner, id) => (owner && id ? `/${owner.username}/sketches/${id}` : '/')
10+
);

0 commit comments

Comments
 (0)