|
1 | 1 | import React, { useState } from 'react'; |
2 | 2 | import './App.css'; |
3 | 3 | import { makeStyles } from '@material-ui/core/styles'; |
4 | | -import { AppBar, Typography, Button, Toolbar, Grid, Slide, IconButton, Menu, MenuItem } from '@material-ui/core'; |
| 4 | +import { AppBar, Typography, Button, Toolbar, Grid, Slide, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, Menu, MenuItem } from '@material-ui/core'; |
5 | 5 | import SettingsIcon from '@material-ui/icons/Settings'; |
6 | 6 | import coverPic from './image/cover.jpg'; |
7 | 7 | import CRCP from './component/CRCP'; |
@@ -54,10 +54,18 @@ function App() { |
54 | 54 | const [AnalysisPunchouts, setAnalysisPunchouts] = React.useState(0); |
55 | 55 | const [AnalysisSlabThickness, setAnalysisSlabThickness] = React.useState(0); |
56 | 56 | const [anchorEl, setAnchorEl] = useState(null); // State to manage the settings menu |
| 57 | + const [openModal, setOpenModal] = useState(false); // State to control modal visibility |
57 | 58 |
|
58 | 59 | const classes = useStyles(); |
59 | 60 | const AnalysisPunchoutsFunc = (d) => d === undefined ? AnalysisPunchouts : setAnalysisPunchouts(d); |
60 | 61 | const AnalysisSlabThicknessFunc = (d) => d === undefined ? AnalysisSlabThickness : setAnalysisSlabThickness(d); |
| 62 | + const handleAboutClick = () => { |
| 63 | + setOpenModal(true); // Open the modal |
| 64 | + console.log('Version: ', packagejson.version); |
| 65 | + }; |
| 66 | + const handleCloseModal = () => { |
| 67 | + setOpenModal(false); // Close the modal |
| 68 | + }; |
61 | 69 |
|
62 | 70 | return ( |
63 | 71 | <ThemeProvider theme={theme}> |
@@ -90,10 +98,27 @@ function App() { |
90 | 98 | > |
91 | 99 | <MenuItem onClick={() => setPage('TransferFunc')}>Transfer Function</MenuItem> |
92 | 100 | <MenuItem onClick={() => console.log('Version: ', packagejson.version)}>Help</MenuItem> |
93 | | - <MenuItem onClick={() => console.log("About clicked")}>About</MenuItem> |
| 101 | + <MenuItem onClick={handleAboutClick}>About</MenuItem> |
94 | 102 | </Menu> |
| 103 | + |
95 | 104 | </Toolbar> |
96 | 105 | </AppBar> |
| 106 | + {/* About Modal */} |
| 107 | + <Dialog open={openModal} onClose={handleCloseModal}> |
| 108 | + <DialogTitle>About</DialogTitle> |
| 109 | + <DialogContent> |
| 110 | + <h3>Program Name</h3> |
| 111 | + <p>TxDOT Mechanistic-Empirical CRCP Design System</p> |
| 112 | + |
| 113 | + <h3>Version</h3> |
| 114 | + <p>{packagejson.version}</p> |
| 115 | + <h3>Developed By</h3> |
| 116 | + <p>iDataVisualizationLab</p> |
| 117 | + </DialogContent> |
| 118 | + <DialogActions> |
| 119 | + <Button onClick={handleCloseModal} color="primary">Close</Button> |
| 120 | + </DialogActions> |
| 121 | + </Dialog> |
97 | 122 |
|
98 | 123 | <div className={classes.root}> |
99 | 124 | {/* Home Page */} |
|
0 commit comments