Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
b654eb3
[Feat] 배경, 텍스트, 이미지 요소 추가
jangtaebin3 Sep 25, 2024
a9838b2
[Feat] 텍스트 정렬, 배경 요소 제작
jangtaebin3 Sep 26, 2024
4c552da
미디어 쿼리 제작 실습
jangtaebin3 Oct 30, 2024
1080753
Revert "미디어 쿼리 제작 실습"
jangtaebin3 Oct 30, 2024
8015ea3
미디어 퀴리 영상 실습
jangtaebin3 Oct 30, 2024
334c122
[Feat] 미디어 쿼리 1차 적용
jangtaebin3 Nov 5, 2024
736b904
Revert "[Feat] 미디어 쿼리 1차 적용"
jangtaebin3 Nov 5, 2024
5d086d0
[Feat] 미디어 쿼리 1차 적용 완료
jangtaebin3 Nov 5, 2024
77724ac
Revert "[Feat] 미디어 쿼리 1차 적용 완료"
jangtaebin3 Nov 6, 2024
1727794
[Feat] 미디어 쿼리 기능 적용
jangtaebin3 Nov 6, 2024
f8ee885
[Fix] 미디어 쿼리 적용 완료
jangtaebin3 Nov 6, 2024
5dc1fab
[Fix] Recipe 페이지 완성
jangtaebin3 Nov 7, 2024
4767fc1
[Feat] todo_app 1차 위치 배열, 기능 구현
jangtaebin3 Nov 12, 2024
f281e2f
[Fix] 이미지 적용, 폰트 적용 완료
jangtaebin3 Nov 14, 2024
11ceeb3
[Fix] 버튼 구성 요소 수정 완료, todo app 완성
jangtaebin3 Nov 14, 2024
046ea4b
[Fix] 구분선 색상 적용, 입력창 테두리 수정
jangtaebin3 Nov 14, 2024
0994d9f
[Fix] 다크 모드 체크 박스 hover 상태 수정
jangtaebin3 Nov 14, 2024
5225bde
리액트 훅 실습 코드
jangtaebin3 Nov 17, 2024
2615353
리액트 훅 예제 실습
jangtaebin3 Nov 17, 2024
3fe8404
Delete mistake
jangtaebin3 Nov 17, 2024
8e1d899
create ignore
jangtaebin3 Nov 17, 2024
f0099f1
tic-tac-toe 기능 구현
jangtaebin3 Nov 20, 2024
e79dda0
파일 구조 조정
jangtaebin3 Nov 20, 2024
f58bd8a
파일 이름 변경
jangtaebin3 Nov 20, 2024
1c78261
gitignore .yarn 무시 추가
jangtaebin3 Nov 20, 2024
d0bd90c
gitignore .yarn 무시 추가
jangtaebin3 Nov 20, 2024
309bfdd
파일 구조 조정
jangtaebin3 Nov 20, 2024
3110aa6
Remove .yarn folder from repository
jangtaebin3 Nov 21, 2024
cbc8b05
Remove node_modules from Git
jangtaebin3 Nov 21, 2024
89ca525
Remove __MACOSX and _tic-tac-toe from repository
jangtaebin3 Nov 21, 2024
ade7a81
Update gitignore
jangtaebin3 Nov 21, 2024
349214d
[Add] StartPage 디자인 요소 추가
jangtaebin3 Nov 21, 2024
b05f410
assets 폴더 추가
jangtaebin3 Nov 21, 2024
db72adf
[Fix] StartPage 디자인 세부 조정
jangtaebin3 Nov 21, 2024
cf9a823
[Fix] 칸 크기, 칸 간격 조정
jangtaebin3 Nov 21, 2024
3123489
[Add] 게임 페이지 상단 요소 추가
jangtaebin3 Nov 21, 2024
4b3b423
[Fix] GamePage 상단 요소 위치 조정
jangtaebin3 Nov 21, 2024
9f97d79
[Add] 폰트 적용
jangtaebin3 Nov 21, 2024
1935e0c
[Fix] 게임보드 그림자 추가
jangtaebin3 Nov 21, 2024
159b589
[Fix] 새로고침 기능 수정, 새로고침 hover 상태 추가
jangtaebin3 Nov 21, 2024
7ef7a61
[Add] Modal.js 디자인 적용
jangtaebin3 Nov 21, 2024
84c8d83
[Fix] 폰트 사이즈 수정
jangtaebin3 Nov 21, 2024
b920e02
파일 구조 정리
jangtaebin3 Nov 25, 2024
60d98da
[Fix] X 선택 버튼 수정
jangtaebin3 Dec 28, 2024
fcd4f70
[Fix] X 버튼 수정
jangtaebin3 Dec 28, 2024
7f8f828
[Fix] 일부 경우 점수판 조정
jangtaebin3 Dec 28, 2024
fdebbce
[Add] yarn install
jangtaebin3 Dec 28, 2024
51e9df9
[Fix] 선택 상황에 따른 O 버튼 수정
jangtaebin3 Dec 28, 2024
9ee9bb6
[Fix] O 버튼 기능 수정
jangtaebin3 Dec 29, 2024
44aa3fc
[Add] RESTART Modal 추가
jangtaebin3 Dec 30, 2024
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
6 changes: 6 additions & 0 deletions 05_react/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/node_modules

node_modules/

__MACOSX/
_tic-tac-toe/
Binary file added 05_react/.yarn/install-state.gz
Binary file not shown.
934 changes: 934 additions & 0 deletions 05_react/.yarn/releases/yarn-4.5.1.cjs

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions 05_react/.yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-4.5.1.cjs
42 changes: 42 additions & 0 deletions 05_react/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"name": "05_react",
"version": "0.1.0",
"private": true,
"workspaces": [
"packages/*"
],
"dependencies": {
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
"@testing-library/user-event": "^13.2.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.0"
},
"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"
]
},
"packageManager": "yarn@4.5.1"
}
1 change: 1 addition & 0 deletions 05_react/packages/05_react_hook_practice/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/node_modules
70 changes: 70 additions & 0 deletions 05_react/packages/05_react_hook_practice/README.md
Original file line number Diff line number Diff line change
@@ -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:

### `yarn 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.

### `yarn 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.

### `yarn 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.

### `yarn 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)

### `yarn 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)
38 changes: 38 additions & 0 deletions 05_react/packages/05_react_hook_practice/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"name": "05_react_example_practice",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
"@testing-library/user-event": "^13.2.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.0"
},
"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"
]
}
}
Binary file not shown.
43 changes: 43 additions & 0 deletions 05_react/packages/05_react_hook_practice/public/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<!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" />
<!--
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>React App</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>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions 05_react/packages/05_react_hook_practice/public/manifest.json
Original file line number Diff line number Diff line change
@@ -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 changes: 3 additions & 0 deletions 05_react/packages/05_react_hook_practice/public/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
38 changes: 38 additions & 0 deletions 05_react/packages/05_react_hook_practice/src/App.css
Original file line number Diff line number Diff line change
@@ -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);
}
}
66 changes: 66 additions & 0 deletions 05_react/packages/05_react_hook_practice/src/App.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
import React, { useState } from "react";
import UseStateExample1 from "./Example/UseStateExample1";
import UseStateExample2 from "./Example/UseStateExample2";
import UseEffectExample1 from "./Example/UseEffectExample1";
import UseEffectExample2 from "./Example/UseEffectExample2";
import UseRefExample1 from "./Example/UseRefExample1";
import UseRefExample2 from "./Example/UseRefExample2";
import UseRefExample3 from "./Example/UseRefExample3";

const App = () => {
const [activeComponent, setActiveComponent] = useState("home");

const renderComponent = () => {
switch (activeComponent) {
case "usestate1":
return <UseStateExample1 />;
case "usestate2":
return <UseStateExample2 />;
case "useeffect1":
return <UseEffectExample1 />;
case "useeffect2":
return <UseEffectExample2 />;
case "useref1":
return <UseRefExample1 />;
case "useref2":
return <UseRefExample2 />;
case "useref3":
return <UseRefExample3 />;
}
};

return (
<div>
<h1>React Hooks Examples</h1>
<nav>
<ul>
<li onClick={() => setActiveComponent("usestate1")}>
<button>UseState Example 1</button>
</li>
<li onClick={() => setActiveComponent("usestate2")}>
<button>UseState Example 2</button>
</li>
<li onClick={() => setActiveComponent("useeffect1")}>
<button>UseEffect Example 1</button>
</li>
<li onClick={() => setActiveComponent("useeffect2")}>
<button>UseEffect Example 2</button>
</li>
<li onClick={() => setActiveComponent("useref1")}>
<button>UseRef Example 1</button>
</li>
<li onClick={() => setActiveComponent("useref2")}>
<button>UseRef Example 2</button>
</li>
<li onClick={() => setActiveComponent("useref3")}>
<button>UseRef Example 3</button>
</li>
</ul>
</nav>

<div>{renderComponent()}</div>
</div>
);
};

export default App;
8 changes: 8 additions & 0 deletions 05_react/packages/05_react_hook_practice/src/App.test.js
Original file line number Diff line number Diff line change
@@ -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();
});
Loading