React feladat (2024. 12. 16. + 2024. 12. 17.)
14
2024. 12. 10/test/src/Kaka.js
Normal file
|
@ -0,0 +1,14 @@
|
|||
import React, { use } from "react";
|
||||
import { useState } from "react";
|
||||
|
||||
function Kaka() {
|
||||
let [gyumolcs, setGyumolcs] = useState("barack")
|
||||
return (
|
||||
<>
|
||||
<p>{gyumolcs}</p>
|
||||
<button onClick={() => setGyumolcs("kaka")}>Csá fasz</button>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default Kaka
|
|
@ -3,13 +3,15 @@ import ReactDOM from 'react-dom/client';
|
|||
import './index.css';
|
||||
// import App from './App';
|
||||
import Auto from "./Auto"
|
||||
import Kaka from "./Kaka"
|
||||
import reportWebVitals from './reportWebVitals';
|
||||
let auto1 = {szin: "narancs", marka: "Suzuki"}
|
||||
let auto2 = {szin: "vörös", marka: "Fiat"}
|
||||
const root = ReactDOM.createRoot(document.getElementById('root'));
|
||||
root.render(
|
||||
<React.StrictMode>
|
||||
<Auto auto1={auto1} auto2={auto2}/>
|
||||
{/* <Auto auto1={auto1} auto2={auto2}/> */}
|
||||
<Kaka />
|
||||
</React.StrictMode>
|
||||
);
|
||||
|
||||
|
|
23
2024. 12. 16/test/.gitignore
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
70
2024. 12. 16/test/README.md
Normal file
|
@ -0,0 +1,70 @@
|
|||
# Getting Started with Create React App
|
||||
|
||||
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
|
||||
|
||||
## Available Scripts
|
||||
|
||||
In the project directory, you can run:
|
||||
|
||||
### `npm start`
|
||||
|
||||
Runs the app in the development mode.\
|
||||
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.
|
||||
|
||||
### `npm test`
|
||||
|
||||
Launches the test runner in the interactive watch mode.\
|
||||
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
|
||||
|
||||
### `npm run build`
|
||||
|
||||
Builds the app for production to the `build` folder.\
|
||||
It correctly bundles React in production mode and optimizes the build for the best performance.
|
||||
|
||||
The build is minified and the filenames include the hashes.\
|
||||
Your app is ready to be deployed!
|
||||
|
||||
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
|
||||
|
||||
### `npm run eject`
|
||||
|
||||
**Note: this is a one-way operation. Once you `eject`, you can't go back!**
|
||||
|
||||
If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
|
||||
|
||||
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
|
||||
|
||||
You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
|
||||
|
||||
## Learn More
|
||||
|
||||
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
|
||||
|
||||
To learn React, check out the [React documentation](https://reactjs.org/).
|
||||
|
||||
### Code Splitting
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
|
||||
|
||||
### Analyzing the Bundle Size
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
|
||||
|
||||
### Making a Progressive Web App
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
|
||||
|
||||
### Advanced Configuration
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
|
||||
|
||||
### Deployment
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
|
||||
|
||||
### `npm run build` fails to minify
|
||||
|
||||
This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
|
17243
2024. 12. 16/test/package-lock.json
generated
Normal file
36
2024. 12. 16/test/package.json
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "test",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"cra-template": "1.2.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-scripts": "5.0.1",
|
||||
"web-vitals": "^4.2.4"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": [
|
||||
"react-app",
|
||||
"react-app/jest"
|
||||
]
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
}
|
||||
}
|
BIN
2024. 12. 16/test/public/dl-background.jpg
Normal file
After Width: | Height: | Size: 629 KiB |
BIN
2024. 12. 16/test/public/dl-img1.jpg
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
2024. 12. 16/test/public/dl-logo.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
2024. 12. 16/test/public/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
45
2024. 12. 16/test/public/index.html
Normal file
|
@ -0,0 +1,45 @@
|
|||
<!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" />
|
||||
<script src="https://kit.fontawesome.com/f5d27edf17.js" crossorigin="anonymous"></script>
|
||||
<!--
|
||||
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" />
|
||||
<!--
|
||||
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.
|
||||
|
||||
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
|
||||
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>Dying Light</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.
|
||||
|
||||
You can add webfonts, meta tags, or analytics to this file.
|
||||
The build step will place the bundled scripts into the <body> tag.
|
||||
|
||||
To begin the development, run `npm start` or `yarn start`.
|
||||
To create a production bundle, use `npm run build` or `yarn build`.
|
||||
-->
|
||||
</body>
|
||||
</html>
|
BIN
2024. 12. 16/test/public/logo192.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
2024. 12. 16/test/public/logo512.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
25
2024. 12. 16/test/public/manifest.json
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
},
|
||||
{
|
||||
"src": "logo192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "logo512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
}
|
3
2024. 12. 16/test/public/robots.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
BIN
2024. 12. 16/test/public/weapon1.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
2024. 12. 16/test/public/weapon2.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
2024. 12. 16/test/public/weapon3.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
38
2024. 12. 16/test/src/App.css
Normal file
|
@ -0,0 +1,38 @@
|
|||
.App {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.App-logo {
|
||||
height: 40vmin;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.App-logo {
|
||||
animation: App-logo-spin infinite 20s linear;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.App-link {
|
||||
color: #61dafb;
|
||||
}
|
||||
|
||||
@keyframes App-logo-spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
25
2024. 12. 16/test/src/App.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
import logo from './logo.svg';
|
||||
import './App.css';
|
||||
|
||||
function App() {
|
||||
return (
|
||||
<div className="App">
|
||||
<header className="App-header">
|
||||
<img src={logo} className="App-logo" alt="logo" />
|
||||
<p>
|
||||
Edit <code>src/App.js</code> and save to reload.
|
||||
</p>
|
||||
<a
|
||||
className="App-link"
|
||||
href="https://reactjs.org"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Learn React
|
||||
</a>
|
||||
</header>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default App;
|
8
2024. 12. 16/test/src/App.test.js
Normal file
|
@ -0,0 +1,8 @@
|
|||
import { render, screen } from '@testing-library/react';
|
||||
import App from './App';
|
||||
|
||||
test('renders learn react link', () => {
|
||||
render(<App />);
|
||||
const linkElement = screen.getByText(/learn react/i);
|
||||
expect(linkElement).toBeInTheDocument();
|
||||
});
|
37
2024. 12. 16/test/src/Body.css
Normal file
|
@ -0,0 +1,37 @@
|
|||
main {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
section {
|
||||
box-shadow: -5px 5px 20px rgb(0, 0, 0);
|
||||
width: 70%;
|
||||
margin: 20px 0;
|
||||
background-color: white;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
section a {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
|
||||
section a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
section button {
|
||||
padding: 20px;
|
||||
}
|
72
2024. 12. 16/test/src/Body.js
Normal file
|
@ -0,0 +1,72 @@
|
|||
import React from "react";
|
||||
import "./Body.css"
|
||||
|
||||
function Body() {
|
||||
return (
|
||||
<>
|
||||
<main>
|
||||
<section id="introduction">
|
||||
<a href="https://en.wikipedia.org/wiki/Dying_Light" target="_blank"><h2>Introduction</h2></a>
|
||||
<p>
|
||||
Dying Light is a 2015 survival horror video game developed by Techland and published by Warner Bros. Interactive Entertainment. The game's story follows undercover agent Kyle Crane who is sent to infiltrate a quarantine zone in a fictional Middle Eastern city called Harran. It features an enemy-infested, open world city with a dynamic day–night cycle, in which zombies are slow and clumsy during daytime and extremely aggressive at night. The gameplay is focused on weapons-based combat and parkour, allowing players to choose fight or flight when presented with dangers. The game features an asymmetrical multiplayer mode (originally set to be a pre-order bonus), and a four-player co-operative multiplayer mode.
|
||||
</p>
|
||||
<p>
|
||||
The development of the game began in early 2012, after the team completed the development of Dead Island. The game's parkour system emphasizes natural movement. To implement that, Techland had to abandon most of the story elements and construct them again from scratch. To create a story that would suit the taste of the American audience, the writing team collaborated with Dan Jolley. The story was inspired by both Heart of Darkness and The Plague. Announced in May 2013, it was released in January 2015 for Linux, PlayStation 4, Windows, and Xbox One. The game was planned to be released on PlayStation 3 and Xbox 360, but these versions were cancelled due to hardware limitations.
|
||||
</p>
|
||||
</section>
|
||||
<section id="gameplay">
|
||||
<a href="https://en.wikipedia.org/wiki/Dying_Light" target="_blank"><h2>Gameplay</h2></a>
|
||||
<p>
|
||||
Dying Light is a survival horror video game played from a first-person perspective. The game is set in an open world environment called Harran; initially, an area named the Slums can be freely explored, later adding a second area, accessible via sewers, called Old Town. Players traverse this urban environment, which is overrun by zombies. There is an emphasis on parkour mechanics, which allow players to perform actions such as climbing ledges, leaping from edges, sliding, jumping between roofs and zip-lining. A grappling hook allows players to climb up buildings and quickly travel between places. As players explore the game's world, they can scavenge supplies and loot, which can be used to craft new weapons or sold to vendors. The player character can utilise his "survivor sense" to identify all nearby loot and use lock picks to open locked chests and locked vehicles. Players can also complete various side missions by accepting tasks issued by the non-playable characters in the game's safe zones. As players explore Harran, they can also pick up various collectibles such as notes and journals, and listen to voice mail recordings.
|
||||
</p>
|
||||
<p>
|
||||
Dying Light contains a dynamic day–night cycle. During the day, players can set traps, save random survivors, and make their way to airdrops. The infected are slow, apathetic, and easily visible and they can be easily avoided. Players can use environmental traps, such as spikes, electrified fences, and gas tanks, to kill the infected. At night, the infected transform to become much more dangerous. Without daylight, the senses of the infected become more acute and accurate. They can sprint after the player character, inflict more damage, and gain the ability to jump and climb buildings. For players to avoid contact, they need to use their "survivor sense" to locate and avoid the infected. If the player character is spotted, they can use distractions and traps to reduce the number of infected. Players' main defence against the infected is ultraviolet light, which slows their movement. At safehouses, players can adjust the time of day, skipping night altogether if the player does not feel ready.
|
||||
</p>
|
||||
</section>
|
||||
<section id="about-characters">
|
||||
<a href="https://dyinglight.fandom.com/wiki/Category:Characters" target="_blank"><h2>About characters</h2></a>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Information</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kyle Crane</td>
|
||||
<td>
|
||||
Kyle Crane is the protagonist of Dying Light, Dying Light: The Following, and Dying Light: The Beast, and is mentioned in Dying Light 2 Stay Human.
|
||||
|
||||
He was voiced by Roger Craig Smith.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Kadir Suleiman (Rais)
|
||||
</td>
|
||||
<td>
|
||||
Kadir Suleiman, better known as Rais, is a main character featured in Dying Light, serving as the primary antagonist.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
<section id="random-weapons">
|
||||
<a href="https://dyinglight.fandom.com/wiki/Weapons_(Dying_Light)" target="_blank"><h2>Random weapons</h2></a>
|
||||
<button onClick={() => revealWeapon()}>Reveal a random weapon</button>
|
||||
<div id="show-random-weapon"></div>
|
||||
</section>
|
||||
</main>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
function revealWeapon() {
|
||||
const randomArray = ["../weapon1.png", "../weapon2.png", "../weapon3.png"]
|
||||
|
||||
let randomWeaponDiv = document.getElementById("show-random-weapon")
|
||||
randomWeaponDiv.innerHTML = ""
|
||||
|
||||
let img = document.createElement("img")
|
||||
img.src = randomArray[Math.floor(Math.random() * 3)]
|
||||
randomWeaponDiv.appendChild(img)
|
||||
}
|
||||
|
||||
export default Body
|
22
2024. 12. 16/test/src/Footer.css
Normal file
|
@ -0,0 +1,22 @@
|
|||
footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background: linear-gradient(to left, rgb(10, 10, 10), rgb(25, 25, 25));
|
||||
height: 100%;
|
||||
padding: 4px 10px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
footer span i {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
footer a {
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
footer a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
14
2024. 12. 16/test/src/Footer.js
Normal file
|
@ -0,0 +1,14 @@
|
|||
import React from "react";
|
||||
import "./Footer.css"
|
||||
|
||||
function Footer() {
|
||||
return (
|
||||
<footer>
|
||||
<span><i class="fa-solid fa-copyright"></i>2024, All right reserved</span>
|
||||
<a href="https://dyinglightgame.com/dying-light-2"><span>Dying Light 2: Stay Human</span></a>
|
||||
<a href="/"><img src="../dl-logo.png" alt=""></img></a>
|
||||
</footer>
|
||||
)
|
||||
}
|
||||
|
||||
export default Footer
|
33
2024. 12. 16/test/src/Header.css
Normal file
|
@ -0,0 +1,33 @@
|
|||
nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background: linear-gradient(to left, rgb(10, 10, 10), rgb(25, 25, 25));
|
||||
color: white;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
nav a {
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
nav img {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
nav ul {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
nav ul li {
|
||||
margin-right: 30px;
|
||||
list-style: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
nav ul li:hover {
|
||||
text-decoration: underline;
|
||||
}
|
21
2024. 12. 16/test/src/Header.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
import React from "react";
|
||||
import "./Header.css"
|
||||
|
||||
function Header() {
|
||||
return (
|
||||
<>
|
||||
<nav>
|
||||
<a href="/"><img src="../dl-logo.png" alt=""></img></a>
|
||||
<ul>
|
||||
<a href="/"><li>Home page</li></a>
|
||||
<a href="#introduction"><li>Introduction</li></a>
|
||||
<a href="#gameplay"><li>Gameplay</li></a>
|
||||
<a href="#about-characters"><li>About characters</li></a>
|
||||
<a href="#random-weapons"><li>Random weapons</li></a>
|
||||
</ul>
|
||||
</nav>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default Header
|
15
2024. 12. 16/test/src/index.css
Normal file
|
@ -0,0 +1,15 @@
|
|||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
||||
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
||||
sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
background-image: url("../public/dl-background.jpg");
|
||||
backdrop-filter: blur(3px);
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
||||
monospace;
|
||||
}
|
21
2024. 12. 16/test/src/index.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
import React from 'react';
|
||||
import ReactDOM from 'react-dom/client';
|
||||
import './index.css';
|
||||
import Header from './Header';
|
||||
import Body from './Body';
|
||||
import Footer from './Footer'
|
||||
import reportWebVitals from './reportWebVitals';
|
||||
|
||||
const root = ReactDOM.createRoot(document.getElementById('root'));
|
||||
root.render(
|
||||
<React.StrictMode>
|
||||
<Header />
|
||||
<Body />
|
||||
<Footer />
|
||||
</React.StrictMode>
|
||||
);
|
||||
|
||||
// If you want to start measuring performance in your app, pass a function
|
||||
// to log results (for example: reportWebVitals(console.log))
|
||||
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
|
||||
reportWebVitals();
|
1
2024. 12. 16/test/src/logo.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg>
|
After Width: | Height: | Size: 2.6 KiB |
13
2024. 12. 16/test/src/reportWebVitals.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
const reportWebVitals = onPerfEntry => {
|
||||
if (onPerfEntry && onPerfEntry instanceof Function) {
|
||||
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
|
||||
getCLS(onPerfEntry);
|
||||
getFID(onPerfEntry);
|
||||
getFCP(onPerfEntry);
|
||||
getLCP(onPerfEntry);
|
||||
getTTFB(onPerfEntry);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
export default reportWebVitals;
|
5
2024. 12. 16/test/src/setupTests.js
Normal file
|
@ -0,0 +1,5 @@
|
|||
// jest-dom adds custom jest matchers for asserting on DOM nodes.
|
||||
// allows you to do things like:
|
||||
// expect(element).toHaveTextContent(/react/i)
|
||||
// learn more: https://github.com/testing-library/jest-dom
|
||||
import '@testing-library/jest-dom';
|