Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1901c0f
add function to self light up buttons
syfq-isml Apr 6, 2023
c1799c6
game works as expected
syfq-isml Apr 6, 2023
5c4858c
improve ux by automatically starting next level
syfq-isml Apr 6, 2023
e3b6956
number game works as expected
syfq-isml Apr 7, 2023
5200e1e
word game works as expected
syfq-isml Apr 7, 2023
7bba122
no repeat game works as expected
syfq-isml Apr 8, 2023
63c6b07
add routing
syfq-isml Apr 9, 2023
5c24f1e
implement sounds
syfq-isml Apr 9, 2023
c28fd39
implement localStorage
syfq-isml Apr 9, 2023
9e713f7
improve localStorage implementation
syfq-isml Apr 10, 2023
b346aae
add sound to individual SS buttons
syfq-isml Apr 10, 2023
3d9037c
handle duplicate id in SS sequence
syfq-isml Apr 11, 2023
f6f4779
add styling to NR game
syfq-isml Apr 11, 2023
9716b9a
add styling to NG game
syfq-isml Apr 11, 2023
df7c3be
add styling to WG game
syfq-isml Apr 11, 2023
23db40d
add randomised navigation on homepage
syfq-isml Apr 12, 2023
7b6d8ce
add win state to NR game
syfq-isml Apr 12, 2023
b2d56fb
style homepage logo
syfq-isml Apr 12, 2023
0082406
finish styling SS game
syfq-isml Apr 12, 2023
da257ff
add input validation to NG game
syfq-isml Apr 12, 2023
8fda120
finish styling home page
syfq-isml Apr 12, 2023
09dae8c
fix minor details
syfq-isml Apr 12, 2023
6111a6a
add more minor details
syfq-isml Apr 12, 2023
491ae4c
fix zoom out stuff
syfq-isml Apr 12, 2023
c07ecec
dissolve Homepage into components
syfq-isml Apr 13, 2023
513a83b
dissolve NR game into components
syfq-isml Apr 13, 2023
66e838e
dissolve NG game into components
syfq-isml Apr 13, 2023
3006fab
dissolve SS game into components
syfq-isml Apr 13, 2023
7401467
dissolve WG game into components
syfq-isml Apr 13, 2023
da51a91
add error page route
syfq-isml Apr 13, 2023
a02e1b2
fix localStorage
syfq-isml Apr 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,7 @@ Open [http://localhost:3000](http://localhost:3000) to view it in your browser.

The page will reload when you make changes.\
You may also see any lint errors in the console.

## Credits

Photo by [Andra C Taylor Jr](https://unsplash.com/@taylormadeglobal?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/photos/PCc-8q-sNKU?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
55,352 changes: 28,424 additions & 26,928 deletions package-lock.json

Large diffs are not rendered by default.

70 changes: 41 additions & 29 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,31 +1,43 @@
{
"name": "project1-bootcamp",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^18.1.0",
"react-dom": "^18.1.0",
"react-scripts": "5.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build"
},
"eslintConfig": {
"extends": [
"react-app"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
"name": "project1-bootcamp",
"version": "0.1.0",
"private": true,
"homepage": "https://syfq-isml.github.io/project1-bootcamp",
"dependencies": {
"@emotion/react": "^11.10.6",
"@emotion/styled": "^11.10.6",
"@mui/icons-material": "^5.11.16",
"@mui/material": "^5.11.16",
"audiosprite": "^0.7.2",
"gh-pages": "^5.0.0",
"howler": "^2.2.3",
"react": "^18.1.0",
"react-dom": "^18.1.0",
"react-howler": "^5.2.0",
"react-router-dom": "^6.10.0",
"react-scripts": "5.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"predeploy": "npm run build",
"deploy": "gh-pages -d build"
},
"eslintConfig": {
"extends": [
"react-app"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
Binary file removed public/favicon.ico
Binary file not shown.
44 changes: 23 additions & 21 deletions public/index.html
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
<head>
<meta charset="utf-8" />
<link
rel="icon"
href="https://em-content.zobj.net/thumbs/120/google/350/brain_1f9e0.png"
/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Expand All @@ -24,12 +27,12 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>Rocket Bootcamp Project</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
<title>Brain Brawn!</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.

Expand All @@ -38,6 +41,5 @@

To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
--></body>
</html>
191 changes: 177 additions & 14 deletions src/App.css
Original file line number Diff line number Diff line change
@@ -1,19 +1,182 @@
.App {
text-align: center;
a,
a:visited {
text-decoration: none;
color: inherit;
}

.App-logo {
height: 40vmin;
pointer-events: none;
.fl-col {
display: flex;
flex-direction: column;
}

.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
.fl-row {
display: flex;
flex-direction: row;
}

.fl-centered {
justify-content: center;
align-items: center;
}

.logo-spinner {
animation: rotationParent 60s infinite linear;
}

.logo-spinner__child {
animation: rotationChild 60s infinite linear;
}

@keyframes rotationParent {
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}

@keyframes rotationChild {
from {
transform: rotate(0deg);
}
to {
transform: rotate(-359deg);
}
}

.HOME-btns {
transition: transform 150ms ease-in;
}

.HOME-btns:hover {
transform: translateY(-5px);
}

.NO-REPEAT {
/* display: flex;
flex-direction: column;
align-items: center;
justify-content: center; */
min-height: 100vh;
background: #f2994a; /* fallback for old browsers */
background: -webkit-linear-gradient(
to bottom,
#f2c94c,
#f2994a
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to bottom,
#f2c94c,
#f2994a
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.NUMBER-GAME {
min-height: 100vh;
background: #56ab2f; /* fallback for old browsers */
background: -webkit-linear-gradient(
to bottom,
#a8e063,
#56ab2f
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to bottom,
#a8e063,
#56ab2f
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

input[type="text"] {
background-color: #2e2b26;
font-family: "Space Mono", monospace;
font-weight: 700;
color: #74d144;

text-align: center;
border: 0;
border: 1px solid #bab6ae;
font-size: 4rem;
border-radius: 5px;

width: 100%;
height: 5rem;
}

.WORD-GAME {
min-height: 100vh;
background: #da4453; /* fallback for old browsers */
background: -webkit-linear-gradient(
to top,
#89216b,
#da4453
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to top,
#89216b,
#da4453
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.SIMON-SAYS {
min-height: 100vh;
background: #36d1dc; /* fallback for old browsers */
background: -webkit-linear-gradient(
to top,
#5b86e5,
#36d1dc
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to top,
#5b86e5,
#36d1dc
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.blue {
background: #36d1dc; /* fallback for old browsers */
background: -webkit-linear-gradient(
to top,
#5b86e5,
#36d1dc
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to top,
#5b86e5,
#36d1dc
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.green {
background: #56ab2f; /* fallback for old browsers */
background: -webkit-linear-gradient(
to bottom,
#a8e063,
#56ab2f
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(
to bottom,
#a8e063,
#56ab2f
); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.orange {
background: #f2994a; /* fallback for old browsers */
background: -webkit-linear-gradient(
to bottom,
#f2c94c,
#f2994a
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to bottom, #f2c94c, #f2994a);
}

.red {
background: #da4453; /* fallback for old browsers */
background: -webkit-linear-gradient(
to top,
#89216b,
#da4453
); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to top, #89216b, #da4453);
}
Loading