aboutsummaryrefslogtreecommitdiffstats
path: root/language-web/src/main/js/App.jsx
blob: 5bd46c09503a20e2add922c5254b7923b97a1149 (plain) (blame)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import React from 'react';
import AppBar from '@material-ui/core/AppBar';
import Box from '@material-ui/core/Box';
import Button from '@material-ui/core/Button';
import IconButton from '@material-ui/core/IconButton';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import MenuIcon from '@material-ui/icons/Menu';
import PlayArrowIcon from '@material-ui/icons/PlayArrow';

import { makeStyles } from './makeStyles';
import Editor from './editor/Editor';
import EditorButtons from './editor/EditorButtons';

const useStyles = makeStyles()(theme => ({
  container: {
    maxHeight: '100vh',
  },
  menuButton: {
    marginRight: theme.spacing(2),
  },
  title: {
    flexGrow: 1,
  },
  editorBox: {
    overflow: 'auto',
  },
}));

export default () => {
  const { classes, cx } = useStyles();

  return (
    <Box
      display='flex'
      flexDirection='column'
      className={cx(classes.container)}
    >
      <AppBar
        position='static'
        color='inherit'
      >
        <Toolbar>
          <IconButton
            edge='start'
            className={cx(classes.menuButton)}
            color='inherit'
            aria-label='menu'
          >
            <MenuIcon />
          </IconButton>
          <Typography
            variant='h6'
            component='h1'
            className={cx(classes.title)}
          >
            GraphSolver
          </Typography>
        </Toolbar>
      </AppBar>
      <Box
        display='flex'
        justifyContent='space-between'
        alignItems='center'
        p={1}
      >
        <Box
          display='flex'
          alignItems='center'
        >
          <EditorButtons/>
        </Box>
        <Box>
          <Button
            variant='outlined'
            color='primary'
            startIcon={<PlayArrowIcon/>}
          >
            Generate
          </Button>
        </Box>
      </Box>
      <Box
        flexGrow={1}
        flexShrink={1}
        className={cx(classes.editorBox)}
      >
        <Editor/>
      </Box>
    </Box>
  );
};