diff --git a/src/App.css b/src/App.css
index 8c70ed8..00ab2de 100644
--- a/src/App.css
+++ b/src/App.css
@@ -2,15 +2,6 @@ body {
margin: 0;
}
-/* #root > div > div {
- overflow: scroll !important;
-} */
-
-div[class="ResponsiveDrawer-root-1"] {
- overflow: scroll !important;
- overflow-x: hidden !important;
-}
-
@media (min-width: 960px) {
.sighting-google-map-container > div {
width: calc(100% - 241px) !important;
diff --git a/src/components/Main.js b/src/components/Main.js
index baafcb8..6473b17 100644
--- a/src/components/Main.js
+++ b/src/components/Main.js
@@ -20,58 +20,65 @@ import ListIcon from '@material-ui/icons/List';
import SlideshowIcon from '@material-ui/icons/Slideshow';
import Home from '../pages/Home';
import ViewMap from '../pages/ViewMap';
-import QuizPage from '../pages/QuizPage';
+import Quiz from '../pages/QuizPage';
import SightingList from '../pages/SightingList';
import Report from '../pages/Report';
+import CssBaseline from '@material-ui/core/CssBaseline';
+import ExpandLess from '@material-ui/icons/ExpandLess';
+import ExpandMore from '@material-ui/icons/ExpandMore';
+import Collapse from '@material-ui/core/Collapse';
const drawerWidth = 240;
const styles = theme => ({
root: {
- flexGrow: 1,
- height: '100vh',
- zIndex: 1,
- overflow: 'hidden',
- position: 'relative',
display: 'flex',
- width: '100%',
+ },
+ drawer: {
+ [theme.breakpoints.up('sm')]: {
+ width: drawerWidth,
+ flexShrink: 0,
+ },
+ },
+ nested: {
+ paddingLeft: theme.spacing.unit * 4,
},
appBar: {
- position: 'absolute',
marginLeft: drawerWidth,
- [theme.breakpoints.up('md')]: {
+ [theme.breakpoints.up('sm')]: {
width: `calc(100% - ${drawerWidth}px)`,
},
},
- navIconHide: {
- [theme.breakpoints.up('md')]: {
+ menuButton: {
+ marginRight: 20,
+ [theme.breakpoints.up('sm')]: {
display: 'none',
},
},
toolbar: theme.mixins.toolbar,
drawerPaper: {
width: drawerWidth,
- [theme.breakpoints.up('md')]: {
- position: 'relative',
- },
},
content: {
- flexGrow: 1,
- backgroundColor: theme.palette.background.default,
- padding: theme.spacing.unit * 3,
+ flexGrow: 1
},
});
class ResponsiveDrawer extends React.Component {
state = {
mobileOpen: false,
- key: ''
- }
+ key: '',
+ open: false
+ };
handleDrawerToggle = () => {
this.setState(state => ({ mobileOpen: !state.mobileOpen }));
}
+ handleClick = () => {
+ this.setState(state => ({ open: !state.open }));
+ }
+
nav = (text) => {
this.setState({
key: text
@@ -87,79 +94,114 @@ class ResponsiveDrawer extends React.Component {
this.nav('Home')}>
-
+
this.nav('Report')}>
-
+
this.nav('Map')}>
-
+
this.nav('List')}>
-
+
- this.nav('Quiz')}>
-
-
+
+
+
+
+
+ {this.state.open ? : }
+
+
+ this.nav('Easy-Quiz')}>
+
+
+
+
+
+ this.nav('Medium-Quiz')}>
+
+
+
+
+
+ this.nav('Hard-Quiz')}>
+
+
+
+
+
+
+
+
);
return (
-
+
+
-
+
The American Marten
-
-
- {drawer}
-
-
-
-
- {drawer}
-
-
+
+
{this.state.key === 'Home' && }
{this.state.key === 'Report' && }
{this.state.key === 'Map' && }
{this.state.key === 'List' && }
- {this.state.key === 'Quiz' && }
+ {this.state.key === 'Easy-Quiz' && }
+ {this.state.key === 'Medium-Quiz' && }
+ {this.state.key === 'Hard-Quiz' && }
+
);
}
@@ -167,6 +209,9 @@ class ResponsiveDrawer extends React.Component {
ResponsiveDrawer.propTypes = {
classes: PropTypes.object.isRequired,
+ // Injected by the documentation to work in an iframe.
+ // You won't need it on your project.
+ container: PropTypes.object,
theme: PropTypes.object.isRequired,
};
diff --git a/src/components/QuizGame.js b/src/components/QuizGame.js
index b620991..bbfe640 100644
--- a/src/components/QuizGame.js
+++ b/src/components/QuizGame.js
@@ -2,10 +2,6 @@ import React, { Fragment } from 'react';
import Grid from '@material-ui/core/Grid';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
-import Typography from '@material-ui/core/Typography';
-import AppBar from '@material-ui/core/AppBar';
-import Tabs from '@material-ui/core/Tabs';
-import Tab from '@material-ui/core/Tab';
import Quiz from 'react-quiz-component';
/**
@@ -23,42 +19,17 @@ function shuffleArray(array) {
return array;
}
-function TabContainer(props) {
- return (
-
- {props.children}
-
- );
-}
-
-TabContainer.propTypes = {
- children: PropTypes.node.isRequired,
-};
-
// Style for the tabs.
const styles = theme => ({
root: {
flexGrow: 1,
backgroundColor: theme.palette.background.paper,
- marginTop: '64px',
- overflow: 'scroll',
- height: '95%',
},
});
class QuizGame extends React.Component {
- // The state of the component.
- state = {
- value: 0,
- };
- // Handles tab changes.
- handleChange = (event, value) => {
- this.setState({ value });
- };
-
- // Object that contains the easy quiz material.
- easyQuiz = {
+ easy = {
"quizTitle": "Trail Cam Quiz: Easy",
"questions": shuffleArray([
{
@@ -117,37 +88,166 @@ class QuizGame extends React.Component {
"correctAnswer": "3"
},
])
- };
+ }
+
+ medium = {
+ "quizTitle": "Trail Cam Quiz: Medium",
+ "questions": shuffleArray([
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "Black bear",
+ "Common wombat",
+ "Raccoon",
+ "White-tailed deer"
+ ],
+ "correctAnswer": "1"
+ },
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "American beaver",
+ "Muskrat",
+ "Porcupine",
+ "Woodchuck"
+ ],
+ "correctAnswer": "3"
+ },
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "American badger",
+ "Raccoon",
+ "Striped skunk",
+ "Virginia opossum"
+ ],
+ "correctAnswer": "2"
+ },
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "Eastern fox squirrel",
+ "Eastern gray squirrel",
+ "Red squirrel",
+ "Southern flying squirrel"
+ ],
+ "correctAnswer": "3"
+ },
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "American Crow",
+ "Black Vulture",
+ "Turkey Vulture",
+ "Northern Raven"
+ ],
+ "correctAnswer": "3"
+ },
+ ])
+ }
+
+ hard = {
+ "quizTitle": "Trail Cam Quiz: Hard",
+ "questions": shuffleArray([
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "Black bear",
+ "Common wombat",
+ "Raccoon",
+ "White-tailed deer"
+ ],
+ "correctAnswer": "1"
+ },
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "American beaver",
+ "Muskrat",
+ "Porcupine",
+ "Woodchuck"
+ ],
+ "correctAnswer": "3"
+ },
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "American badger",
+ "Raccoon",
+ "Striped skunk",
+ "Virginia opossum"
+ ],
+ "correctAnswer": "2"
+ },
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "Eastern fox squirrel",
+ "Eastern gray squirrel",
+ "Red squirrel",
+ "Southern flying squirrel"
+ ],
+ "correctAnswer": "3"
+ },
+ {
+ "question": What animal is this?
,
+ "questionType": "text",
+ "answers": [
+ "American Crow",
+ "Black Vulture",
+ "Turkey Vulture",
+ "Northern Raven"
+ ],
+ "correctAnswer": "3"
+ },
+ ])
+ }
+
+ pickDifficulty = difficulty => {
+ let level
+
+ switch (difficulty) {
+ case 'Easy':
+ level = this.easy
+ break
+ case 'Medium':
+ level = this.medium
+ break
+ case 'Hard':
+ level = this.hard
+ break
+ default:
+ break
+ }
+
+ return level
+ }
+
+ // The state of the component.
+ state = {
+ //difficulty: pickDifficulty(this.props.difficulty)
+ difficulty: this.pickDifficulty(this.props.difficulty)
+ }
// Renders the quiz component.
render() {
const { classes } = this.props;
- const { value } = this.state;
return (
// Tabs
-
-
-
-
-
-
-
- {value === 0 &&
-
-
-
-
-
- }
- {value === 1 &&
Medium Quiz}
- {value === 2 &&
Hard Quiz}
+
+
+
);
}
diff --git a/src/components/ReportForm.js b/src/components/ReportForm.js
index 7e7d0c0..9815843 100644
--- a/src/components/ReportForm.js
+++ b/src/components/ReportForm.js
@@ -16,8 +16,7 @@ import GoogleMap from '../components/ReportMap';
const styles = theme => ({
container: {
display: 'flex',
- flexWrap: 'wrap',
- marginTop: '64px'
+ flexWrap: 'wrap'
},
textField: {
marginLeft: theme.spacing.unit * 2,
diff --git a/src/pages/QuizPage.js b/src/pages/QuizPage.js
index 4c36a98..9422b7b 100644
--- a/src/pages/QuizPage.js
+++ b/src/pages/QuizPage.js
@@ -3,11 +3,11 @@ import QuizGame from '../components/QuizGame';
class QuizPage extends Component {
- render() {
- return (
-
- );
- }
+ render() {
+ return (
+
+ );
+ }
}
export default QuizPage;