- {question.options.map((singleOption, index) => (
-
onAnswerSelect(index)}>
- {singleOption}
-
- ))}
+
+
+
Marvel movie-Quiz
+
Question:
+
+ {question.questionText}
+
+
+ {question.options.map((singleOption, index) => (
+ onAnswerSelect(index)}>
+ {singleOption}
+
+ ))}
+
+
+ Next
+
+
-
- Next
-
-
);
}
diff --git a/src/index.css b/src/index.css
index 71a27eb6..d4b5d90d 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,15 +1,33 @@
+@font-face {
+ font-family: 'CC Mighty Mouth Variable';
+ src: url('https://fonts.adobe.com/fonts/cc-mighty-mouth-variable');
+ font-weight: 400;
+ font-style: normal;
+}
+
+
body {
margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
- "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
- sans-serif;
+ font-family: 'CC Mighty Mouth Variable';
+ font-size: 16px;
+ line-height: 1.5;
+ font-weight: normal;
+ color: black;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
- monospace;
+ font-family: 'CC Mighty Mouth Variable', sans-serif;
+}
+
+.quiz-section {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 300px;
+ height: 100%;
+ background-color: rgb(204, 230, 221);
}
.question-section {
@@ -18,9 +36,10 @@ code {
align-items: center;
justify-content: space-evenly;
text-align: center;
- height: 100vh;
+ height: auto;
padding: 0 20px 0 20px;
margin: 0;
+ margin-bottom: 20px;
}
@@ -44,6 +63,8 @@ code {
flex-direction: column;
align-items: center;
text-align: center;
+ width: 100%;
+ height: 100%;
}
From c9c2120b603a148f5c5d3d39ebc7528509fec6e4 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 01:00:02 +0200
Subject: [PATCH 14/24] fixed restart button
---
package-lock.json | 368 ++++++++++++++++++++++++++++++++--
package.json | 1 +
src/components/QuizSummary.js | 11 +-
src/index.css | 21 +-
4 files changed, 371 insertions(+), 30 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 47d73268..2e43cbd1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,6 +17,7 @@
"eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0",
"react": "^18.2.0",
+ "react-bootstrap": "^2.7.4",
"react-dom": "^18.2.0",
"react-redux": "^8.0.2",
"react-scripts": "^5.0.1",
@@ -1833,11 +1834,11 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
- "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
+ "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
"dependencies": {
- "regenerator-runtime": "^0.13.4"
+ "regenerator-runtime": "^0.13.11"
},
"engines": {
"node": ">=6.9.0"
@@ -3150,6 +3151,26 @@
}
}
},
+ "node_modules/@popperjs/core": {
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz",
+ "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@react-aria/ssr": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.6.0.tgz",
+ "integrity": "sha512-OFiYQdv+Yk7AO7IsQu/fAEPijbeTwrrEYvdNoJ3sblBBedD5j5fBTNWrUPNVlwC4XWWnWTCMaRIVsJujsFiWXg==",
+ "dependencies": {
+ "@swc/helpers": "^0.4.14"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
"node_modules/@reduxjs/toolkit": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.8.3.tgz",
@@ -3173,6 +3194,37 @@
}
}
},
+ "node_modules/@restart/hooks": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.9.tgz",
+ "integrity": "sha512-3BekqcwB6Umeya+16XPooARn4qEPW6vNvwYnlofIYe6h9qG1/VeD7UvShCWx11eFz5ELYmwIEshz+MkPX3wjcQ==",
+ "dependencies": {
+ "dequal": "^2.0.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
+ "node_modules/@restart/ui": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.6.3.tgz",
+ "integrity": "sha512-7HM5aiSWvJBWr+FghZj/n3PSuH2kUrOPiu/D92aIv1zTL8IBwFoQ3oz/f76svoN5v2PKaP6pQbg6vTcIiSffzg==",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0",
+ "@popperjs/core": "^2.11.6",
+ "@react-aria/ssr": "^3.5.0",
+ "@restart/hooks": "^0.4.9",
+ "@types/warning": "^3.0.0",
+ "dequal": "^2.0.3",
+ "dom-helpers": "^5.2.0",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ },
+ "peerDependencies": {
+ "react": ">=16.14.0",
+ "react-dom": ">=16.14.0"
+ }
+ },
"node_modules/@rollup/plugin-babel": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -3515,6 +3567,14 @@
"url": "https://github.com/sponsors/gregberge"
}
},
+ "node_modules/@swc/helpers": {
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
+ "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@@ -3786,6 +3846,14 @@
"csstype": "^3.0.2"
}
},
+ "node_modules/@types/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
"node_modules/@types/resolve": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
@@ -3851,6 +3919,11 @@
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
},
+ "node_modules/@types/warning": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz",
+ "integrity": "sha512-t/Tvs5qR47OLOr+4E9ckN8AmP2Tf16gWq+/qA4iUGS/OOyHVO8wv2vjJuX8SNOUTJyWb+2t7wJm6cXILFnOROA=="
+ },
"node_modules/@types/ws": {
"version": "8.5.3",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz",
@@ -5439,6 +5512,11 @@
"integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==",
"dev": true
},
+ "node_modules/classnames": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
+ "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
+ },
"node_modules/clean-css": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz",
@@ -6350,6 +6428,14 @@
"node": ">= 0.8"
}
},
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/destroy": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
@@ -6494,6 +6580,15 @@
"utila": "~0.4"
}
},
+ "node_modules/dom-helpers": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
+ "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "dependencies": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
"node_modules/dom-serializer": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
@@ -9025,6 +9120,14 @@
"node": ">= 0.4"
}
},
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"node_modules/ipaddr.js": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
@@ -14182,6 +14285,18 @@
"react-is": "^16.13.1"
}
},
+ "node_modules/prop-types-extra": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz",
+ "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==",
+ "dependencies": {
+ "react-is": "^16.3.2",
+ "warning": "^4.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=0.14.0"
+ }
+ },
"node_modules/proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -14365,6 +14480,35 @@
"node": ">=14"
}
},
+ "node_modules/react-bootstrap": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.7.4.tgz",
+ "integrity": "sha512-EPKPwhfbxsKsNBhJBitJwqul9fvmlYWSft6jWE2EpqhEyjhqIqNihvQo2onE5XtS+QHOavUSNmA+8Lnv5YeAyg==",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0",
+ "@restart/hooks": "^0.4.9",
+ "@restart/ui": "^1.6.3",
+ "@types/react-transition-group": "^4.4.5",
+ "classnames": "^2.3.2",
+ "dom-helpers": "^5.2.1",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.8.1",
+ "prop-types-extra": "^1.1.0",
+ "react-transition-group": "^4.4.5",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16.14.8",
+ "react": ">=16.14.0",
+ "react-dom": ">=16.14.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-dev-utils": {
"version": "12.0.1",
"resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz",
@@ -14514,6 +14658,11 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
+ "node_modules/react-lifecycles-compat": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
+ },
"node_modules/react-redux": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.2.tgz",
@@ -14654,6 +14803,21 @@
"node": ">=10"
}
},
+ "node_modules/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.6.0",
+ "react-dom": ">=16.6.0"
+ }
+ },
"node_modules/read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -14748,9 +14912,9 @@
}
},
"node_modules/regenerator-runtime": {
- "version": "0.13.9",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
- "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+ "version": "0.13.11",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
},
"node_modules/regenerator-transform": {
"version": "0.15.0",
@@ -16352,8 +16516,7 @@
"node_modules/tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "dev": true
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"node_modules/tsutils": {
"version": "3.21.0",
@@ -16458,6 +16621,20 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/uncontrollable": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz",
+ "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.6.3",
+ "@types/react": ">=16.9.11",
+ "invariant": "^2.2.4",
+ "react-lifecycles-compat": "^3.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=15.0.0"
+ }
+ },
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
@@ -16688,6 +16865,14 @@
"makeerror": "1.0.12"
}
},
+ "node_modules/warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"node_modules/watchpack": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
@@ -18853,11 +19038,11 @@
}
},
"@babel/runtime": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
- "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
+ "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
"requires": {
- "regenerator-runtime": "^0.13.4"
+ "regenerator-runtime": "^0.13.11"
}
},
"@babel/runtime-corejs3": {
@@ -19776,6 +19961,19 @@
"source-map": "^0.7.3"
}
},
+ "@popperjs/core": {
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz",
+ "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw=="
+ },
+ "@react-aria/ssr": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.6.0.tgz",
+ "integrity": "sha512-OFiYQdv+Yk7AO7IsQu/fAEPijbeTwrrEYvdNoJ3sblBBedD5j5fBTNWrUPNVlwC4XWWnWTCMaRIVsJujsFiWXg==",
+ "requires": {
+ "@swc/helpers": "^0.4.14"
+ }
+ },
"@reduxjs/toolkit": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.8.3.tgz",
@@ -19787,6 +19985,30 @@
"reselect": "^4.1.5"
}
},
+ "@restart/hooks": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.9.tgz",
+ "integrity": "sha512-3BekqcwB6Umeya+16XPooARn4qEPW6vNvwYnlofIYe6h9qG1/VeD7UvShCWx11eFz5ELYmwIEshz+MkPX3wjcQ==",
+ "requires": {
+ "dequal": "^2.0.2"
+ }
+ },
+ "@restart/ui": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.6.3.tgz",
+ "integrity": "sha512-7HM5aiSWvJBWr+FghZj/n3PSuH2kUrOPiu/D92aIv1zTL8IBwFoQ3oz/f76svoN5v2PKaP6pQbg6vTcIiSffzg==",
+ "requires": {
+ "@babel/runtime": "^7.21.0",
+ "@popperjs/core": "^2.11.6",
+ "@react-aria/ssr": "^3.5.0",
+ "@restart/hooks": "^0.4.9",
+ "@types/warning": "^3.0.0",
+ "dequal": "^2.0.3",
+ "dom-helpers": "^5.2.0",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ }
+ },
"@rollup/plugin-babel": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -20005,6 +20227,14 @@
"loader-utils": "^2.0.0"
}
},
+ "@swc/helpers": {
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
+ "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
+ "requires": {
+ "tslib": "^2.4.0"
+ }
+ },
"@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@@ -20270,6 +20500,14 @@
"csstype": "^3.0.2"
}
},
+ "@types/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==",
+ "requires": {
+ "@types/react": "*"
+ }
+ },
"@types/resolve": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
@@ -20335,6 +20573,11 @@
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
},
+ "@types/warning": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz",
+ "integrity": "sha512-t/Tvs5qR47OLOr+4E9ckN8AmP2Tf16gWq+/qA4iUGS/OOyHVO8wv2vjJuX8SNOUTJyWb+2t7wJm6cXILFnOROA=="
+ },
"@types/ws": {
"version": "8.5.3",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz",
@@ -21523,6 +21766,11 @@
"integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==",
"dev": true
},
+ "classnames": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
+ "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
+ },
"clean-css": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz",
@@ -22191,6 +22439,11 @@
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
},
+ "dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="
+ },
"destroy": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
@@ -22305,6 +22558,15 @@
"utila": "~0.4"
}
},
+ "dom-helpers": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
+ "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "requires": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
"dom-serializer": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
@@ -24159,6 +24421,14 @@
"side-channel": "^1.0.4"
}
},
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"ipaddr.js": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
@@ -27792,6 +28062,15 @@
"react-is": "^16.13.1"
}
},
+ "prop-types-extra": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz",
+ "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==",
+ "requires": {
+ "react-is": "^16.3.2",
+ "warning": "^4.0.0"
+ }
+ },
"proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -27922,6 +28201,25 @@
"whatwg-fetch": "^3.6.2"
}
},
+ "react-bootstrap": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.7.4.tgz",
+ "integrity": "sha512-EPKPwhfbxsKsNBhJBitJwqul9fvmlYWSft6jWE2EpqhEyjhqIqNihvQo2onE5XtS+QHOavUSNmA+8Lnv5YeAyg==",
+ "requires": {
+ "@babel/runtime": "^7.21.0",
+ "@restart/hooks": "^0.4.9",
+ "@restart/ui": "^1.6.3",
+ "@types/react-transition-group": "^4.4.5",
+ "classnames": "^2.3.2",
+ "dom-helpers": "^5.2.1",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.8.1",
+ "prop-types-extra": "^1.1.0",
+ "react-transition-group": "^4.4.5",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ }
+ },
"react-dev-utils": {
"version": "12.0.1",
"resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz",
@@ -28037,6 +28335,11 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
+ "react-lifecycles-compat": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
+ },
"react-redux": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.2.tgz",
@@ -28130,6 +28433,17 @@
}
}
},
+ "react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ }
+ },
"read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -28209,9 +28523,9 @@
}
},
"regenerator-runtime": {
- "version": "0.13.9",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
- "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+ "version": "0.13.11",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
},
"regenerator-transform": {
"version": "0.15.0",
@@ -29428,8 +29742,7 @@
"tslib": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "dev": true
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
},
"tsutils": {
"version": "3.21.0",
@@ -29505,6 +29818,17 @@
"which-boxed-primitive": "^1.0.2"
}
},
+ "uncontrollable": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz",
+ "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==",
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "@types/react": ">=16.9.11",
+ "invariant": "^2.2.4",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
"unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
@@ -29674,6 +29998,14 @@
"makeerror": "1.0.12"
}
},
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"watchpack": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
diff --git a/package.json b/package.json
index b93b1f05..a02769bf 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
"eslint-plugin-react": "^7.30.1",
"eslint-plugin-react-hooks": "^4.6.0",
"react": "^18.2.0",
+ "react-bootstrap": "^2.7.4",
"react-dom": "^18.2.0",
"react-redux": "^8.0.2",
"react-scripts": "^5.0.1",
diff --git a/src/components/QuizSummary.js b/src/components/QuizSummary.js
index cfa23a7f..4ca25550 100644
--- a/src/components/QuizSummary.js
+++ b/src/components/QuizSummary.js
@@ -1,9 +1,16 @@
import React, { useEffect } from 'react';
-import { useSelector } from 'react-redux';
+import { useSelector, useDispatch } from 'react-redux';
+import { Button } from 'react-bootstrap';
+import { quiz } from '../reducers/quiz';
export const QuizSummary = () => {
const questions = useSelector((state) => state.quiz.questions);
const answers = useSelector((state) => state.quiz.answers);
+ const dispatch = useDispatch();
+
+ const restartQuiz = () => {
+ dispatch(quiz.actions.restart())
+ }
useEffect(() => {
window.scrollTo(0, 0);
@@ -23,6 +30,8 @@ export const QuizSummary = () => {
return (
Quiz Summary
+
Play again
+
Total Correct Answers: {correctAnswers}
Percentage: {Math.round((correctAnswers / questions.length) * 100)}%
diff --git a/src/index.css b/src/index.css
index d4b5d90d..e11c0918 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,14 +1,14 @@
@font-face {
- font-family: 'CC Mighty Mouth Variable';
- src: url('https://fonts.adobe.com/fonts/cc-mighty-mouth-variable');
- font-weight: 400;
+ font-family: 'cc-deadline-variable';
+ src: url('https://fonts.googleapis.com/css2?family=Chivo+Mono&family=Dancing+Script&family=Inter:wght@200&family=Mynerve&display=swap" rel="stylesheet');
+
font-style: normal;
}
-
body {
margin: 0;
- font-family: 'CC Mighty Mouth Variable';
+ font-family: 'Chivo Mono', monospace;
+ font-variation-settings: 'wdth' 50, 'slnt' 0;
font-size: 16px;
line-height: 1.5;
font-weight: normal;
@@ -18,7 +18,7 @@ body {
}
code {
- font-family: 'CC Mighty Mouth Variable', sans-serif;
+ font-family: 'Chivo Mono', sans-serif;
}
.quiz-section {
@@ -26,7 +26,7 @@ code {
flex-direction: column;
align-items: center;
width: 300px;
- height: 100%;
+
background-color: rgb(204, 230, 221);
}
@@ -36,8 +36,8 @@ code {
align-items: center;
justify-content: space-evenly;
text-align: center;
- height: auto;
- padding: 0 20px 0 20px;
+
+ padding: 0 10px 0 10px;
margin: 0;
margin-bottom: 20px;
@@ -63,8 +63,7 @@ code {
flex-direction: column;
align-items: center;
text-align: center;
- width: 100%;
- height: 100%;
+
}
From 2e149575c4603db8de38cdbd6ec7fcbe50b46fa2 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 13:54:49 +0200
Subject: [PATCH 15/24] css
---
src/components/Footer.js | 3 +--
src/components/ProgressBar.js | 6 +++---
src/index.css | 16 +++++++++++++---
3 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/src/components/Footer.js b/src/components/Footer.js
index ee5eca92..7e8f1218 100644
--- a/src/components/Footer.js
+++ b/src/components/Footer.js
@@ -3,8 +3,7 @@ import React from 'react';
export const Footer = () => {
return (
);
diff --git a/src/components/ProgressBar.js b/src/components/ProgressBar.js
index 78f33412..78a2b692 100644
--- a/src/components/ProgressBar.js
+++ b/src/components/ProgressBar.js
@@ -20,14 +20,14 @@ export const ProgressBar = () => {
const percent = ((currentQuestion - 1) / (totalQuestions - 1)) * 100;
const StyledContainer = styled.div`
- background-color: darkgreen;
- border: black solid 2px;
+
+
`;
const StyledBar = styled.div`
display: flex;
height: 100%;
width: 50px;
- background-color: lightgreen;
+ background-color: transparent;
border-radius: 50px;
font-weight: bold;
color: black;
diff --git a/src/index.css b/src/index.css
index e11c0918..2d154b6d 100644
--- a/src/index.css
+++ b/src/index.css
@@ -34,7 +34,7 @@ code {
display: flex;
flex-direction: column;
align-items: center;
- justify-content: space-evenly;
+ justify-content: center;
text-align: center;
padding: 0 10px 0 10px;
@@ -46,11 +46,16 @@ code {
.next-button {
color: rgb(35, 38, 38);
background-color: rgb(145, 203, 166);
- border-radius: 10px;
padding: 15px;
cursor: pointer;
}
+.next-button:hover {
+ transform: scale(1.1);
+ background-color:beige;
+}
+
+
.selected {
color: blue;
background-color: rgb(168, 226, 226);
@@ -69,10 +74,15 @@ code {
button {
cursor: pointer;
- border-radius: 10px;
+ border-radius: 0px;
padding: 10px;
}
+button:hover {
+ transform: scale(1.1);
+ background-color: rgb(208, 235, 167);
+}
+
.options {
display: flex;
flex-wrap: wrap;
From 1f6404e64f06f46174d95cd6f3207b2079f1a388 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 14:29:21 +0200
Subject: [PATCH 16/24] fixed correct and wrong answer function
---
src/components/CurrentQuestion.js | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/components/CurrentQuestion.js b/src/components/CurrentQuestion.js
index 869ba9b8..84f115fe 100644
--- a/src/components/CurrentQuestion.js
+++ b/src/components/CurrentQuestion.js
@@ -1,3 +1,4 @@
+/* eslint-disable no-nested-ternary */
import React, { useEffect, useState } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { quiz } from 'reducers/quiz';
@@ -8,12 +9,14 @@ import { QuizSummary } from './QuizSummary';
export const CurrentQuestion = () => {
const question = useSelector((state) => state.quiz.questions[state.quiz.currentQuestionIndex])
const [selectedOption, setSelectedOption] = useState(null);
+ const [disabled, setDisabled] = useState(false); // added state for disabling options buttons
const isQuizOver = useSelector((state) => state.quiz.quizOver);
const dispatch = useDispatch();
useEffect(() => {
setSelectedOption(null);
+ setDisabled(false); // Reset the disabled state when the question changes
}, [question, isQuizOver]);
const onButtonClick = () => {
@@ -27,6 +30,7 @@ export const CurrentQuestion = () => {
const onAnswerSelect = (index) => {
setSelectedOption(index);
+ setDisabled(true); // disable options buttons once an answer is selected
}
if (!question) {
@@ -50,7 +54,17 @@ export const CurrentQuestion = () => {
onAnswerSelect(index)}>
+ disabled={disabled}
+ onClick={() => onAnswerSelect(index)}
+ style={{
+ border:
+ selectedOption !== null
+ && index === question.correctAnswerIndex
+ ? '4px solid green'
+ : selectedOption !== null && selectedOption === index
+ ? '4px solid red'
+ : 'none'
+ }}>
{singleOption}
))}
From efd11df290969d44f44d73c2c722e0626eb5dd21 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 14:36:10 +0200
Subject: [PATCH 17/24] css
---
src/index.css | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/index.css b/src/index.css
index 2d154b6d..1b02892e 100644
--- a/src/index.css
+++ b/src/index.css
@@ -7,6 +7,7 @@
body {
margin: 0;
+ margin-bottom: 0;
font-family: 'Chivo Mono', monospace;
font-variation-settings: 'wdth' 50, 'slnt' 0;
font-size: 16px;
@@ -26,7 +27,6 @@ code {
flex-direction: column;
align-items: center;
width: 300px;
-
background-color: rgb(204, 230, 221);
}
@@ -36,10 +36,9 @@ code {
align-items: center;
justify-content: center;
text-align: center;
-
padding: 0 10px 0 10px;
margin: 0;
- margin-bottom: 20px;
+
}
From e93386a41de9b461ecf923f789d2206edcaaaefb Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 14:40:09 +0200
Subject: [PATCH 18/24] trying to fix css
---
src/index.css | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/index.css b/src/index.css
index 1b02892e..a2126b47 100644
--- a/src/index.css
+++ b/src/index.css
@@ -7,7 +7,7 @@
body {
margin: 0;
- margin-bottom: 0;
+ height: 100%;
font-family: 'Chivo Mono', monospace;
font-variation-settings: 'wdth' 50, 'slnt' 0;
font-size: 16px;
@@ -67,7 +67,7 @@ code {
flex-direction: column;
align-items: center;
text-align: center;
-
+ height: 100%;
}
From f4f1564efc70413bab196c131069bea6b52828e6 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 15:14:50 +0200
Subject: [PATCH 19/24] trying to fix size of background css
---
src/index.css | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/index.css b/src/index.css
index a2126b47..cde94801 100644
--- a/src/index.css
+++ b/src/index.css
@@ -39,7 +39,6 @@ code {
padding: 0 10px 0 10px;
margin: 0;
-
}
.next-button {
@@ -67,7 +66,7 @@ code {
flex-direction: column;
align-items: center;
text-align: center;
- height: 100%;
+ height: 200vh;
}
From dab021fa8ec87606b3da9f0dd70ebad0a97efd06 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 15:17:27 +0200
Subject: [PATCH 20/24] css fix
---
src/index.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/index.css b/src/index.css
index cde94801..9f403646 100644
--- a/src/index.css
+++ b/src/index.css
@@ -66,7 +66,7 @@ code {
flex-direction: column;
align-items: center;
text-align: center;
- height: 200vh;
+ height: 100vh;
}
From e90848d3e3ee5ac17f36599f5d7125ef6ef51916 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 15:21:39 +0200
Subject: [PATCH 21/24] css
---
src/index.css | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/index.css b/src/index.css
index 9f403646..aa6b12c1 100644
--- a/src/index.css
+++ b/src/index.css
@@ -27,6 +27,7 @@ code {
flex-direction: column;
align-items: center;
width: 300px;
+ margin-top: 20px;
background-color: rgb(204, 230, 221);
}
From d3e4f8f0bd6f21a7c6d5d176a7177325db151e8d Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 15:44:54 +0200
Subject: [PATCH 22/24] css
---
src/components/QuizSummary.js | 4 ++--
src/index.css | 8 ++++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/components/QuizSummary.js b/src/components/QuizSummary.js
index 4ca25550..d0adffd7 100644
--- a/src/components/QuizSummary.js
+++ b/src/components/QuizSummary.js
@@ -28,9 +28,9 @@ export const QuizSummary = () => {
}, 0);
return (
-
+
Quiz Summary
-
Play again
+ Play again
Total Correct Answers: {correctAnswers}
diff --git a/src/index.css b/src/index.css
index aa6b12c1..aff6243e 100644
--- a/src/index.css
+++ b/src/index.css
@@ -16,6 +16,7 @@ body {
color: black;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
+ background-color: beige;
}
code {
@@ -67,7 +68,6 @@ code {
flex-direction: column;
align-items: center;
text-align: center;
- height: 100vh;
}
@@ -90,9 +90,13 @@ button:hover {
margin: 10px;
}
-.summary {
+.summary-section {
display: flex;
flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
padding: 20px;
+ background-color: beige;
}
\ No newline at end of file
From 2e8603339921fbb4fe7f5fb0ff9c03611ac22293 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 16:26:03 +0200
Subject: [PATCH 23/24] readme update
---
README.md | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index d6ee60c3..e16030ce 100644
--- a/README.md
+++ b/README.md
@@ -16,8 +16,17 @@ You should also create a CSS stylesheet to style your quiz game. Make it visuall
## The problem
-Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next?
+I worked alone this week. The problem was to learn about Redux for the first time.
+Redux is a state management library for JavaScript applications. It's commonly used with React, but can also be used with other libraries or frameworks.
+
+The basic idea behind Redux is that the entire state of your application is kept in a single store, which is represented as a plain JavaScript object. The store is created using a function called a reducer, which takes the current state and an action as arguments and returns a new state. Actions are plain JavaScript objects that describe what happened in the application (e.g. a button was clicked).
+
+One of the key features of Redux is its ability to manage asynchronous actions using middleware. Middleware is a function that sits between the action being dispatched and the reducer, allowing you to perform side effects like making API requests or logging actions.
+
+Redux also has a concept of "reducers composition", which means that multiple reducers can be combined to manage different parts of the application state. This helps to keep your code organized and maintainable.
+
+Overall, Redux can be a powerful tool for managing the state of your application, especially as it grows in complexity. However, it does have a bit of a learning curve, so it's important to invest some time in understanding its core concepts before diving in.
## View it live
-Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about.
+https://redux-quiz-marvel.netlify.app/
From f6ce8e6fa9affad68ff2e340a1af209dc46748b1 Mon Sep 17 00:00:00 2001
From: NinaW <120198299+NinaWald@users.noreply.github.com>
Date: Sun, 16 Apr 2023 20:49:36 +0200
Subject: [PATCH 24/24] fixed error in percentage progressbar
---
src/components/ProgressBar.js | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/components/ProgressBar.js b/src/components/ProgressBar.js
index 78a2b692..5a18ed9d 100644
--- a/src/components/ProgressBar.js
+++ b/src/components/ProgressBar.js
@@ -15,9 +15,8 @@ export const ProgressBar = () => {
const totalQuestions = useSelector(
(state) => state.quiz.questions.length
);
- // Calculate percentage progress based on current question index and total number of questions
- // Subtract 1 from both currentQuestion and totalQuestions because array indices start from 0
- const percent = ((currentQuestion - 1) / (totalQuestions - 1)) * 100;
+
+ const percent = (currentQuestion / (totalQuestions - 1)) * 100;
const StyledContainer = styled.div`
@@ -46,7 +45,7 @@ export const ProgressBar = () => {
aria-valuemax={100}
>
- {currentQuestion}/{totalQuestions}
+ {currentQuestion + 1}/{totalQuestions}