-
Notifications
You must be signed in to change notification settings - Fork 222
/
Copy pathAdvancedResetMenu.tsx
36 lines (30 loc) · 1.11 KB
/
AdvancedResetMenu.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import React, { useCallback } from 'react';
import { useDispatch } from 'react-redux';
import ButtonMenuItem from './ButtonMenuItem';
import MenuGroup from './MenuGroup';
import * as actions from './actions';
interface AdvancedResetMenuProps {
close: () => void;
}
const AdvancedResetMenu: React.SFC<AdvancedResetMenuProps> = props => {
const dispatch = useDispatch();
const resetToMinimal = useCallback(() => {
dispatch(actions.resetEditorToMinimal());
props.close();
}, [dispatch, props]);
const resetToHello = useCallback(() => {
dispatch(actions.resetEditorToHello());
props.close();
}, [dispatch, props]);
return (
<MenuGroup title="Reset Editor">
<ButtonMenuItem name="Reset to a minimal executable code" onClick={resetToMinimal}>
<div>Reset the editor content with just an empty main function.</div>
</ButtonMenuItem>
<ButtonMenuItem name='Reset to an "Hello World"' onClick={resetToHello}>
<div>Reset the editor content with an "Hello World" executable.</div>
</ButtonMenuItem>
</MenuGroup>
);
};
export default AdvancedResetMenu;