From 9258919766ec89d0dd0d166f47a1e037d43c02bb Mon Sep 17 00:00:00 2001 From: 2EETY Date: Wed, 7 Aug 2024 20:12:35 +0900 Subject: [PATCH 1/6] =?UTF-8?q?SAPHY-8=20rename:=20=EB=9E=9C=EB=94=A9?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=ED=8F=B4=EB=8D=94=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=20=EC=A1=B0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 48 ++++++++++++++++++++++++++++++++++++++ frontend/package.json | 2 ++ 2 files changed, 50 insertions(+) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 0c2bfae..b92d420 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -13,6 +13,8 @@ "@testing-library/user-event": "^13.5.0", "react": "^18.3.1", "react-dom": "^18.3.1", + "react-icons": "^5.2.1", + "react-router-dom": "^6.26.0", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, @@ -3348,6 +3350,14 @@ } } }, + "node_modules/@remix-run/router": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.0.tgz", + "integrity": "sha512-zDICCLKEwbVYTS6TjYaWtHXxkdoUvD/QXvyVZjGCsWz5vyH7aFeONlPffPdW+Y/t6KT0MgXb2Mfjun9YpWN1dA==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -15172,6 +15182,14 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, + "node_modules/react-icons": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.2.1.tgz", + "integrity": "sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -15185,6 +15203,36 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.0.tgz", + "integrity": "sha512-wVQq0/iFYd3iZ9H2l3N3k4PL8EEHcb0XlU2Na8nEwmiXgIUElEH6gaJDtUQxJ+JFzmIXaQjfdpcGWaM6IoQGxg==", + "dependencies": { + "@remix-run/router": "1.19.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.0.tgz", + "integrity": "sha512-RRGUIiDtLrkX3uYcFiCIxKFWMcWQGMojpYZfcstc63A1+sSnVgILGIm9gNUA6na3Fm1QuPGSBQH2EMbAZOnMsQ==", + "dependencies": { + "@remix-run/router": "1.19.0", + "react-router": "6.26.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index ee2e72b..9ffa647 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -8,6 +8,8 @@ "@testing-library/user-event": "^13.5.0", "react": "^18.3.1", "react-dom": "^18.3.1", + "react-icons": "^5.2.1", + "react-router-dom": "^6.26.0", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, From 3161f7524cf99db7d6796ebaeb92f802d44f55dc Mon Sep 17 00:00:00 2001 From: 2EETY Date: Wed, 7 Aug 2024 20:13:22 +0900 Subject: [PATCH 2/6] =?UTF-8?q?SAPHY-8=20feat:=20=EB=9E=9C=EB=94=A9?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=B4=88=EC=95=88=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/index.css | 2 +- frontend/src/pages/Landing.jsx | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 frontend/src/pages/Landing.jsx diff --git a/frontend/src/index.css b/frontend/src/index.css index deef04f..1fe4901 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -6,7 +6,7 @@ body { margin: 0; width: 100%; height: 100vh; - background-color: #f0fdf4; + background-color: white; font-family: 'GmarketSansMedium', 'GmarketSansBold', diff --git a/frontend/src/pages/Landing.jsx b/frontend/src/pages/Landing.jsx new file mode 100644 index 0000000..aac6aad --- /dev/null +++ b/frontend/src/pages/Landing.jsx @@ -0,0 +1,15 @@ +import React from 'react'; +import Header from '../components/Header'; + +function LandingPage() { + return ( +
+
+
+

Hi

+
+
+ ); +} + +export default LandingPage; From 4bd0605a26f864a3d6d66daa606b10446f4504d7 Mon Sep 17 00:00:00 2001 From: 2EETY Date: Wed, 7 Aug 2024 20:13:54 +0900 Subject: [PATCH 3/6] =?UTF-8?q?SAPHY-8=20feat:=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/App.jsx | 22 ++++++++++++++-------- frontend/src/pages/Error.jsx | 14 ++++++++++++++ 2 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 frontend/src/pages/Error.jsx diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index d92ca42..767169b 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,15 +1,21 @@ import React from 'react'; -import './App.css'; import './index.css'; +import { createBrowserRouter, RouterProvider } from 'react-router-dom'; + +import LandingPage from './pages/Landing'; +import ErrorPage from './pages/Error'; function App() { - return ( -
-
-

Hi

-
-
- ); + const router = createBrowserRouter([ + { + path: '/', + // element: , + errorElement: , + children: [{ path: '/', element: }], + }, + ]); + + return ; } export default App; diff --git a/frontend/src/pages/Error.jsx b/frontend/src/pages/Error.jsx new file mode 100644 index 0000000..ed200c4 --- /dev/null +++ b/frontend/src/pages/Error.jsx @@ -0,0 +1,14 @@ +import React from 'react'; + +function ErrorPage() { + return ( +
+
+

에러가 발생했습니다

+

페이지를 찾을 수 없습니다.

+
+
+ ); +} + +export default ErrorPage; From 65ad5cdfb1b1098b7a086f15493af4d32388a428 Mon Sep 17 00:00:00 2001 From: 2EETY Date: Wed, 7 Aug 2024 20:14:30 +0900 Subject: [PATCH 4/6] =?UTF-8?q?SAPHY-9=20feat:=20=ED=97=A4=EB=8D=94=20?= =?UTF-8?q?=EC=9E=84=EC=8B=9C=20=EA=B5=AC=ED=98=84,=20=EB=84=A4=EB=B9=84?= =?UTF-8?q?=EB=B0=94=20=EC=B6=94=EA=B0=80=20=EC=98=88=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/Header.jsx | 34 ++++++++++++++++++++++++++++++ frontend/src/components/NavBar.jsx | 0 2 files changed, 34 insertions(+) create mode 100644 frontend/src/components/Header.jsx create mode 100644 frontend/src/components/NavBar.jsx diff --git a/frontend/src/components/Header.jsx b/frontend/src/components/Header.jsx new file mode 100644 index 0000000..0b619bc --- /dev/null +++ b/frontend/src/components/Header.jsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import { Link } from 'react-router-dom'; +import { FaGithub, FaYoutube } from 'react-icons/fa'; + +function Header() { + return ( + + ); +} + +export default Header; diff --git a/frontend/src/components/NavBar.jsx b/frontend/src/components/NavBar.jsx new file mode 100644 index 0000000..e69de29 From 8ee7aa7788a8b5622bd6b977a57a1f56d411e40e Mon Sep 17 00:00:00 2001 From: 2EETY Date: Wed, 7 Aug 2024 22:22:35 +0900 Subject: [PATCH 5/6] =?UTF-8?q?SAPHY-8=20design:=20favicon=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/public/android-chrome-192x192.png | Bin 0 -> 8120 bytes frontend/public/android-chrome-512x512.png | Bin 0 -> 32293 bytes frontend/public/apple-touch-icon.png | Bin 0 -> 7409 bytes frontend/public/favicon-16x16.png | Bin 0 -> 297 bytes frontend/public/favicon-32x32.png | Bin 0 -> 657 bytes frontend/public/favicon.ico | Bin 0 -> 15406 bytes frontend/public/index.html | 5 ++++- frontend/public/manifest.json | 25 +++++++++++++++++++++ 8 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 frontend/public/android-chrome-192x192.png create mode 100644 frontend/public/android-chrome-512x512.png create mode 100644 frontend/public/apple-touch-icon.png create mode 100644 frontend/public/favicon-16x16.png create mode 100644 frontend/public/favicon-32x32.png create mode 100644 frontend/public/favicon.ico create mode 100644 frontend/public/manifest.json diff --git a/frontend/public/android-chrome-192x192.png b/frontend/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..208621c48cd589ff9032019855286fd77b17f978 GIT binary patch literal 8120 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 literal 0 HcmV?d00001 diff --git a/frontend/public/android-chrome-512x512.png b/frontend/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..ef235a5409361a8dbfd71087dc251008f9f72791 GIT binary patch literal 32293 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 literal 0 HcmV?d00001 diff --git a/frontend/public/favicon-32x32.png b/frontend/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..cc482bd1945d40b242d6a118599e3f49f11a204f GIT binary patch literal 657 zcmV;C0&e|@P)Px%OG!jQR9HvtmQ7C+Q51%s>694?rL?r=t5ifGe3M`ZQ3wk+xR8Z$Bmd2{8-If? zBoc!t@)4mDEKnE;#ZKBz+i983jJd3Ys#{#lUEbVt&U>Ew-kdAFeCul5;*vZ89s!Sl zN5CWS-xBc2fQ#ffxPKcJK1mz_*9A!e32>#20T?Bj* z(pCmz`8rRv3o-0cNq-=k}=f9Nurq?rsyo4#Vk~?7pI66tJFpCYKr3XS>kVY(0jrt z0R_1?f~uFWJ{@8_n<19^L1n0$mYRi~$x$8YCAf8rvHl(7p8`TH$WNz<3WTD#=>G8p z;e3huiB9dw6w&oGg@=QL*A6J$iP4-bQkzH;6p2M#a})B{Q;cj8>(LPHejn0Fj@n9! zyj8z`H4Ov;3ckJ$)L01rcpq)s#~9;Df{u%8JGg2S@}5R%EJ0AyscJg4{WB`db99~O zxlCVRE{qV_$zZGOT3Db|tJ+_2YZ>o^$JlF-46A0m99_9Vo2| z@rXuI3(xb0hQjvM zPd)FZ_FcPn^8RzroBqu6uId>5M8638_0hM;^KW9VUH}_R{1BI!yGfaUkdlcX6Xy5q zFDc`j>7SA^c{?G)*JGx?pU?Idic+t(q?o8nCEJivsxD=HPOHpnu_@_jOzGcYHafeNZ#M>wZh+H6*d?8(GI2l{YXmb1x}-izS)5os^|VX&L=C zE}NryS$Uk1&EcG^Ja$Y-{fTMySRC``Xp=Qz3&;jGnp4#x}B~>mrACY+^b4P<1UKri_8_x9K$zaQuo_Z z&NO88udEsKaT8O;(hr>{N`-o{!TdzI1D%pI1D%pI1D%pI1D%p{J$|Uek);k z5AK5THFvylANJ0dyZL^1z5gXH&}Cllybo7O<_;V#0Iml9h1``uc@gf=xtk^zrlcIn zmU0x+cM_6Uz9R9`*EJ>n@&6s}_30-sW#oF8uR`7nIWu-`o5~9$UsYvY@7ZnNd7f}c zexYUf6#GxB(UI+mycFVf(*>`ypd3WC7>>&v1`<^+fdaolZjhaub(S?Jhk}0O2a%&g zfs4Uj__LA=``{Vysr`P?=al9k`};9wUv)xK6oSwyb;_Ah55-p z8v8!ffhSxR1>R&*`KWR_v_mObmr>;rSOa_x<=^U$EI2Q?K5P!}L?OosZl|luL2qnm z*M{zPZM>_MnkK&rz6n{)pkux}(tIdnVi$^^Z^-z`I+vAa!q0FZNlUo=`h)+C5ygE8{B+eWp--_5IeW;1dn9+Trek&{ltaYNTER_A@r5p6 znLR&qH(_!F(TDTK>W__&w|s+D&at@W41&px;k@B1@!jf^%)t7iA8Ua3WFPFmC`n|# zXfQ;-eb2sRPuM>C`5VFc9hohfZ#e^a4_^we4X?^s$(ViRTghdl&6#KUbU0G>IJ~#z z{E>a$%KW`LzK + - React App + + + Saphy
diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/frontend/public/manifest.json @@ -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" +} From 29891874fbaa690f7893011fb65482567e1a3356 Mon Sep 17 00:00:00 2001 From: 2EETY Date: Sun, 29 Sep 2024 16:06:49 +0900 Subject: [PATCH 6/6] =?UTF-8?q?SAPHY-14=20feat:=20=ED=95=98=EB=8B=A8=20?= =?UTF-8?q?=ED=91=B8=ED=84=B0=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/Footer.jsx | 70 ++++++++++++++++++++++++++++++ frontend/src/pages/Landing.jsx | 11 ++++- 2 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 frontend/src/components/Footer.jsx diff --git a/frontend/src/components/Footer.jsx b/frontend/src/components/Footer.jsx new file mode 100644 index 0000000..a32a0a8 --- /dev/null +++ b/frontend/src/components/Footer.jsx @@ -0,0 +1,70 @@ +import React from 'react'; +import { FaGithub, FaYoutube } from 'react-icons/fa'; +import { IoLogoInstagram } from 'react-icons/io'; + +function Footer() { + const emailAddress = 'your-email@example.com'; + + const thisYear = () => { + const year = new Date().getFullYear(); + return year; + }; + + return ( + + ); +} + +export default Footer; diff --git a/frontend/src/pages/Landing.jsx b/frontend/src/pages/Landing.jsx index aac6aad..0280cf1 100644 --- a/frontend/src/pages/Landing.jsx +++ b/frontend/src/pages/Landing.jsx @@ -1,13 +1,20 @@ import React from 'react'; import Header from '../components/Header'; +import Footer from '../components/Footer'; +import MainSection from '../components/section/MainSection'; +import AboutSection from '../components/section/AboutSection'; +import FeatureSection from '../components/section/FeatureSection'; function LandingPage() { return ( -
+
-

Hi

+ + +
+
); }