Skip to content

Commit faaa6d2

Browse files
committed
✨ make sidebar close via hook toggle
1 parent 6fa1b23 commit faaa6d2

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

client/components/mobile/Explorer.jsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,20 @@ import Sidebar from './Sidebar';
55
import ConnectedFileNode from '../../modules/IDE/components/FileNode';
66

77

8-
const Explorer = ({ id, canEdit }) => (
9-
<Sidebar title="Files">
10-
<ConnectedFileNode id={id} canEdit={canEdit} />
8+
const Explorer = ({ id, canEdit, onPressClose }) => (
9+
<Sidebar title="Files" onPressClose={onPressClose}>
10+
<ConnectedFileNode id={id} canEdit={canEdit} onClickFile={onPressClose} />
1111
</Sidebar>
1212
);
1313

1414
Explorer.propTypes = {
1515
id: PropTypes.number.isRequired,
16+
onPressClose: PropTypes.func,
1617
canEdit: PropTypes.bool
1718
};
1819
Explorer.defaultProps = {
19-
canEdit: false
20+
canEdit: false,
21+
onPressClose: () => {}
2022
};
2123

2224
export default Explorer;

client/components/mobile/Sidebar.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ const SidebarWrapper = styled.div`
2020
box-shadow: 0 6px 6px 0 rgba(0,0,0,0.10);
2121
`;
2222

23+
// onClick={() => alert('haha')}
24+
2325
const Sidebar = ({ title, onPressClose, children }) => (
2426
<SidebarWrapper>
2527
{title &&
2628
<Header slim title={title} fixed={false}>
27-
<IconButton onPress={onPressClose} icon={ExitIcon} aria-label="Return to ide view" />
29+
<IconButton onClick={onPressClose} icon={ExitIcon} aria-label="Return to ide view" />
2830
</Header>}
2931
{children}
3032
</SidebarWrapper>

client/components/useAsModal.jsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ export default (Element, hasOverlay = false) => {
2020
const wrapper = () => (visible &&
2121
<div>
2222
{hasOverlay && <BackgroundOverlay />}
23-
<div ref={setRef}> {Element} </div>
23+
<div ref={setRef}>
24+
{ (typeof (Element) === 'function')
25+
? Element(toggle)
26+
: Element}
27+
</div>
2428
</div>);
2529

2630
return [toggle, wrapper];

client/modules/IDE/pages/MobileIDEView.jsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,12 @@ const MobileIDEView = (props) => {
116116
align="right"
117117
/>);
118118

119-
120-
const [toggleExplorer, Explorer] = useAsModal(<MobileExplorer id={getRootFileID(files)} canEdit={false} />, true);
119+
const [toggleExplorer, Explorer] = useAsModal(toggle =>
120+
(<MobileExplorer
121+
id={getRootFileID(files)}
122+
canEdit={false}
123+
onPressClose={toggle}
124+
/>), true);
121125

122126
// toggle sidebar starting opened
123127
// useEffect(toggleExplorer, []);

0 commit comments

Comments
 (0)