From 904efe0bf5c3b596f3f9d5b3049bdb85f21279e6 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Wed, 10 Apr 2024 16:33:44 +0900 Subject: [PATCH 01/23] =?UTF-8?q?feat=20:=20camerapage=20=EA=B5=AC?= =?UTF-8?q?=EC=84=B1=20=EB=B0=8F=20=EB=AA=A8=EB=8B=AC=20=EC=B0=BD=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/assets/CameraButton.svg | 5 ++ frontend/src/pages/section2/camera.jsx | 93 ++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 frontend/src/assets/CameraButton.svg create mode 100644 frontend/src/pages/section2/camera.jsx diff --git a/frontend/src/assets/CameraButton.svg b/frontend/src/assets/CameraButton.svg new file mode 100644 index 0000000000..430707305c --- /dev/null +++ b/frontend/src/assets/CameraButton.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/frontend/src/pages/section2/camera.jsx b/frontend/src/pages/section2/camera.jsx new file mode 100644 index 0000000000..5af2aae7d3 --- /dev/null +++ b/frontend/src/pages/section2/camera.jsx @@ -0,0 +1,93 @@ +import styled from "styled-components"; +import Webcam from "react-webcam"; +import CameraBtn from "../../assets/CameraButton.svg"; +import { useState } from "react"; + +function Camera() { + const [imageSrc, setimageSrc] = useState(null); + const [isModalOpen, setIsModalOpen] = useState(false); + + const videoConstraints = { + width: 1280, + height: 720, + facingMode: "user", + }; + const openModal = () => { + setIsModalOpen(true); + }; + const closeModal = () => { + setIsModalOpen(false); + }; + const CapturePhoto = (getScreenshot) => { + const imageSrc = getScreenshot(); + setimageSrc(imageSrc); + openModal(); + }; + return ( + + + {({ getScreenshot }) => ( + CapturePhoto(getScreenshot)} /> + )} + + {isModalOpen && ( + + + Captured + + + + + + + )} + + ); +} +const MainContainer = styled.div` + height: auto; + width: auto; + background-color: aquamarine; +`; +const Modal = styled.div` + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + display: flex; + justify-content: center; + align-items: center; +`; +const ModalContent = styled.div` + background-color: white; + padding: 20px; + border-radius: 8px; +`; +const ButtonContainer = styled.div` + display: flex; + justify-content: center; + margin-top: 10px; + + button { + margin: 0 10px; + padding: 8px 16px; + border: none; + border-radius: 4px; + cursor: pointer; + background-color: #007bff; + color: white; + font-size: 16px; + } +`; +const ImageButton = styled.img` + cursor: pointer; +`; +export default Camera; From b044b06d7cdd26c54c2a80b8976225ffaea6572d Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Sat, 20 Apr 2024 19:08:44 +0900 Subject: [PATCH 02/23] =?UTF-8?q?refactor:=20react-router-dom=EC=9D=84=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=ED=95=98=EA=B8=B0=20=EC=9C=84=ED=95=9C=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 61 +++++++++++++++++++ frontend/package.json | 1 + frontend/src/App.js | 2 - frontend/src/Routing.js | 21 +++++++ frontend/src/index.js | 17 +++--- .../pages/{section2 => Feature}/camera.jsx | 0 frontend/src/pages/Feature/feature.jsx | 0 frontend/src/pages/mainPage.jsx | 32 +++++----- 8 files changed, 108 insertions(+), 26 deletions(-) create mode 100644 frontend/src/Routing.js rename frontend/src/pages/{section2 => Feature}/camera.jsx (100%) create mode 100644 frontend/src/pages/Feature/feature.jsx diff --git a/frontend/package-lock.json b/frontend/package-lock.json index eb071312c7..f1c22722e3 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -15,6 +15,7 @@ "gsap": "^3.12.5", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.22.3", "react-scripts": "5.0.1", "styled-components": "^6.1.8", "web-vitals": "^2.1.4" @@ -3433,6 +3434,14 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "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", @@ -15221,6 +15230,36 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "dependencies": { + "@remix-run/router": "1.15.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "dependencies": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + }, + "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", @@ -20883,6 +20922,11 @@ "@react-spring/types": "~9.7.3" } }, + "@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==" + }, "@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -29238,6 +29282,23 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" }, + "react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "requires": { + "@remix-run/router": "1.15.3" + } + }, + "react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "requires": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + } + }, "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 147f65d130..af304f8c6b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,6 +10,7 @@ "gsap": "^3.12.5", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.22.3", "react-scripts": "5.0.1", "styled-components": "^6.1.8", "web-vitals": "^2.1.4" diff --git a/frontend/src/App.js b/frontend/src/App.js index 472516ddaa..8b4dea7e47 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -1,11 +1,9 @@ -import "./App.css"; // import Navbar from "./components/header/navbar"; import MainPage from "./pages/mainPage"; function App() { return (
- {/* */}
); diff --git a/frontend/src/Routing.js b/frontend/src/Routing.js new file mode 100644 index 0000000000..8482183a2c --- /dev/null +++ b/frontend/src/Routing.js @@ -0,0 +1,21 @@ +// import Navbar from "./components/header/navbar"; +import { BrowserRouter, Route, Routes } from "react-router-dom"; +// import MainPage from "./pages/mainPage"; +import App from "./App"; +import Camera from "./pages/Feature/camera"; + +function Routing() { + return ( +
+ + + } /> + } /> + } /> + + +
+ ); +} + +export default Routing; diff --git a/frontend/src/index.js b/frontend/src/index.js index d563c0fb10..ca735af473 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -1,13 +1,16 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; -import App from './App'; -import reportWebVitals from './reportWebVitals'; +import React from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; +import App from "./App"; +import reportWebVitals from "./reportWebVitals"; +import Navbar from "./components/header/navbar"; +import Routing from "./Routing"; -const root = ReactDOM.createRoot(document.getElementById('root')); +const root = ReactDOM.createRoot(document.getElementById("root")); root.render( - + + ); diff --git a/frontend/src/pages/section2/camera.jsx b/frontend/src/pages/Feature/camera.jsx similarity index 100% rename from frontend/src/pages/section2/camera.jsx rename to frontend/src/pages/Feature/camera.jsx diff --git a/frontend/src/pages/Feature/feature.jsx b/frontend/src/pages/Feature/feature.jsx new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frontend/src/pages/mainPage.jsx b/frontend/src/pages/mainPage.jsx index 52b4331d35..b3378d1c67 100644 --- a/frontend/src/pages/mainPage.jsx +++ b/frontend/src/pages/mainPage.jsx @@ -1,27 +1,25 @@ -import React from 'react'; -import styled from 'styled-components'; -import Section1Main from './section1/section1main'; -import Navbar from '../components/header/navbar'; -import Section2Main from './section2/section2main'; -import Section3Main from './section3/section3main'; +import React from "react"; +import styled from "styled-components"; +import Section1Main from "./section1/section1main"; +import Navbar from "../components/header/navbar"; +import Section2Main from "./section2/section2main"; +import Section3Main from "./section3/section3main"; const MainPage = () => { - return ( - - - - + {/* */} + + + ); }; const MainContainer = styled.nav` - display: flex; - flex-direction: column; - height: auto; /* 높이를 내용에 따라 자동으로 조절 */ - width: 100%; - overflow-y: auto; /* 내용이 브라우저 창을 넘어가면 수직 스크롤을 생성 */ + display: flex; + flex-direction: column; + height: auto; /* 높이를 내용에 따라 자동으로 조절 */ + width: 100%; + overflow-y: auto; /* 내용이 브라우저 창을 넘어가면 수직 스크롤을 생성 */ `; - export default MainPage; From f004afe8aaf1e7e83453f94a5214f594ffeaa714 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Sat, 20 Apr 2024 20:31:17 +0900 Subject: [PATCH 03/23] =?UTF-8?q?feat=20:=EC=B9=B4=EB=A9=94=EB=9D=BC=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20=EC=B0=BD=EB=B0=8F=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20css=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/assets/GoButton.svg | 6 +++ frontend/src/assets/StopButton.svg | 5 ++ frontend/src/pages/Feature/camera.jsx | 71 ++++++++++++++++++--------- 3 files changed, 60 insertions(+), 22 deletions(-) create mode 100644 frontend/src/assets/GoButton.svg create mode 100644 frontend/src/assets/StopButton.svg diff --git a/frontend/src/assets/GoButton.svg b/frontend/src/assets/GoButton.svg new file mode 100644 index 0000000000..521bac8735 --- /dev/null +++ b/frontend/src/assets/GoButton.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/frontend/src/assets/StopButton.svg b/frontend/src/assets/StopButton.svg new file mode 100644 index 0000000000..9413d4a735 --- /dev/null +++ b/frontend/src/assets/StopButton.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/frontend/src/pages/Feature/camera.jsx b/frontend/src/pages/Feature/camera.jsx index 5af2aae7d3..d6a0e69e2e 100644 --- a/frontend/src/pages/Feature/camera.jsx +++ b/frontend/src/pages/Feature/camera.jsx @@ -1,6 +1,8 @@ import styled from "styled-components"; import Webcam from "react-webcam"; import CameraBtn from "../../assets/CameraButton.svg"; +import GoButton from "../../assets/GoButton.svg"; +import StopButton from "../../assets/StopButton.svg"; import { useState } from "react"; function Camera() { @@ -8,7 +10,7 @@ function Camera() { const [isModalOpen, setIsModalOpen] = useState(false); const videoConstraints = { - width: 1280, + width: 1000, height: 720, facingMode: "user", }; @@ -33,16 +35,24 @@ function Camera() { width={1280} videoConstraints={videoConstraints}> {({ getScreenshot }) => ( - CapturePhoto(getScreenshot)} /> + <> + CapturePhoto(getScreenshot)} /> + + )} {isModalOpen && ( - Captured + {/* Captured */} + - - + + @@ -51,43 +61,60 @@ function Camera() { ); } const MainContainer = styled.div` - height: auto; + height: 100vh; width: auto; - background-color: aquamarine; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + background-color: #fefae0; `; const Modal = styled.div` position: fixed; - top: 0; - left: 0; + top: 50%; + left: 50%; width: 100%; height: 100%; - background-color: rgba(0, 0, 0, 0.5); + transform: translate(-50%, -50%); + background-color: rgba(0, 0, 0, 0.7); display: flex; justify-content: center; align-items: center; `; const ModalContent = styled.div` background-color: white; - padding: 20px; + display: inline-block; + height: 80vh; + padding: 40px; border-radius: 8px; `; const ButtonContainer = styled.div` display: flex; justify-content: center; margin-top: 10px; - - button { - margin: 0 10px; - padding: 8px 16px; - border: none; - border-radius: 4px; - cursor: pointer; - background-color: #007bff; - color: white; - font-size: 16px; - } +`; +const Button = styled.button` + margin: 0 5px; + padding: 8px 16px; + border: none; + cursor: pointer; +`; +const CaptureImage = styled.img` + width: auto; + height: 90%; `; const ImageButton = styled.img` + margin-top: 40px; + height: auto; + width: auto; cursor: pointer; `; +const FaceRectangle = styled.div` + position: absolute; + top: 200px; + left: calc(50% - 200px); /* 화면 중앙에 위치하도록 설정 */ + width: 400px; + height: 400px; + border: 2px solid #ff0000; +`; export default Camera; From 688e2f6451f89a73bbb368a4a3b7a5a3f0127479 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Mon, 22 Apr 2024 14:12:47 +0900 Subject: [PATCH 04/23] =?UTF-8?q?feat:=20=ED=81=B4=EB=A6=AD=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EA=B0=9C=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/clickbutton.jsx | 65 +++++++++++++++++++ .../section2/hair_style/hairstylemain.jsx | 5 +- 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 frontend/src/components/clickbutton.jsx diff --git a/frontend/src/components/clickbutton.jsx b/frontend/src/components/clickbutton.jsx new file mode 100644 index 0000000000..a84b4f19c8 --- /dev/null +++ b/frontend/src/components/clickbutton.jsx @@ -0,0 +1,65 @@ +import React from "react"; +import styled from "styled-components"; + +// Styled Components 정의 +const Button = styled.button` + position: relative; + display: inline-block; + cursor: pointer; + outline: none; + border: 0; + vertical-align: middle; + text-decoration: none; + font-size: inherit; + font-family: inherit; + font-weight: 600; + color: #382b22; + text-transform: uppercase; + padding: 1.25em 2em; + background: #fff0f0; + border: 2px solid #000000; + border-radius: 0.75em; + transform-style: preserve-3d; + transition: transform 150ms cubic-bezier(0, 0, 0.58, 1), background 150ms cubic-bezier(0, 0, 0.58, 1); + + &::before { + position: absolute; + content: ""; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: #000000; + border-radius: inherit; + box-shadow: 0 0 0 2px #000000, 0 0.625em 0 0 #ffe3e2; + transform: translate3d(0, 0.75em, -1em); + transition: transform 150ms cubic-bezier(0, 0, 0.58, 1), box-shadow 150ms cubic-bezier(0, 0, 0.58, 1); + } + + &:hover { + background: #ffd166; + transform: translate(0, 0.25em); + &::before { + box-shadow: 0 0 0 2px #000000, 0 0.5em 0 0 #ffe3e2; + transform: translate3d(0, 0.5em, -1em); + } + } + + &:active { + background: #ffd166; + transform: translate(0em, 0.75em); + &::before { + box-shadow: 0 0 0 2px #b18597, 0 0 #ffe3e2; + transform: translate3d(0, 0, -1em); + } + } +`; + +// React 컴포넌트 +const ClickButton = () => { + return ; +}; + +export default ClickButton; diff --git a/frontend/src/pages/section2/hair_style/hairstylemain.jsx b/frontend/src/pages/section2/hair_style/hairstylemain.jsx index b958352b13..b4352bcd60 100644 --- a/frontend/src/pages/section2/hair_style/hairstylemain.jsx +++ b/frontend/src/pages/section2/hair_style/hairstylemain.jsx @@ -1,5 +1,6 @@ import React from "react"; import styled from "styled-components"; +import ClickButton from "../../../components/clickbutton"; const HairStyleContainer = styled.div` width: 90%; height: 80vh; @@ -49,7 +50,9 @@ const HairStyleMain = () => { Personal Color - + + + ); }; From cb1916e96faceb2245bb32a1a829e76ad497f1f9 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Mon, 22 Apr 2024 15:27:02 +0900 Subject: [PATCH 05/23] =?UTF-8?q?feat:=20=EB=B2=84=ED=8A=BC=20=ED=81=B4?= =?UTF-8?q?=EB=A6=AD=EC=8B=9C=20=EC=A0=95=EB=B3=B4=20=EC=88=98=EC=A7=91=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20=EA=B8=B0=EB=B3=B8=20=ED=98=95=ED=83=9C=20?= =?UTF-8?q?=EC=A0=9C=EC=9E=91=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/assets/ModalGoButton.png | Bin 0 -> 1145 bytes frontend/src/assets/ModalXButton.png | Bin 0 -> 1157 bytes frontend/src/components/clickbutton.jsx | 26 ++++-- frontend/src/components/informationModal.jsx | 86 +++++++++++++++++++ 4 files changed, 106 insertions(+), 6 deletions(-) create mode 100644 frontend/src/assets/ModalGoButton.png create mode 100644 frontend/src/assets/ModalXButton.png create mode 100644 frontend/src/components/informationModal.jsx diff --git a/frontend/src/assets/ModalGoButton.png b/frontend/src/assets/ModalGoButton.png new file mode 100644 index 0000000000000000000000000000000000000000..76c03ab00039b1416e04d71cf59944b9fa3395bb GIT binary patch literal 1145 zcmV-<1cv*GP){YrH~8#U~_llHCEa zASs~+<>=rzoRCXqy8qrGO)VEGQ{;OXdVn;)YfpuyBm!z6n57?CKGyYo25N$gU?eNF z6DsjCaD?_R&`xxP46`Ulcmp>njp5AHFyj zXu8kbRhc7$pONCz4q|&*MG)i`ow=>z44$J9f>SaTQhbw<;Jiz32G0?Q0of1J5z>d? z=Cs3i3~-C?FI>rtK1pV+jzEGk&|C#{Z_Zv-f4D$mU$a3IT=)_USSp;8!_b^ohD?yr zla#(qOt65%G|g|w|CJHG)?gi&A{;kJ>aMEi?5#5OKHwU`q~OxEQM@0qH(GgPkebGuX4AKFZlBLVd0^d^8bINHGXV?ZptY z>1|yqI5Ny01rXtx5E2N72+`Rbg%uJ+PMy14xl(y&af29?ah4bX;Rg(!n%Gi%F-h1x zY!?q$SEH$=QHcaF2p&Rg0>qs}*``~{6%s%njEswTbH74Uw^c|74EB@NBm@tDjacx> zs>ImRk(3FJ1J~t)=qz06=ukRyU%8aFTT2JW0vADP=K^`bk?|hN9&h#r(H;!lcfSPU z!@D%U5=XfERY%qG@;XuJCvt>GX!-;1=*3Fw z%1_p(lMMfvHyJzf^ZV&rvJQ}6ePttM17$+lP~Yp<(kzuN^zXH@ANqHJJro5#Q8rVy zO0X+sV^o>4b4jEF+3Z~V-@2%(bp>S_y+>dRqUv|%8PHT&fhr>e!kQ0lp0i1c`DkC_@MkX7icZd`oz?GYeP}paskYD4Ccg=l>iYxj=2K1uP2C0k*bdd#TJ^aSM3n zz*}|S0Tu-41Ey_maUq%5*QNYICn%JCsXcJ1?3DBLN3E7$0|#(Vy`)Nq-_+v~>D9)5h3$q>+_H8(B)EZ* z=n{bn0fbvIV5Do~S{$M|I4%&O`zr8Lq$w7RWWo&yPM9x1q!IyBz)0pWu`V>Tmq}JY zCllLw*wkRj4o6Y}Pd&lzj`HnjJ!3gU2hx+=Prk`t0Vn7{1ZURO_efB{l&Y?>m%bh} zJH{mk_YU#iW56~_1r)~hg5b<9G$ycAu#Hjxg>k(uxm)9AaBu-&OSlyaD2?kIuH*&? zP~fuVBmBm}7(jNWWt~yG6gvryT}`w|pk-xa&Zx&OZ>h8U%z%XvKdnz6SK=S=yw0k4 z@Et8+AuDKZN~M;{m$_E-sP-&H?fRRtpLmMbZx4mk%eWrPP=XS0FSeb#NF>?`&IJ|< zXnEX>`vRUhAk9P`Z7pgN>;YIZj}<;KZ)E1e98AyI0+=+rZviZsmq#@wIOV0@V00000NkvXXu0mjfkk1#; literal 0 HcmV?d00001 diff --git a/frontend/src/components/clickbutton.jsx b/frontend/src/components/clickbutton.jsx index a84b4f19c8..304f60680a 100644 --- a/frontend/src/components/clickbutton.jsx +++ b/frontend/src/components/clickbutton.jsx @@ -1,5 +1,24 @@ -import React from "react"; +import React, { useState } from "react"; import styled from "styled-components"; +import InformationModal from "./informationModal"; + +// React 컴포넌트 +const ClickButton = () => { + const [modalOpen, setModalOpen] = useState(false); + const handleModalOpen = () => { + setModalOpen(true); + }; + const handleModalClose = () => { + setModalOpen(false); + }; + + return ( +
+ + {modalOpen && } +
+ ); +}; // Styled Components 정의 const Button = styled.button` @@ -57,9 +76,4 @@ const Button = styled.button` } `; -// React 컴포넌트 -const ClickButton = () => { - return ; -}; - export default ClickButton; diff --git a/frontend/src/components/informationModal.jsx b/frontend/src/components/informationModal.jsx new file mode 100644 index 0000000000..929a4fd157 --- /dev/null +++ b/frontend/src/components/informationModal.jsx @@ -0,0 +1,86 @@ +import React, { useState } from "react"; +import styled from "styled-components"; +import Xbutton from "../assets/StopButton.svg"; +import Gobutton from "../assets/GoButton.svg"; +const InformationModal = ({ onClose }) => { + console.log("open!"); + const [genderChecked, setGenderChecked] = useState(false); + const [createImageChecked, setCreateImageChecked] = useState(false); + const [email, setEmail] = useState(""); + const handleGenderChange = () => { + setGenderChecked(!genderChecked); + }; + const handleCreateImageChange = () => { + setCreateImageChecked(!createImageChecked); + }; + const handleEmailChange = (e) => { + setEmail(e.target.value); + }; + + return ( + + + + + + +
+ +
+ +
+ 확인 +
+
+ ); +}; +const ModalOverlay = styled.div` + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + display: flex; + justify-content: center; + align-items: center; +`; + +const ModalContent = styled.div` + background-color: white; + padding: 20px; + border-radius: 8px; +`; + +const CloseButton = styled.button` + width: auto; + height: auto; + border: none; +`; + +const GenderCheckbox = styled.input.attrs({ type: "checkbox" })` + /* Checkbox 스타일링 */ +`; + +const EmailInput = styled.input.attrs({ type: "email" })` + /* Input 스타일링 */ +`; + +const CreateImageButton = styled.input.attrs({ type: "checkbox" })` + /* Checkbox 스타일링 */ +`; + +const ModalButton = styled.button` + /* 버튼 스타일링 */ +`; + +export default InformationModal; From 5dd9d8acb8403347c58e82c65c69382db33b93c0 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Mon, 22 Apr 2024 18:16:35 +0900 Subject: [PATCH 06/23] =?UTF-8?q?feat:=20=EC=A0=95=EB=B3=B4=20=EC=88=98?= =?UTF-8?q?=EC=A7=91=20=EB=AA=A8=EB=8B=AC=20=EC=9C=84=EC=B9=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20=EC=B2=B4=ED=81=AC=EB=B0=95=EC=8A=A4=20?= =?UTF-8?q?=EB=9D=BC=EB=94=94=EC=98=A4=20=EB=B2=84=ED=8A=BC=20=EC=BB=A4?= =?UTF-8?q?=EC=8A=A4=ED=85=80=20=EB=94=94=EC=9E=90=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/informationModal.jsx | 125 +++++++++++++++---- frontend/src/components/modalclickButton.jsx | 65 ++++++++++ 2 files changed, 168 insertions(+), 22 deletions(-) create mode 100644 frontend/src/components/modalclickButton.jsx diff --git a/frontend/src/components/informationModal.jsx b/frontend/src/components/informationModal.jsx index 929a4fd157..d2796941cf 100644 --- a/frontend/src/components/informationModal.jsx +++ b/frontend/src/components/informationModal.jsx @@ -2,43 +2,65 @@ import React, { useState } from "react"; import styled from "styled-components"; import Xbutton from "../assets/StopButton.svg"; import Gobutton from "../assets/GoButton.svg"; +import ClickButton2 from "./modalclickButton"; const InformationModal = ({ onClose }) => { - console.log("open!"); - const [genderChecked, setGenderChecked] = useState(false); + // console.log("open!"); + const [gender, setGender] = useState("male"); const [createImageChecked, setCreateImageChecked] = useState(false); const [email, setEmail] = useState(""); - const handleGenderChange = () => { - setGenderChecked(!genderChecked); - }; + const handleCreateImageChange = () => { setCreateImageChecked(!createImageChecked); }; const handleEmailChange = (e) => { setEmail(e.target.value); }; + const handleSubmit = () => { + console.log("submit!"); + }; + const handleGenderChange = (event) => { + setGender(event.target.value); + }; return ( - + - +

성별

+ + + 남성 + + 여성 +
- +

- 확인 + 체험하기!
); @@ -56,19 +78,70 @@ const ModalOverlay = styled.div` `; const ModalContent = styled.div` + height: 60vh; + width: 40vh; background-color: white; padding: 20px; - border-radius: 8px; + border-radius: 40px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + position: relative; `; const CloseButton = styled.button` + position: absolute; + top: 20px; + right: 20px; width: auto; height: auto; border: none; `; +const CreateImageLabel = styled.label` + font-size: 1.2rem; + display: flex; + align-items: center; + margin-bottom: 0.5rem; +`; +const GenderRadioGroup = styled.div` + display: flex; + align-items: center; +`; -const GenderCheckbox = styled.input.attrs({ type: "checkbox" })` - /* Checkbox 스타일링 */ +const GenderRadioInput = styled.input` + display: none; + width: 1.5rem; + height: 1.5rem; + &:checked + label::before { + content: ""; + font-size: 1.2rem; + margin: 3px 3px 3px 4px; + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e"); + background-color: #9747ff; + background-size: 100% 100%; + background-position: 50%; + background-repeat: no-repeat; + border-color: transparent; + } +`; + +const GenderRadioLabel = styled.label` + cursor: pointer; + position: relative; + padding-left: 35px; + font-size: 1.2rem; + + &::before { + width: 1.5rem; + height: 1.5rem; + border: 1.5px solid gainsboro; + border-radius: 0.35rem; + position: absolute; + left: 0; + top: 0; + color: #ccc; + } `; const EmailInput = styled.input.attrs({ type: "email" })` @@ -76,11 +149,19 @@ const EmailInput = styled.input.attrs({ type: "email" })` `; const CreateImageButton = styled.input.attrs({ type: "checkbox" })` - /* Checkbox 스타일링 */ -`; - -const ModalButton = styled.button` - /* 버튼 스타일링 */ + appearance: none; + width: 1.5rem; + height: 1.5rem; + border: 1.5px solid gainsboro; + border-radius: 0.35rem; + &:checked { + border-color: transparent; + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e"); + background-size: 100% 100%; + background-position: 50%; + background-repeat: no-repeat; + background-color: #9747ff; + } `; export default InformationModal; diff --git a/frontend/src/components/modalclickButton.jsx b/frontend/src/components/modalclickButton.jsx new file mode 100644 index 0000000000..81a138323f --- /dev/null +++ b/frontend/src/components/modalclickButton.jsx @@ -0,0 +1,65 @@ +import React from "react"; +import styled from "styled-components"; + +const ClickButton2 = ({ onClick, children }) => { + return ; +}; + +// Styled Components 정의 +const Button = styled.button` + position: absolute; + bottom: 50px; + display: inline-block; + cursor: pointer; + outline: none; + border: 0; + vertical-align: middle; + text-decoration: none; + font-size: inherit; + font-family: inherit; + font-weight: 600; + color: #382b22; + text-transform: uppercase; + padding: 1.25em 2em; + background: #fff0f0; + border: 2px solid #000000; + border-radius: 0.75em; + transform-style: preserve-3d; + transition: transform 150ms cubic-bezier(0, 0, 0.58, 1), background 150ms cubic-bezier(0, 0, 0.58, 1); + + &::before { + position: absolute; + content: ""; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: #000000; + border-radius: inherit; + box-shadow: 0 0 0 2px #000000, 0 0.625em 0 0 #ffe3e2; + transform: translate3d(0, 0.75em, -1em); + transition: transform 150ms cubic-bezier(0, 0, 0.58, 1), box-shadow 150ms cubic-bezier(0, 0, 0.58, 1); + } + + &:hover { + background: #ffd166; + transform: translate(0, 0.25em); + &::before { + box-shadow: 0 0 0 2px #000000, 0 0.5em 0 0 #ffe3e2; + transform: translate3d(0, 0.5em, -1em); + } + } + + &:active { + background: #ffd166; + transform: translate(0em, 0.75em); + &::before { + box-shadow: 0 0 0 2px #b18597, 0 0 #ffe3e2; + transform: translate3d(0, 0, -1em); + } + } +`; + +export default ClickButton2; From 1d7673eb9e110ca4de84868fb5ade9162763a57d Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Mon, 29 Apr 2024 14:39:28 +0900 Subject: [PATCH 07/23] =?UTF-8?q?feat:=EB=AA=A8=EB=8B=AC=EC=B0=BD=20?= =?UTF-8?q?=EC=8A=A4=ED=83=80=EC=9D=BC=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/informationModal.jsx | 45 ++++++++++++++------ 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/frontend/src/components/informationModal.jsx b/frontend/src/components/informationModal.jsx index d2796941cf..5fc9ebb7aa 100644 --- a/frontend/src/components/informationModal.jsx +++ b/frontend/src/components/informationModal.jsx @@ -4,7 +4,6 @@ import Xbutton from "../assets/StopButton.svg"; import Gobutton from "../assets/GoButton.svg"; import ClickButton2 from "./modalclickButton"; const InformationModal = ({ onClose }) => { - // console.log("open!"); const [gender, setGender] = useState("male"); const [createImageChecked, setCreateImageChecked] = useState(false); const [email, setEmail] = useState(""); @@ -28,7 +27,7 @@ const InformationModal = ({ onClose }) => { -

성별

+ 성별 { 생성형 이미지 -
- +
체험하기! @@ -76,12 +78,19 @@ const ModalOverlay = styled.div` justify-content: center; align-items: center; `; - +const ModalH2 = styled.h2` + /* background-color: blue; */ + width: 100%; + padding-left: 4px; +`; +const ModalH3 = styled.h3` + margin: 0; +`; const ModalContent = styled.div` height: 60vh; width: 40vh; background-color: white; - padding: 20px; + padding: 40px; border-radius: 40px; display: flex; flex-direction: column; @@ -99,9 +108,10 @@ const CloseButton = styled.button` border: none; `; const CreateImageLabel = styled.label` - font-size: 1.2rem; + font-size: 24px; + font-weight: bold; display: flex; - align-items: center; + width: 100%; margin-bottom: 0.5rem; `; const GenderRadioGroup = styled.div` @@ -143,9 +153,18 @@ const GenderRadioLabel = styled.label` color: #ccc; } `; - +const EmailLabel = styled.label` + width: 100%; + height: 2rem; + /* background-color: blue; */ + display: flex; + justify-content: center; +`; const EmailInput = styled.input.attrs({ type: "email" })` - /* Input 스타일링 */ + width: 80%; + background-color: #d9d9d9; + border: none; + border-radius: 7px; `; const CreateImageButton = styled.input.attrs({ type: "checkbox" })` @@ -154,6 +173,8 @@ const CreateImageButton = styled.input.attrs({ type: "checkbox" })` height: 1.5rem; border: 1.5px solid gainsboro; border-radius: 0.35rem; + margin-left: 10px; + margin-top: 10px; &:checked { border-color: transparent; background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e"); From e3149032f963f173c5038c83be5ba31d11433bd6 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Tue, 30 Apr 2024 15:16:19 +0900 Subject: [PATCH 08/23] =?UTF-8?q?feat:=20navigation=20=EB=9D=BC=EC=9A=B0?= =?UTF-8?q?=ED=8C=85=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/Routing.js | 4 ++-- frontend/src/components/header/navbar.jsx | 21 +++++++++++--------- frontend/src/components/informationModal.jsx | 8 +++++--- frontend/src/index.js | 7 ------- frontend/src/pages/Feature/feature.jsx | 20 +++++++++++++++++++ frontend/src/pages/Feature/result.jsx | 0 frontend/src/pages/section1/section1main.jsx | 8 ++------ 7 files changed, 41 insertions(+), 27 deletions(-) create mode 100644 frontend/src/pages/Feature/result.jsx diff --git a/frontend/src/Routing.js b/frontend/src/Routing.js index 8482183a2c..6ca47a95f2 100644 --- a/frontend/src/Routing.js +++ b/frontend/src/Routing.js @@ -1,13 +1,13 @@ -// import Navbar from "./components/header/navbar"; import { BrowserRouter, Route, Routes } from "react-router-dom"; -// import MainPage from "./pages/mainPage"; import App from "./App"; import Camera from "./pages/Feature/camera"; +import Navbar from "./components/header/navbar"; function Routing() { return (
+ } /> } /> diff --git a/frontend/src/components/header/navbar.jsx b/frontend/src/components/header/navbar.jsx index 2f2c2fb0b2..83a3c6353c 100644 --- a/frontend/src/components/header/navbar.jsx +++ b/frontend/src/components/header/navbar.jsx @@ -1,13 +1,16 @@ -import React from 'react'; -import styled from 'styled-components'; -import CircleButtonComponent from './menubutton'; -import logoimg from '../../assets/logo_purple.png'; +import React from "react"; +import styled from "styled-components"; +import CircleButtonComponent from "./menubutton"; +import logoimg from "../../assets/logo_purple.png"; +import { NavLink } from "react-router-dom"; const Navbar = () => { - return ( - - + + + + + ); }; @@ -18,13 +21,13 @@ const NavbarContainer = styled.nav` justify-content: space-between; align-items: center; /* padding: 10px 30px; */ - background-color: transparent; + background-color: transparent; `; const Logo = styled.img` padding: 10px 20px; width: 80px; - height: 70px; + height: 70px; `; export default Navbar; diff --git a/frontend/src/components/informationModal.jsx b/frontend/src/components/informationModal.jsx index 5fc9ebb7aa..a0cf1fdc7e 100644 --- a/frontend/src/components/informationModal.jsx +++ b/frontend/src/components/informationModal.jsx @@ -1,9 +1,11 @@ import React, { useState } from "react"; import styled from "styled-components"; import Xbutton from "../assets/StopButton.svg"; -import Gobutton from "../assets/GoButton.svg"; import ClickButton2 from "./modalclickButton"; +import { useNavigate } from "react-router-dom"; const InformationModal = ({ onClose }) => { + //라우팅 + const navigate = useNavigate(); const [gender, setGender] = useState("male"); const [createImageChecked, setCreateImageChecked] = useState(false); const [email, setEmail] = useState(""); @@ -16,6 +18,7 @@ const InformationModal = ({ onClose }) => { }; const handleSubmit = () => { console.log("submit!"); + navigate("/camera", { state: { email: email, gender: gender } }); }; const handleGenderChange = (event) => { @@ -53,9 +56,8 @@ const InformationModal = ({ onClose }) => { 생성형 이미지 - {/*
*/} 생성형 이미지를 받아보기 위해서는 - {/*
*/} + 8분 정도의 시간이 소요됩니다. 이메일 주소 diff --git a/frontend/src/index.js b/frontend/src/index.js index ca735af473..4178f3e9ae 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -1,20 +1,13 @@ import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; -import App from "./App"; import reportWebVitals from "./reportWebVitals"; -import Navbar from "./components/header/navbar"; import Routing from "./Routing"; const root = ReactDOM.createRoot(document.getElementById("root")); root.render( - ); - -// 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(); diff --git a/frontend/src/pages/Feature/feature.jsx b/frontend/src/pages/Feature/feature.jsx index e69de29bb2..e903b1c43c 100644 --- a/frontend/src/pages/Feature/feature.jsx +++ b/frontend/src/pages/Feature/feature.jsx @@ -0,0 +1,20 @@ +import React from "react"; +import styled from "styled-components"; +const Feature = () => { + return ( + + + + + + ); +}; +const MainContainer = styled.nav` + display: flex; + flex-direction: column; + height: auto; /* 높이를 내용에 따라 자동으로 조절 */ + width: 100%; + overflow-y: auto; /* 내용이 브라우저 창을 넘어가면 수직 스크롤을 생성 */ +`; + +export default Feature; diff --git a/frontend/src/pages/Feature/result.jsx b/frontend/src/pages/Feature/result.jsx new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frontend/src/pages/section1/section1main.jsx b/frontend/src/pages/section1/section1main.jsx index 1a2541648d..c81315b7d3 100644 --- a/frontend/src/pages/section1/section1main.jsx +++ b/frontend/src/pages/section1/section1main.jsx @@ -1,16 +1,12 @@ import React from "react"; import styled from "styled-components"; -import AnimatedButton from "../../components/animatedButton"; +// import AnimatedButton from "../../components/animatedButton"; const Section1Container = styled.div` width: 100%; height: 100vh; background-color: #ffd166; `; const Section1Main = () => { - return ( - - - - ); + return {/* */}; }; export default Section1Main; From b5a8af6e96cc80e2ca713530fcdea4fa0f6898c4 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Tue, 30 Apr 2024 15:41:53 +0900 Subject: [PATCH 09/23] =?UTF-8?q?chore:=20react-slick=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 27 ++++++++++++++++++++++++++ frontend/package.json | 1 + frontend/src/Routing.js | 3 ++- frontend/src/pages/Feature/result.jsx | 28 +++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 1 deletion(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f1c22722e3..aeef8940d8 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -17,6 +17,7 @@ "react-dom": "^18.2.0", "react-router-dom": "^6.22.3", "react-scripts": "5.0.1", + "slick-carousel": "^1.8.1", "styled-components": "^6.1.8", "web-vitals": "^2.1.4" } @@ -12288,6 +12289,12 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", + "peer": true + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -16182,6 +16189,14 @@ "node": ">=8" } }, + "node_modules/slick-carousel": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz", + "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==", + "peerDependencies": { + "jquery": ">=1.8.0" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -27334,6 +27349,12 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==" }, + "jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", + "peer": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -29969,6 +29990,12 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, + "slick-carousel": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz", + "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==", + "requires": {} + }, "sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", diff --git a/frontend/package.json b/frontend/package.json index af304f8c6b..d25a0fa524 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -12,6 +12,7 @@ "react-dom": "^18.2.0", "react-router-dom": "^6.22.3", "react-scripts": "5.0.1", + "slick-carousel": "^1.8.1", "styled-components": "^6.1.8", "web-vitals": "^2.1.4" }, diff --git a/frontend/src/Routing.js b/frontend/src/Routing.js index 6ca47a95f2..585033d73f 100644 --- a/frontend/src/Routing.js +++ b/frontend/src/Routing.js @@ -2,6 +2,7 @@ import { BrowserRouter, Route, Routes } from "react-router-dom"; import App from "./App"; import Camera from "./pages/Feature/camera"; import Navbar from "./components/header/navbar"; +import Result from "./pages/Feature/result"; function Routing() { return ( @@ -11,7 +12,7 @@ function Routing() { } /> } /> - } /> + } />
diff --git a/frontend/src/pages/Feature/result.jsx b/frontend/src/pages/Feature/result.jsx index e69de29bb2..17afc8e179 100644 --- a/frontend/src/pages/Feature/result.jsx +++ b/frontend/src/pages/Feature/result.jsx @@ -0,0 +1,28 @@ +import React from "react"; +import styled from "styled-components"; +const Result = () => { + return ( + + + + ); +}; +const MainContainer = styled.div` + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + background-color: #f2d750; + height: 100vh; /* 높이를 내용에 따라 자동으로 조절 */ + overflow-y: scroll; + width: auto; +`; +const ResultContainer = styled.div` + display: flex; + flex-direction: column; + background-color: white; + width: 90%; + height: 80%; +`; + +export default Result; From a7d61e7997c5cf7da1b2ff3851f96f4e38d168d4 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Wed, 1 May 2024 18:27:31 +0900 Subject: [PATCH 10/23] =?UTF-8?q?feat:=20=ED=8D=BC=EC=8A=A4=EB=84=90?= =?UTF-8?q?=EC=BB=AC=EB=9F=AC=20=EA=B2=B0=EA=B3=BC=EC=B0=BD=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 85 ++++++++++++++++++ frontend/package.json | 1 + frontend/src/assets/springGirl.png | Bin 0 -> 5852 bytes frontend/src/pages/Feature/result.jsx | 35 +++++++- .../src/pages/Feature/result/resultDiv1.jsx | 62 +++++++++++++ 5 files changed, 179 insertions(+), 4 deletions(-) create mode 100644 frontend/src/assets/springGirl.png create mode 100644 frontend/src/pages/Feature/result/resultDiv1.jsx diff --git a/frontend/package-lock.json b/frontend/package-lock.json index aeef8940d8..bd5ddb8670 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -17,6 +17,7 @@ "react-dom": "^18.2.0", "react-router-dom": "^6.22.3", "react-scripts": "5.0.1", + "react-slick": "^0.30.2", "slick-carousel": "^1.8.1", "styled-components": "^6.1.8", "web-vitals": "^2.1.4" @@ -6223,6 +6224,11 @@ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", @@ -7432,6 +7438,11 @@ "node": ">=10.13.0" } }, + "node_modules/enquire.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==" + }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -12393,6 +12404,14 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -15339,6 +15358,22 @@ } } }, + "node_modules/react-slick": { + "version": "0.30.2", + "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.30.2.tgz", + "integrity": "sha512-XvQJi7mRHuiU3b9irsqS9SGIgftIfdV5/tNcURTb5LdIokRA5kIIx3l4rlq2XYHfxcSntXapoRg/GxaVOM1yfg==", + "dependencies": { + "classnames": "^2.2.5", + "enquire.js": "^2.1.6", + "json2mq": "^0.2.0", + "lodash.debounce": "^4.0.8", + "resize-observer-polyfill": "^1.5.0" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -15541,6 +15576,11 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -16454,6 +16494,11 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -23019,6 +23064,11 @@ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" }, + "classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, "clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", @@ -23883,6 +23933,11 @@ "tapable": "^2.2.0" } }, + "enquire.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw==" + }, "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -27433,6 +27488,14 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "requires": { + "string-convert": "^0.2.0" + } + }, "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -29375,6 +29438,18 @@ "workbox-webpack-plugin": "^6.4.1" } }, + "react-slick": { + "version": "0.30.2", + "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.30.2.tgz", + "integrity": "sha512-XvQJi7mRHuiU3b9irsqS9SGIgftIfdV5/tNcURTb5LdIokRA5kIIx3l4rlq2XYHfxcSntXapoRg/GxaVOM1yfg==", + "requires": { + "classnames": "^2.2.5", + "enquire.js": "^2.1.6", + "json2mq": "^0.2.0", + "lodash.debounce": "^4.0.8", + "resize-observer-polyfill": "^1.5.0" + } + }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -29534,6 +29609,11 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, "resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -30196,6 +30276,11 @@ "safe-buffer": "~5.2.0" } }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", diff --git a/frontend/package.json b/frontend/package.json index d25a0fa524..923f99db79 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -12,6 +12,7 @@ "react-dom": "^18.2.0", "react-router-dom": "^6.22.3", "react-scripts": "5.0.1", + "react-slick": "^0.30.2", "slick-carousel": "^1.8.1", "styled-components": "^6.1.8", "web-vitals": "^2.1.4" diff --git a/frontend/src/assets/springGirl.png b/frontend/src/assets/springGirl.png new file mode 100644 index 0000000000000000000000000000000000000000..2a40b8bd8cc983325354e5203e1c1c8b51c90972 GIT binary patch literal 5852 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 { + const Slidersettings = { + dots: true, + infinite: true, + speed: 500, + slidesToShow: 1, + slidesToScroll: 1, + }; return ( - + + + 12341234 +
+

2

+
+
+

3

+
+
+
); }; @@ -14,15 +36,20 @@ const MainContainer = styled.div` justify-content: center; background-color: #f2d750; height: 100vh; /* 높이를 내용에 따라 자동으로 조절 */ - overflow-y: scroll; + /* overflow-y: scroll; */ width: auto; `; const ResultContainer = styled.div` display: flex; flex-direction: column; background-color: white; - width: 90%; - height: 80%; + width: 80%; + height: 90%; +`; +const StyledSlider = styled(Slider)` + width: 100%; /* Slider의 크기를 100%로 설정하여 부모 요소인 ResultContainer와 동일하게 만듭니다. */ + height: 100%; + flex: 1; `; export default Result; diff --git a/frontend/src/pages/Feature/result/resultDiv1.jsx b/frontend/src/pages/Feature/result/resultDiv1.jsx new file mode 100644 index 0000000000..ea39907cc9 --- /dev/null +++ b/frontend/src/pages/Feature/result/resultDiv1.jsx @@ -0,0 +1,62 @@ +import React from "react"; +import styled from "styled-components"; +import SpringGirl from "../../../assets/springGirl.png"; +const ResultDiv1 = () => { + return ( + + + Personal Color + + + 퍼스널 컬러는 봄 입니다. + + + + + + ); +}; +const MainContainer = styled.div` + display: flex; + height: 90vh; + flex-direction: row; + /* justify-content: center; */ + align-items: center; + /* width: 100%; */ + /* background-color: blue; */ +`; +const LeftContainer = styled.div` + width: 40%; + height: 100%; + display: flex; + flex-direction: column; + /* background-color: #467359; */ +`; +const Title = styled.h2` + margin: 2rem 0rem 0rem 2rem; + font-size: 3.5rem; + color: #f241b4; +`; +const LeftBottomContainer = styled.div` + align-items: center; + justify-content: center; + display: flex; + /* background-color: saddlebrown; */ + width: 100%; + height: 100%; +`; +const GirlImg = styled.img``; +const PersonalResult = styled.div``; +const Line = styled.div` + width: 4px; + border-radius: 4px; + height: 95%; + /* padding-top: 4px; */ + background-color: black; +`; +const RightContainer = styled.div` + width: 60%; + height: 100%; + /* background-color: blue; */ +`; +export default ResultDiv1; From 467ac58570f3250607dd8c2bbc0b57a6fa55b2de Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Fri, 3 May 2024 01:35:10 +0900 Subject: [PATCH 11/23] =?UTF-8?q?feat:=20=EC=B9=B4=EB=A9=94=EB=9D=BC=20?= =?UTF-8?q?=EB=93=A4=EC=96=B4=EA=B0=80=EB=8A=94=20=EB=A9=94=EC=9D=B8=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=9E=91=EC=97=85=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../personal_color/PesonalColorMain.jsx | 85 ++++++++++++------- frontend/src/pages/section2/section2main.jsx | 2 +- 2 files changed, 56 insertions(+), 31 deletions(-) diff --git a/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx b/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx index 39522eac5c..9ba5a75a9d 100644 --- a/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx +++ b/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx @@ -1,56 +1,81 @@ import React from "react"; import styled from "styled-components"; -const PersonalColorContainer = styled.div` - width: 90%; - height: 80vh; - display: flex; - justify-content: center; - flex-direction: column; - margin: 60px; - border-radius: 20px; - background-color: white; -`; + const TopContainer = styled.div` width: 100%; height: 25%; display: flex; flex-direction: row; - background-color: green; + /* background-color: green; */ `; const BottomContainer = styled.div` width: 100%; height: 75%; - background-color: beige; -`; -const BlackCircle = styled.div` - width: 50px; - height: 50px; - margin: 20px 20px; - background-color: black; - border-radius: 50%; + /* background-color: beige; */ `; const TopTextContainer = styled.div` width: auto; + margin-left: 2rem; height: 100%; - background-color: aliceblue; + /* background-color: aliceblue; */ `; const PinkText = styled.p` color: #e547ff; - font-size: 5rem; + font-size: 4.5rem; font-weight: 700; `; +const Container = styled.div` + position: relative; + width: 100vw; + height: 100vh; +`; + +const RotatedBox = styled.div` + position: absolute; + top: 5%; + left: 9.5%; + width: 81vw; + height: 90vh; + transition: transform 0.3s ease; +`; + +const FirstBox = styled(RotatedBox)` + transform: rotate(3deg); + + background-color: black; +`; + +const SecondBox = styled(RotatedBox)` + transform: rotate(5.5deg); + + background-color: #ffcbcb; +`; + +const NormalBox = styled.div` + width: 80vw; + height: 90vh; + background-color: white; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 1; +`; const PersonalColorMain = () => { return ( - - - - - Personal Color - - - - + + + + + + + Personal Color & Hair Style + + + + + ); }; export default PersonalColorMain; diff --git a/frontend/src/pages/section2/section2main.jsx b/frontend/src/pages/section2/section2main.jsx index a4fb44b6b6..50d872e93c 100644 --- a/frontend/src/pages/section2/section2main.jsx +++ b/frontend/src/pages/section2/section2main.jsx @@ -15,7 +15,7 @@ const Section2Main = () => { return ( - + {/* */} ); }; From 0a274f7787e51b9e4a3d0e19735973cc58e34b86 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Fri, 3 May 2024 10:43:29 +0900 Subject: [PATCH 12/23] =?UTF-8?q?chore:axios=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 56 +++++++++++++++++++ frontend/package.json | 1 + .../personal_color/PesonalColorMain.jsx | 5 +- 3 files changed, 61 insertions(+), 1 deletion(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index bd5ddb8670..8cce55d28e 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -12,6 +12,7 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "axios": "^1.6.8", "gsap": "^3.12.5", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -5543,6 +5544,29 @@ "node": ">=4" } }, + "node_modules/axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/axobject-query": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", @@ -14960,6 +14984,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -22568,6 +22597,28 @@ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==" }, + "axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, "axobject-query": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", @@ -29148,6 +29199,11 @@ } } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 923f99db79..fcf4277f2c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -7,6 +7,7 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "axios": "^1.6.8", "gsap": "^3.12.5", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx b/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx index 9ba5a75a9d..1ec640b97e 100644 --- a/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx +++ b/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx @@ -1,5 +1,6 @@ import React from "react"; import styled from "styled-components"; +import ClickButton from "../../../components/clickbutton"; const TopContainer = styled.div` width: 100%; @@ -73,7 +74,9 @@ const PersonalColorMain = () => { Personal Color & Hair Style - + + + ); From 7fa15f75d0881329fc9f6b9b51cc597ca54bc6e7 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Fri, 3 May 2024 10:52:03 +0900 Subject: [PATCH 13/23] =?UTF-8?q?feat:=20=EC=84=9C=EB=B2=84=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=20=EC=8B=9C=20=EB=8F=99=EC=9E=91=20=EA=B8=B0=EB=B3=B8?= =?UTF-8?q?=20=EC=84=B8=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/Feature/camera.jsx | 21 ++++++++++++- frontend/src/pages/Feature/loding.jsx | 44 +++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 frontend/src/pages/Feature/loding.jsx diff --git a/frontend/src/pages/Feature/camera.jsx b/frontend/src/pages/Feature/camera.jsx index d6a0e69e2e..c26a611461 100644 --- a/frontend/src/pages/Feature/camera.jsx +++ b/frontend/src/pages/Feature/camera.jsx @@ -4,10 +4,13 @@ import CameraBtn from "../../assets/CameraButton.svg"; import GoButton from "../../assets/GoButton.svg"; import StopButton from "../../assets/StopButton.svg"; import { useState } from "react"; +import axios from "axios"; +import LoadingOverlay from "./loding"; function Camera() { const [imageSrc, setimageSrc] = useState(null); const [isModalOpen, setIsModalOpen] = useState(false); + const [isLoading, setIsLoading] = useState(false); const videoConstraints = { width: 1000, @@ -25,6 +28,21 @@ function Camera() { setimageSrc(imageSrc); openModal(); }; + const sendDataToServer = () => { + setIsLoading(true); + axios + .post("your_server_endpoint", { + image: imageSrc, + }) + .then((response) => { + setIsLoading(false); + // Handle response + }) + .catch((error) => { + setIsLoading(false); + // Handle error + }); + }; return ( - )} + {isLoading && } ); } diff --git a/frontend/src/pages/Feature/loding.jsx b/frontend/src/pages/Feature/loding.jsx new file mode 100644 index 0000000000..af384845b9 --- /dev/null +++ b/frontend/src/pages/Feature/loding.jsx @@ -0,0 +1,44 @@ +// LoadingOverlay.js + +import React from "react"; +import styled from "styled-components"; + +const LoadingOverlay = () => { + return ( + + + + ); +}; + +const Overlay = styled.div` + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + display: flex; + justify-content: center; + align-items: center; +`; + +const Spinner = styled.div` + border: 6px solid #f3f3f3; + border-top: 6px solid #3498db; + border-radius: 50%; + width: 50px; + height: 50px; + animation: spin 1s linear infinite; + + @keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } +`; + +export default LoadingOverlay; From 365b0bf9231c9d7761a11b7c5773fb3c087d5a07 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Fri, 3 May 2024 15:44:14 +0900 Subject: [PATCH 14/23] =?UTF-8?q?feat:=EA=B2=B0=EA=B3=BC=20=EC=B0=BD=20?= =?UTF-8?q?=ED=8D=BC=EC=8A=A4=EB=84=90=20=EC=BB=AC=EB=9F=AC=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=99=BC=EC=AA=BD=20=ED=95=98=EB=8B=A8=20?= =?UTF-8?q?=EB=B6=80=EB=B6=84=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/assets/BestColor.png | Bin 0 -> 5669 bytes frontend/src/assets/WorstColor.png | Bin 0 -> 5464 bytes frontend/src/components/clickbutton.jsx | 6 +- frontend/src/components/header/navbar.jsx | 1 - frontend/src/components/modalclickButton.jsx | 6 +- frontend/src/pages/Feature/result.jsx | 2 +- .../src/pages/Feature/result/resultDiv1.jsx | 59 +++++++++++++++--- 7 files changed, 59 insertions(+), 15 deletions(-) create mode 100644 frontend/src/assets/BestColor.png create mode 100644 frontend/src/assets/WorstColor.png diff --git a/frontend/src/assets/BestColor.png b/frontend/src/assets/BestColor.png new file mode 100644 index 0000000000000000000000000000000000000000..279c70568bb4707f0e3f73332df99a73838bacbd GIT binary patch literal 5669 zcmbW5XEYqzyT&Ct87)zxj!~jTl;~x~U`BK%qn9Y7B#0oo90o%OgD69gK`>hMM2$`) zdap+iz4sQ^`G31>-F5C=_rtF1UGIALhiCuxexmesH33v?R76BX05}Y4NJMlCcr*V@ zL3Yy@q3pD721*Z@=_?{4>bw86TST}FmYdC6uM9OIM5TS~Yc~rL6j%pLL{uI}eQ8Td zM8sGJhk}iLZ*9#6cp;Y4$aYa#Ab}G#3LH1(V+&Gk{rD$?tl(T@f@G*qa?QP}4?YNsmadzb2o2n*LMJz)4MiiQ2SML(DpM5hPh6cG~(-n7UJ z9OD)e75$KNd-cSnngR-4$%l{*DWRxygTr8e7EePXqa8zs@z-GJQnb6sy;;h zLQ|Slcs-!fh#@kFXMu*n5D3Pa=aWM_i~AGN0-4_`+=K7-CX0r_8E_Si)XZW~F!+{} zjU62T@@l28BQE%~ZMf;FwRN1#SZPNatx8NJmmkS6>c_X3wPD+6V>gBv$q^rM44E?7 zAosnu9pd=$-6z|6`f8HWZ(Yc-BttP>oWurnEKn~tRw_6hhjQST`4uTCDVv`->4{2I zT#)r`ZJ~n7qvXf#bI*}-`&W~blc}XbVuil`{)@3Po9o({i!)`##Z}|XqGlv)sW*vm z5uKfq%3_V_7by>SXreREH$)MI`t?`G(_5K(?oX0MT4+Od!?rJma@Hri5-w=S2ETQ1 zo*$O#F8x_w$*dISTw{iN z4=1AA_Q^Rvk8_>>bl=o}33C!{*wdKtI{4|sB5G)xSaPlpfoNHoXY$Uk#CxQ9^zePr zfe^aH2PioxrB?oUh3UMaA`5e(Gb?HZCpUG+OkJJKO>=-~3L`Ss4l{X{;=h>?B1|Qc z5?CMR3%Tfj6v(hygFCj3HT;ps0JFhe&i78N&?F-|)|bDW5z)Rm!e4Ty*5ZtQZf?6g zo3>7uEx+(~;4fXjqvOHWU_uXo7!J*4YV_tGFcUmqG27fB?TipU_e`xmm% zGmb~+$ND-YC#6kJySD1kmG((f0|IM*S)S0tHR%$wuS2DHP|W#M7lw?MjQ)ehxniF# zI^}R81m%Wg1jR`ouHHHVF}~YGjYt;TtMH`Z=V!WFY8W88d8701l8&w#m;oYp@Zj#r zxPld6q;5tt=0NOXz zK?!e1uQFJ4AeuDQ@v5@ZnLqkAU?wnqn8(iz`M{j!wnyg|oN{Bu&BK8(Mo`NdI`zlu zUJ^I)-7pL$#xCxkj*cGt@(vIv@eT}yc0R&jx@F1e=~=tDfxtx;DAb<)Kau})5c5RO z!EnMNhQ9+_oQxrzZ@;Umi6VL7;=D#7hUDEdg1Hq!tNb1&Ot~)P_a#|W-%&F^_q}*5 zUXmX_(M-CR!&P|1f7%mmNwLw||BX$K682M7|9F&B6LAF}c`UPN9H4NSfK3RUIrO^M z9${nQ=An`U4Y(`s`khY2;9Ywm+iB1DZZ-Q=LC|tc==-!tZf9D2v6F!3&@`5P&~GY7 z_oA8OCAIg@9;fHSC(V4fl3qUJkkBg*&l~ej6qlC^EF4qSVxNjS?L=VdGPHz(mJ3 zS_TO1i>ZPL+m`E(9x!jOl^^}*Od1@Fu7dB6XX{4MeKj zd@1DY6`nbB>l+iJnc3G=x_44={hTPi&^aJl1hgr0C7p0tRNpnKp5zhSs0vcRQ zPmIv&=9AY`Ed_6{!AouA^LphYx_Sr$v*E`eZ<2X;*~DTqcZ31T1XA!;swdBO`)MT( zFl~&85;wiJ{n}{h=ABfgZm~#y9S9F0=t%c^?@41M4CU2~0CFI-ef^Bqi;0NO*iU}# zYHf=2p**JURuNItMRDj)Y@RR*#N#i`S}!z59nm`ZRGOB70N`Co`<2#SpPoqN=f%F2 zjkJmPqqI)mN9slqZ(j%@01FKw-p=0AGtuKoJkN8560TCbcBL_R9sqs`bb>IOh;X18 zpZ4BofxwTVH#@?=pL>vDr-gKsclkf9_p3K-8__|DV}B%vBXTQQiFNSO8C=S>7AKe~ zva#m2uQqf+T4@u72{7jWv-fS`6%e(Zr8h(=a1l(ZW=7zHPGK8e<5E*YuG(^lRfuK9F2eO*aGu? zFTdC~a2TBnNfaMafAVZZN&`WW3gBf;7?t|eO1s}uCVH8Yqr`9^OJ0GNpu^?7s(|atI}S7cS>C6R zE5j;Y;p)3!h0$cRUA|%94zlOH^()#dq1|5nCq!CA(tr=t%^fnzZ%-po^iuT<33PP> z^QMYl>(;+pDts;^Fo4r31kMa7InodD zFhj|HMHj^s^3eH3hZxa*bYR(=zE3r0_k=b!4Dy&%^727Ne9=9AXMgQ{5o9!MD4jV` zt-z;YmSQUMSHn1I$e5r|=+#2GadGaz zCJGFWOi?w*_VlVb;#5$nid-c>W1R|0YTU1qaGBxMRGr_@$?GoFry(?1OFy*jV_9Rf ztEHs=ZtvnMG7kyS_=VqFj8Fa$n|*_>zTZZ&$7AyB*Vo?1bz*}vw%zQKG=2wVHpw!nYuUMEiMgMz)6(!P2&qTMARq9!Ibwh4wSINTeJ?hICnJBq6*{!s zzw8~b#prD2mF)gGo0pU{IHl?`a4G3tj?-SsmiLG6^8sA0At!>$bM^fu=Epe^#!pHIoL;CJ8FG7awi()Nm@Gh#k??xE|&U z>m&GXalkrr0TQ7fFP8R*OS05FbkpLx4F2@%xty`$S<-)UU`2ux*HOz#Dz#yPFga#R zbjNj*1!>|R;arfYdCjJqlgBEpu*dURSD057uage>@yDz7m+jG47e(el6`b<{`_Ame za?#m61MWJLx=URVHeO9C0yyS+1mofNoYzIsf)ljGvR2;TO228OSUA&8UshbCG@3vsqXr84ua1;U@66;OdJ1GA(ROzU(2 zT~<(*?t#y1->iI(mZtCDV095ylzB3f;!>a#`ueF-sCazmX)-eN4N`NgxIEI{mbGaY4_(^C6=(N zT3x>-{|VP_ONd}!&U0@ovAZt=jA5hYM4L12kSnP9h~)|qhNX-Tr7^i+c8x6omxZyG z^<7e|pvrpb?E>W0M{$>3x_7bUGa-L_yNJB5wXDc_X5z2bxQ1)I!I*q{I=zNlZIL_( zu-+t9_uQmb`l4B;)S3-qQs_76**?qlHd!M`$F|H%y4bIHGC%2En-)gf_J4lB{+sCk z?J3+uW?<+qPnJ+zWsH7r5#gU5^$8V9CSV;V=&&k|#!kQap{=9t2x}8m`7MUQD_hM? z>UmB&*QR9Z_V%l>IK;97WR`FT&XbcAIqW*ffFo(l5H%IOM)|KE57)!+KbEd@dN~I( zL8nxmRuSTL**14(zO!v@6PKBftr~c2+}s&-8g(_jXX(Bd)wDA5gYJ)?*=(1laZ;AAgc&_9#zH)WR?9yDr7ZI-P7wIg(|Metv@ zBV&;7xWXFZkL;Q}M^OtMha1V<+7+)39<`{^@u3{?9t*J)i30(`!ARt%JD^)8?9uYx6O8zem+ME-O2B(XAF+|O{2ceh|E52 zJQ)}qL1)8Hwg1!x#6KD`@0c3C5%^T?@{W5rB}2s9kUgRVqoY1fbA{KNFxA8xgcSH~ zsb@@7(1XAJz3#fXU}ES`<`v(of4!fFB&G&YW_BR^T3elsvU|6GmMzR8pJpp(s|v9w zunrsZ<+_rU<<*ff>M4iwx{h&E=*DR=Su##`1)MxvRyvug1;_tMGPXkouQ8E;UFqaN z@i>}IwV=tz3+ZlDEQc#? zSLjsAn$6m@Y(t2`J0!=OdBb7JN7?{Vhfc8qOA1i@x>oJtgu?x5V_3y?!lpcTr4JZD zsWMkjTR+wuwSRJ177q%Hu#%c74b9LJ5&VmU{>Eh6HIe*(eJ=mIHs5k%3y5zVD{p!e zrkfw>kMd%wLd+ZqJ(ed5`b%w%K8OeiR4ax)3u@QWG6USqL1DnV0=mWec2!3=h8oTx zh?~`3Z@z1BuL}&lC;ncE_It^4pzTWEhh>7RF$oaQT`*YzPvnnH7~SSzQ&3Q7rn>Rm z3S3q>QH=^1EiJ7v1qTLt?9-_Bu#S$7IJwt)3hgv)!L$!*rgc@-@PeST;E5=@M=X(%};0RW)U)q$A-01<>R zuB9L+$f_rg^a$MzFP#Uz06@j~Pa^{IUa=9BM80O)>HubtYn?D5eWGTl1^{)bRF{rq z0Kl}Z3sbWQBHEs{N#mTz1?|;%whie>FX}sG+Qn5{OV%~CG;b-@E#!ghoqDAoR@O^6 z>SoIY=rZs9%@S-=uW#SItnkCr22F-jQY#WoJ3#0BAPxQd(GXv2Wvc&qH_*{0$=LYI8DI2C&C>M-Y>!hza1c4j*v$2u^U$r49(8LFAE zvU^Eg9$d}0U*Qup;%MzU&{dKi0o`L|#=H#%hY5TXJ3>HIb@&$OqZo*mD`?y0FZ@rw zd;S~aosg&q@xdJdAj-zqlyvlk1FMcXQpez<+gTVs*fiiukq8iUWV_yO+j-&i&9d-x zQ&)xhLbdgmxA(CJF_5-cJhM3~R}uLK&BuWn-lZ^?0@6I4*k-}71;5)l7x7?qAgv%Z z&aqL!P+B{Z^El=o1*SdjK?9-zf?EzAlZ-F~0Cu)hd^m`XN2zaBP7Fe?KEw#9YN6uD zVn6ZW+~OsLNTQx?bGi&2@iAOquoD5!-(?1bPsiErOgZoY02w8!ZfJ?MmH~)@*v&_N z7VJKS5&F0cTY9}vlv2)VB>Q&tBU@U;*e>{>4yGC!L)L7v6 z7v;-ScvX1pp_J7KD44k)Bmk!>T20?5vdzU zD^_pXQxJCd^6F_#r&do2_e{r@xyo4|%}m$jLBF4^!3X&yE#;f)hbjf(0f(VG-usQu z4ns%!6ECklBlUd`4@qZ0(XLwF%-x1hF&0`#LCV+4kn)yvZug$&GHoF&M{z;zBT=~R z0{psh_o33`7nppKRFa($-YXI6w+J{>+;Cg@{S+Q$4%BiG#Xi={IMM3z^klOe{C0AZ@I# zQyw$>?nRP^9KkcP+1h3PrY%XRu@-F~_{7272y!ljMiq@4%rR#kep=yMEoj8#peEyEWCA^EAnW5D$oUiC}T#fetI_9S!^5pOv%}Pi(mjv ziqJ~XW~|+RqwTT(k_T%9O^FXxU+m<=EEVUxNdh_h?crw3?cWj4Aia;j=SDqz=iMO3 z@$2#+4l#BU>MBY39x=1O8!Y?ufi3SfK1Fe-C|D{PSM*yl&rcQ7PI%LA7=KxG$8`|dBMYIkE`pvj~fhs{_x#?zhIE+q1(8nXLP{P z&!&N?S67>Cujx*)??%1|~QEJe_vN+y|mw5g6A%>Ka1%vKKH=l)_t%aPO zL)nij54zRAL?9$boYt9@j@3yY;a0NCF6hWe4*>UJeo<2`K7Q5Y7_ro>( zr7yrRpolAPf*_(PfGiC#QIrn_1TdjhBL%+k#{;Sgr1XGD93L^T{9l&;-l+9E)Thlv z#H8-N;7oI$}idHtGVKunM&_UKrWG~xa6(f{44?F=x}M&&vz~EI59DMj4Fw+1lEU% z?O<0-V6Shd)w$jME@*w$s-laRzN-S>WGyuI9dr8AwW)l>wS-lN>mHieR7yLSJsuQT zr9ZxIYAqjyMeOqR^lqIca3ERiILFPY1Zj(e=8HAyRbA4IfaFb1BD*H?aUH2N`KVt$ zvPuJq0-wr-!nH^zTixu-|>TRM<3>MmzL9j~^~MXUQJA8g<3 z%d*a`e|qBanE!JSWsA)gGBfjjlNW`!<#;SuY`JC^39}`upydC`{KI|lPNnsMM~;B{ z+AcE+EOw^F7IPPry8(8ZZPoPA_Z2i3RcoxRRc*CJjb-0z5uIuEEqjIFH}0w2h(03c zia*rMaE!CdUmFQdwD^M0x^hnCp0Dq# zUh{R3!VEg6L+e*oma?DS%@RX9!|6dLrs1(C%%#p3CFT^GEslc@-rh12v`ZFzcenR4 zw=;z;zse{1eM^hsCxuSpoT&M_y~Ada^)obFA2T+ zC!HAuycOdTz3jVYyRzCy?66Eih$WdJvRBf{c<8|8&e-E~n{+`wDh|WGuR^&6``+sJ zGW<`Y#`)^Suk>*7kA>O%P*}R1mT)osMdU^%sWboZX}}k1-Pw1}Z=JU}?Q!1H2FXaB z)o>)|!&<|*E}H*67yeHP^FNJdUKf57MtRzhjOG|iCXe$Sgoj^`t7U|5KE2$d#gWlR z&UIiiwq~OK(5ztTJ?E*Dd(g{AI^-2Wy7By44a-7vH!S>OT3w)zeNq=R;Mo52*GN!U}b61Ht z`qs4BhJue&qTg2zewgb1rXy@ys=%#a>@te%Wj5z~T?xUAawL-rO}cJQu&ua>EM%pF zE_0CnqkRtN4kl(|&1G=-I1AdO+kgearGAzj(^ChFr3t>s{8l+Vfkrzs$HS_ss(g+g z^YQ2yDm->|VmMjOvl5m|8}l+qJkiu*e7$%kt(}UscOb>pi$A&T1sAL$))nnC&1sXU zAf>nB7qh~M&?er}OyneTE~{SM;RSttm^JFFq8^f>uwyPD?*A>ny8m;(%AdzcCoomBQ6C z_f`k2^oz}N7M^7I?lpeN`hd27c>Bj;qwApX`PP}u7orx3dU?JX{A;0H*Q1A~14BD$ z3I!|}Yg~efK~I>#>xBt1%U*G-((vQUf!a_zdiCTzi{^1;{B*P7nfi0RQikblP1LPx zH7W3$G3L%&_U{7Q*_GRU!OUFVB-NV>S>%|gQ~7ru5)C}?iOS(urjVXS&A!{$0SODb zoRFv>|Jzl1NhAn0QnPew?*g-r{fF-KP=D_{OCWhs_28A#SwKoO(^qERZs()+rTB?D z8DiJN`94TI05nJE1OfjE9{hKB-wm}AQuHckv*F(7@u#KFChH;v^F!{)qw zwQ7RdO?yVtU4|9#u)=5;pl59g$x*uQz6Iwl1(!@aVq$CNALon0zIx8hug@&e-u6*G zqYLe)=w&%E6`B&B`MzVg6H0=-GhujM?{4PsDyRC@3E~agFh-%!$1-G>Eh_}fe8~U@ zy~v`|%OayKK{e@dx`cR^AxWV} zL_&OE6tk8`>+PZExPU&o5{r2@cgNby6>_Q)V$f*fRjxexBA~80NNcvWnW><%)*fN{ zc2saWZ<1j`lcM79=Z#f?Qtz{zH(m%Qp)D2O$5@mz+x|4ob~t+NP`5t58X(F%JhcEm z&zT8rG|8|zDxDOt{)2sUJBH1eEHHSUq3nPsrcxt*;De}z`#`$E=CKh0RFt~kNF02K zGgo^cACt}L`%OLGTPUDZ=tG;*QL9E|$CAhm{$_sBx@*P4GL@QdSMBc@U=tr1;FrN> z;*jVDbK^mU}~vR2qQC4 z%P{(pS7O>xqz`gcfcrS4Rzfw$%Z{GzC|CERcta7Fp6gXa0~4yps1Y#W?)j*ZeQtFV zm353sjFZy7?^(Y8^UYHE;Dkt+UgGa97*B zV4Bhz8mZ(+^wM0q*hj(wjJ2}$X%rerD^A!XMmY0$1p4CWKf|{+;53>oqKS%je>5lF z*vK-i=aVJsKlVM}^kd-a`aBVra%V!88j>q!QU8D`a`*uU;i*uN0`c%lmsAN}Or9Kd z*5E8*ZH9eXeLv+oJ}=&M_8)fQa*1m9%BtB9FI~(sWj*cxf9BS|`;avboS}ZD;>k?Z z+`#KfBE%dfw&61Zc4scC-Y;+9c@PcJ&@am`&*v~5+@AAX;VN`dK9(Il^YR2V;cy>? zPpz5Q63~Q6PLR7xU#n=fs0qpQ1>JB&1DQ!Wfej!#Uu8=Feq6=8%*5*>2H7usy1}l+ z-Jt93e_%J7p6{!v$#nfZjmmb^)Ej(_%^T{WtCLZ{MSK&c=$mm1A>Z28=OCwln!8z& zkD2Blig%c3X|+Es%};i^6itP9R+Vtt81yGbT=Lybj!I04VBS){H68B1dgsc6(F!r2 z!IUj`)?O1ZeV(mz&dbTM_Z){+sfL63>|yCE>dVe-h{Xt{MwJPsaDyP_Fu z$s;3ji|6#k4Gn7+%H{*cmA zr6l?C#5A$Iga8(_l7lioRE(la!bPNu25uxZY49oXNvlT`_R`@Qs$Mk~X`1YsfrXX=AK1T&U@mQ>%H&*(BFA^4SzTzcg8rI@}!Z$bfYm zY3t0)n}j^>qlO*f?2OzKdwCB#e!c9!Tr6lcZn80;cb9&xVQm!d@j@c5{_|MvZer!_ zra@@a`4&ksE8smuMKzMW4_D$LhVVu4rG zd9?)#CjIs$7}Gb{+`;fK3yY+7^w3S5ZY57dVe`BEx0Vvx%0qhMSuMn(FK&e?ObwMd zVn?Lc8rn2-Hf~lojs}}8?LA=9{}cKYdeuFuYHjRldy`O9)G~K`Ci#yG4Ta3;A|n9U z7&p92O(;ytAF;8vLe7;5d=LZa$Fg4n=PwB?o>cVj62$$<8^nM~jC3!7#JSd#(pJ<3 zfCth^sS3zX%c1ip4#GfGQo>entg)O*2ySb-ffY98%1hv$)ZS;$`cK)-uQcR?WN68e z!Z!dufntsjse4`Quzxr#b~It93d(3JS}yrL>p$Bx68meRb5t?QVSrBN%Z%15JeAy~ zYgoST>fkn2^zXnmR-!0BNDOs%i-c`8?>?Hf^MJgA-ysSBmd=9ADC!bwu&Xq7Q_3*~ z^neb3h`L9OoK(!qeg7Pl@bf=XV={$37BqlI?#l=JiAoYE_g41V63Mjqh?|&G0zvmf z5B%y+f<3Pt`^+~(kg4D^7dmonO}=oI_ZifW3QxV0f#06YU1$@#+di+Eo*xL;K>~2Y gZ!}mvmnrd-<<8o=%W>SY1R@mB)ii=()E`Fw3(LU#nE(I) literal 0 HcmV?d00001 diff --git a/frontend/src/components/clickbutton.jsx b/frontend/src/components/clickbutton.jsx index 304f60680a..dac35e3ebd 100644 --- a/frontend/src/components/clickbutton.jsx +++ b/frontend/src/components/clickbutton.jsx @@ -35,7 +35,7 @@ const Button = styled.button` color: #382b22; text-transform: uppercase; padding: 1.25em 2em; - background: #fff0f0; + background: white; border: 2px solid #000000; border-radius: 0.75em; transform-style: preserve-3d; @@ -52,7 +52,7 @@ const Button = styled.button` bottom: 0; background: #000000; border-radius: inherit; - box-shadow: 0 0 0 2px #000000, 0 0.625em 0 0 #ffe3e2; + box-shadow: 0 0 0 2px #000000, 0 0.625em 0 0 white; transform: translate3d(0, 0.75em, -1em); transition: transform 150ms cubic-bezier(0, 0, 0.58, 1), box-shadow 150ms cubic-bezier(0, 0, 0.58, 1); } @@ -61,7 +61,7 @@ const Button = styled.button` background: #ffd166; transform: translate(0, 0.25em); &::before { - box-shadow: 0 0 0 2px #000000, 0 0.5em 0 0 #ffe3e2; + box-shadow: 0 0 0 2px #000000, 0 0.5em 0 0 white; transform: translate3d(0, 0.5em, -1em); } } diff --git a/frontend/src/components/header/navbar.jsx b/frontend/src/components/header/navbar.jsx index 83a3c6353c..3517f36cab 100644 --- a/frontend/src/components/header/navbar.jsx +++ b/frontend/src/components/header/navbar.jsx @@ -9,7 +9,6 @@ const Navbar = () => { - ); diff --git a/frontend/src/components/modalclickButton.jsx b/frontend/src/components/modalclickButton.jsx index 81a138323f..e8d4c6122b 100644 --- a/frontend/src/components/modalclickButton.jsx +++ b/frontend/src/components/modalclickButton.jsx @@ -21,7 +21,7 @@ const Button = styled.button` color: #382b22; text-transform: uppercase; padding: 1.25em 2em; - background: #fff0f0; + background: white; border: 2px solid #000000; border-radius: 0.75em; transform-style: preserve-3d; @@ -38,7 +38,7 @@ const Button = styled.button` bottom: 0; background: #000000; border-radius: inherit; - box-shadow: 0 0 0 2px #000000, 0 0.625em 0 0 #ffe3e2; + box-shadow: 0 0 0 2px #000000, 0 0.625em 0 0 white; transform: translate3d(0, 0.75em, -1em); transition: transform 150ms cubic-bezier(0, 0, 0.58, 1), box-shadow 150ms cubic-bezier(0, 0, 0.58, 1); } @@ -47,7 +47,7 @@ const Button = styled.button` background: #ffd166; transform: translate(0, 0.25em); &::before { - box-shadow: 0 0 0 2px #000000, 0 0.5em 0 0 #ffe3e2; + box-shadow: 0 0 0 2px #000000, 0 0.5em 0 0 white; transform: translate3d(0, 0.5em, -1em); } } diff --git a/frontend/src/pages/Feature/result.jsx b/frontend/src/pages/Feature/result.jsx index 5f86f6bcee..109a5a6ed0 100644 --- a/frontend/src/pages/Feature/result.jsx +++ b/frontend/src/pages/Feature/result.jsx @@ -17,7 +17,7 @@ const Result = () => { - 12341234 +

2

diff --git a/frontend/src/pages/Feature/result/resultDiv1.jsx b/frontend/src/pages/Feature/result/resultDiv1.jsx index ea39907cc9..04cc556fcf 100644 --- a/frontend/src/pages/Feature/result/resultDiv1.jsx +++ b/frontend/src/pages/Feature/result/resultDiv1.jsx @@ -1,21 +1,50 @@ import React from "react"; import styled from "styled-components"; import SpringGirl from "../../../assets/springGirl.png"; +import BestMatch from "../../../assets/BestColor.png"; +import WorstMatch from "../../../assets/WorstColor.png"; + const ResultDiv1 = () => { return ( Personal Color - 퍼스널 컬러는 봄 입니다. + + + #화사한 + #화사한 + #화사한 + #화사한 + - - + {/* */} + + + + ); }; +const HashTagContainer = styled.div` + width: auto; + height: auto; + display: flex; + flex-direction: row; + margin-top: 1rem; +`; +const HashTag = styled.div` + width: auto; + height: auto; + font-size: 1.2rem; + padding: 3px 3px 3px 3px; + margin: 0px 3px 0px 3px; + font-weight: 500; + background-color: wheat; + border-radius: 20%; +`; const MainContainer = styled.div` display: flex; height: 90vh; @@ -23,7 +52,11 @@ const MainContainer = styled.div` /* justify-content: center; */ align-items: center; /* width: 100%; */ - /* background-color: blue; */ + background: linear-gradient( + 178.46565850029924deg, + rgba(176, 216, 245, 1) 2.318840579710145%, + rgba(255, 255, 255, 1) 95.07246376811594% + ); `; const LeftContainer = styled.div` width: 40%; @@ -34,19 +67,27 @@ const LeftContainer = styled.div` `; const Title = styled.h2` margin: 2rem 0rem 0rem 2rem; - font-size: 3.5rem; + font-size: 5rem; color: #f241b4; `; const LeftBottomContainer = styled.div` align-items: center; - justify-content: center; + /* justify-content: center; */ display: flex; + flex-direction: column; /* background-color: saddlebrown; */ width: 100%; height: 100%; `; const GirlImg = styled.img``; -const PersonalResult = styled.div``; +const PersonalResult = styled.div` + width: auto; + height: auto; + margin-top: 5rem; + margin-bottom: 3rem; + font-size: 1.3rem; + font-weight: 600; +`; const Line = styled.div` width: 4px; border-radius: 4px; @@ -59,4 +100,8 @@ const RightContainer = styled.div` height: 100%; /* background-color: blue; */ `; +const MatchingColor = styled.img` + width: auto; + height: auto; +`; export default ResultDiv1; From a0d8237845317d297dfc57c7f0dec0ac440ad3a3 Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Sun, 5 May 2024 15:26:12 +0900 Subject: [PATCH 15/23] =?UTF-8?q?feat:=20=EB=A1=9C=EB=94=A9=EC=B0=BD=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/Feature/camera.jsx | 4 +- frontend/src/pages/Feature/loding.jsx | 126 ++++++++++++++++++++++---- 2 files changed, 110 insertions(+), 20 deletions(-) diff --git a/frontend/src/pages/Feature/camera.jsx b/frontend/src/pages/Feature/camera.jsx index c26a611461..c2f7d80d00 100644 --- a/frontend/src/pages/Feature/camera.jsx +++ b/frontend/src/pages/Feature/camera.jsx @@ -10,7 +10,7 @@ import LoadingOverlay from "./loding"; function Camera() { const [imageSrc, setimageSrc] = useState(null); const [isModalOpen, setIsModalOpen] = useState(false); - const [isLoading, setIsLoading] = useState(false); + const [isLoading, setIsLoading] = useState(true); const videoConstraints = { width: 1000, @@ -33,6 +33,8 @@ function Camera() { axios .post("your_server_endpoint", { image: imageSrc, + gender: "", + email: "", }) .then((response) => { setIsLoading(false); diff --git a/frontend/src/pages/Feature/loding.jsx b/frontend/src/pages/Feature/loding.jsx index af384845b9..85b0d641d3 100644 --- a/frontend/src/pages/Feature/loding.jsx +++ b/frontend/src/pages/Feature/loding.jsx @@ -1,12 +1,73 @@ -// LoadingOverlay.js +// import React from "react"; +// import styled, { keyframes } from "styled-components"; +// const LoadingOverlay = () => { +// return ( +// +// 퍼스널 컬러 진단중입니다. +// +// +// ); +// }; + +// const Overlay = styled.div` +// position: fixed; +// top: 0; +// left: 0; +// width: 100%; +// height: 100%; +// background-color: white; +// display: flex; +// justify-content: center; +// align-items: center; +// `; +// const Text = styled.p` +// margin-top: 20px; +// font-size: 18px; +// color: #333; +// `; +// const spin = keyframes` +// 0%, +// 10% { transform: translate(0) rotate(0) } +// 35% { transform: translate(calc(var(--s,1)*50%)) rotate(0) } +// 66% { transform: translate(calc(var(--s,1)*50%)) rotate(calc(var(--s,1)*180deg)) } +// 90%, +// 100% { transform: translate(0) rotate(calc(var(--s,1)*180deg)) } +// `; + +// const Loader = styled.div` +// width: 200px; +// height: 200px; +// aspect-ratio: 1; +// display: grid; + +// &::before, +// &::after { +// content: ""; +// grid-area: 1/1; +// border-radius: 50%; +// background: #f03355; +// -webkit-mask: repeating-linear-gradient(#000 0 5px, #0000 0 10px); +// animation: ${spin} 1.5s infinite; +// } + +// &::after { +// -webkit-mask: repeating-linear-gradient(#0000 0 5px, #000 0 10px); +// --s: -1; +// } +// `; + +// export default LoadingOverlay; import React from "react"; -import styled from "styled-components"; +import styled, { keyframes } from "styled-components"; const LoadingOverlay = () => { return ( - + + + 잠시 기다려 주세요. + ); }; @@ -17,28 +78,55 @@ const Overlay = styled.div` left: 0; width: 100%; height: 100%; - background-color: rgba(0, 0, 0, 0.5); + background-color: white; display: flex; justify-content: center; align-items: center; `; -const Spinner = styled.div` - border: 6px solid #f3f3f3; - border-top: 6px solid #3498db; - border-radius: 50%; - width: 50px; - height: 50px; - animation: spin 1s linear infinite; - - @keyframes spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } +const spin = keyframes` + 0%, + 10% { transform: translate(0) rotate(0) } + 35% { transform: translate(calc(var(--s,1)*50%)) rotate(0) } + 66% { transform: translate(calc(var(--s,1)*50%)) rotate(calc(var(--s,1)*180deg)) } + 90%, + 100% { transform: translate(0) rotate(calc(var(--s,1)*180deg)) } +`; + +const LoaderContainer = styled.div` + position: relative; +`; + +const Loader = styled.div` + width: 200px; + height: 200px; + aspect-ratio: 1; + display: grid; + + &::before, + &::after { + content: ""; + grid-area: 1/1; + border-radius: 50%; + background: #f03355; + -webkit-mask: repeating-linear-gradient(#000 0 5px, #0000 0 10px); + animation: ${spin} 1.5s infinite; } + + &::after { + -webkit-mask: repeating-linear-gradient(#0000 0 5px, #000 0 10px); + --s: -1; + } +`; + +const Text = styled.p` + position: absolute; + top: -100px; /* 애니메이션 상단에 위치하도록 조정합니다. */ + left: 50%; + transform: translateX(-50%); + font-size: 18px; + color: #333; + text-align: center; `; export default LoadingOverlay; From 73ff45ea9c4f76bef6447aff686b079cb24c24fb Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Sat, 11 May 2024 12:21:12 +0900 Subject: [PATCH 16/23] =?UTF-8?q?feat:=20=EB=B0=B1=20=EC=84=9C=EB=B2=84?= =?UTF-8?q?=EC=99=80=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package-lock.json | 112 +++++++++++++++ frontend/package.json | 1 + frontend/src/assets/GirlRound.png | Bin 0 -> 13415 bytes frontend/src/assets/binary_mask.jpg | Bin 0 -> 31062 bytes frontend/src/assets/face_nose_img.jpg | Bin 0 -> 50534 bytes frontend/src/assets/mina.png | Bin 0 -> 121638 bytes frontend/src/assets/rgb_3d_plot.jpg | Bin 0 -> 26023 bytes .../src/assets/train_accuracy_by_model.png | Bin 0 -> 42978 bytes frontend/src/components/header/menubutton.jsx | 59 ++++---- frontend/src/components/informationModal.jsx | 6 +- frontend/src/components/xbutton.jsx | 76 ++++++++++ frontend/src/pages/Feature/camera.jsx | 53 +++++-- frontend/src/pages/Feature/loding.jsx | 60 -------- frontend/src/pages/Feature/result.jsx | 12 +- .../src/pages/Feature/result/resultDiv1.jsx | 72 ++++++++-- .../src/pages/Feature/result/resultDiv2.jsx | 130 ++++++++++++++++++ .../src/pages/Feature/result/resultDiv3.jsx | 102 ++++++++++++++ 17 files changed, 562 insertions(+), 121 deletions(-) create mode 100644 frontend/src/assets/GirlRound.png create mode 100644 frontend/src/assets/binary_mask.jpg create mode 100644 frontend/src/assets/face_nose_img.jpg create mode 100644 frontend/src/assets/mina.png create mode 100644 frontend/src/assets/rgb_3d_plot.jpg create mode 100644 frontend/src/assets/train_accuracy_by_model.png create mode 100644 frontend/src/components/xbutton.jsx create mode 100644 frontend/src/pages/Feature/result/resultDiv2.jsx create mode 100644 frontend/src/pages/Feature/result/resultDiv3.jsx diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8cce55d28e..b14898b6c5 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -14,6 +14,7 @@ "@testing-library/user-event": "^13.5.0", "axios": "^1.6.8", "gsap": "^3.12.5", + "localtunnel": "^2.0.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.22.3", @@ -12613,6 +12614,64 @@ "node": ">=8.9.0" } }, + "node_modules/localtunnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", + "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", + "dependencies": { + "axios": "0.21.4", + "debug": "4.3.2", + "openurl": "1.1.1", + "yargs": "17.1.1" + }, + "bin": { + "lt": "bin/lt.js" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/localtunnel/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/localtunnel/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/localtunnel/node_modules/yargs": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -13314,6 +13373,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==" + }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -27678,6 +27742,49 @@ "json5": "^2.1.2" } }, + "localtunnel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", + "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", + "requires": { + "axios": "0.21.4", + "debug": "4.3.2", + "openurl": "1.1.1", + "yargs": "17.1.1" + }, + "dependencies": { + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "requires": { + "ms": "2.1.2" + } + }, + "yargs": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -28185,6 +28292,11 @@ "is-wsl": "^2.2.0" } }, + "openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==" + }, "optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", diff --git a/frontend/package.json b/frontend/package.json index fcf4277f2c..0ef3b8184d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,6 +9,7 @@ "@testing-library/user-event": "^13.5.0", "axios": "^1.6.8", "gsap": "^3.12.5", + "localtunnel": "^2.0.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.22.3", diff --git a/frontend/src/assets/GirlRound.png b/frontend/src/assets/GirlRound.png new file mode 100644 index 0000000000000000000000000000000000000000..bed52745987fc7feb079ecad8b00c17a3cdfa740 GIT binary patch literal 13415 zcmc&*Wm8;Du*Tip-7PqaI|O$PvamRWEN;OTcL=Uw(Livw0Em`si$#TnfPjFj_Et$B0RfQ)UU)Fj;4Os7I9l)*CitzH z7Xkt{@qYyoA+LY}-iYX>ud0AhH%)U4ub?=}Ysn)ZG^Sub+n^#K2tBJQ$s773o)==~ zknFeK>-gNeO`>t|y9r`&L7J2jA#peYSaTf3X)G>GABjpgSp+GXH&`Zr9mv=cp`-_q z661bJTMr8&Lj+L>BVkRj72fzRYx?-yi7p7W7H)y0ms-73yiHzC z-7W(VDWYxuAD$7axBdJZa(a4t0%f@;CoXUJv!YRB;?zE{Ff*5$ek!xg{=P)*N4h7d znYF*!q4N`M$u}iDw3+O+!t}_;znwgLaHqAsyxcyB7b(#h2(yV4A;Li$O>fv1#LK?! zuv}kYn%DBzOKsch+ZXw02{ZoG*su-2X)+fS64JOrD^M7Ki0%33V`wxPZvW=Nn!y4F z(vZ>QDQWzkPSu9yMNDoZmSdbyNZP*o9((9bTJTG=hERQjSVSlU_RHaJ9dYF@iSowx@q! zfz=eOsoodzG6HftaQ`SCv%$8|hy*Cy6?V(;nyp>46=f6I~KbFxr5!~CFR zfw=PrFY$e`D6QA;o11sk)YM|g#HiTX_zD;4qk93!*4pSJb#{A#(r@12>w1eK5F^6B z6`P7Ycv8Mc+Cxz{^)A_=&=ymis-2w-iCR+tkWoh!Z zQ%2e1mbK@C$DfE7E(aVKPiJqBP_%)m5%186)FY7p7Py8UyRrdVnSP>bW-~U9kB^(- z^N4EN#y2-LWko2$86(#lieA{%YyvXb7}i^T^A#2mIY*9xk!h35H=0e`4wl8Qom*++ zbAu_|cD%#EVGpkT{8j1a*ZxkEMyLP`JSsn;>SmY`CBG&+rr34fcG=winZ6Ga88sVi z@k**jYf*Gxm?99SmWGIoHcO*x-_L&xrO3Wpq{pN|=r-geaL;SSrC^&%4I;%rIVb{n z>>4!)&UNPk>)@reUB?fR?NPB~nPAwVz))c66`No*_44!~;WTr-_bYgrW!7Y{sxM5GN0C z-&>LQP2}VlvHw;WE!VI;6m3yu3#0&X;>(8jan+6abq8HmA{zf+TY8?(TH%q}-!(WO(ny5|^L|O_?<` zs_y`98~ncg>c+_+-U4v_e^e6`jkUG4r)e4xw0)~C(4reLIV6PokpT1MSSh&@D4O~t zzYYd+(#Qu|#!Uui5taD^e}NnOdK=Yvy7B2EwIqFa9u2g^gCxeAhvdaPgr&O?q>(IigZ2i&Nqvc&=JSdrp%$J#KJ>Q@L{lFVzCpbHNV%f zxLj<_%W;~mU9~bW5JJ>U+(U_>E>%?+P(V^tNRMY-NaxsXrXpvP;pOEGo-C;KEZLqd zZWrGMzjYd0%Jo~r8LZ8eK12TU9Cb0!nfRNnV=zC^!K_=|jRZtT>Odi8N1O5fO83Y&D# zES31TzrW9m7=xDZ{i2UNMDPQioxKCZlA~WZhy$4oR#Dg;hMAU@rU&|w9F|N-<5?+1 zHzNq9P(;HCbDRi86RNPn_GQiJqUW}iEYK#mE8UjDW*ZX79HHoLv}i7=QxMxd8BWO& zeag^2+IraCRW2Dz4JT@z{&7qJYg9k>>tZkg-F+Z~>9&9ikj%VJvtCl(UQ5z8Co}jZ zYD8V<+vf;QqU9?h?kL~%A-`U?uEFAT6J16YIl&~z<&VqcMQ zD#*|8CO~#7?N^z_ZTYo>dX<#lhob4J%Tw8VP4lti13dt<=TCw(-HZV*Mh?Q-JHSI! z{zTasm-n8oz*dWE#}5`GvX3`-qr+a42gX0m!H;*Rs@C2DD=4gh$=ol~@*Xr)2Rp)( z8MRHV+Z`M3Yo=n@y#eg#F$)N0vDm#H=m5+K<8ZZx*6kG=05T>HX3~QDr;Es;HMKg@ zP9q!FE$|uLASYTv^DlJlNbcb>a;z>%OdOi*FwBP9ZCzOU67t9`%RzYT267VLXR+_% zxF`@95EITQR`O4*B7J*NbCEL@pEnt;p6c=pBOVnw(36#EJ|j$1lImv8p#H`v7iqLO zTv8ng#OAWma~^;}KO}WUw-DE{G%z}#eHuK8pd(Z^`kou`ux~zJUcz>0;keM8A?~;m zv4d~(4oe#VbekYcxZY-H6o{-4X$z$`RxhET9c?V%HWdJBl1rn}3?wX&a{Ocl-5R<; zmTJLYb2}fMf218)QjMjG5fSrLhrrUe~tX5$z7YnUlfF^=M|JUUB&zdk|TUV7R zI#VzX1bO6OnDO}9mLK6AW^yLld(Zxr9su-&;xb*~zb0)J6%_$f6yK^z+?l5(=@oVG zx_kS+xjz4aU6*2Yau8MbFq~sMoE`bxtjG|tu`^fLoo9uV>mM?5L;iM7_0c8t!zNXxg_j~(vL(6~RpwOd z(`0_M{14ozoKELaK449PfqBXw61Wy6ZmtX_tj%Ftc{#4^Hzk+sHc|m{!vrSYEbaN? zkTv^&g2!ri1wI@P8bd%?Tp+>0Dpik~2V4-ZgY}HNQCCCKwr-^?KW2N(OGq2|ESz@K z*kiUM0R;)sz*MXRh%*IF-daJIbodJ3-Bg|wtg+dwZI5j&@)^8|dPhEOT#l}tP)Rxb zY}M>xFcg9%V; z8K9EOT_m~w2yps$?H*xSEeuVbJCpI}-(C52C7_s6+ezp~ezyokr z2>7k%<6%D)7YkB%tE{UkWmT59qT~ND$Oi-A$iuBB)KW{X^2@1w$m z<^`zixJO0=Itv)dU6#rv9)>I&F)6e$xbI{mX`lW?+&_3+?fTMg0$RDCbD)*t@L5S& z`atquiUL@K?^CFK8dt>J7g=rJo4hskE&XyP4JP>W(UaiMjw?~dM0FmCtaHr8<{WvF z6M6AhwnWl;Rcm2=8fGyw$+F?eMW+8`wGrm)LWsro6?tOyI8;r^D)cK-+vOHMb=yY- z$v>euh5J|6TmT%S-8-}ghLeX54Zi4ISOjn)lh|frXa<9@NsvYGO`RF`hu#~$Gv&17 zY0eC_At%PH`Vh4m#a$sh7D}E7Jx-4SZO9&KdhvPaS32oB5={4%CQ_>>lPJ@-EP+@= zLgq)8M8A?>p2LHncDtnfZVjy#LS4t9Posx8g_Yl$x~RCezMxq%`peri)lz7OI(%wJRL+dcZ&T{xmu$S3FaA2`5)_SwJP=GiC}8Fkf{d1~u9*8E z_ig84-l-`+oNPjFkAgjIs6WwsVj3qC^uYNDXx=WP^sH?05p}^n{FN(ogytQKJ8XDl zOP^AQ8>fD~4V#sGqhm@v9D%;u_#Ej$PE=3(B!h>VeoC!0850@1E7O`pf?uu90cMeE zmwrfX@C|X_?ILP&=zV_eEo?GUEK#`5nqyXtH`SC08O`23g*>lE)+%HG2vBoVpvqn( zs5&U0uSIB?O|-GloKFaVyMug2d2{*NcK5JkoL`pKy@b8~caC~MK5cc)PvJ74iA<9r zY1Iz>Cj|kfc+xbv z`4MP?Nf`QUFP=l$^>@qa8&rt*h*y^=UC=*N zeyUQHc;Yrf8m=W@N}86^x__&2m#sqJJbQPpVXl(>AirSRnvwU`d2D3OsZJeOW@2AM zo8MyS9M{te2}ilxWle}?j;Lh1e4We3QptyMH2{sc(kUJ-_i)Yh);Wm^$jRRbKEn1; zBN`TF(cVyC80Bx)QTH7;xOebIeT#G4Pc8qd`Kq}*v1;EJfx6YPkcytFhb)Fkr;*9V zHX8fgZS`93=~RIHw_%?z+gvK?xf|W$>TYh+XL%h^nHZ27R#jK`2NJ$c2WkrP>CZW= zY!fS0#YqXWsAn!CboXT-fIDI6Dn`1W;%c%31YP@cj_IQDIO2mWJgOE`S8iMOPp|!_ zA@Xp&ml)rRpG26y6V}*FAtcxvrHEf#Dl&(x78E%BySlo15J=EgJt&XuC>gKqQF3#z zAz?6CAt%2+&?7bX!5<&ZPi&Xi>8>kOq54a{Yn7ht9Nhc}9h>JRP>ySiQLG8}OYiu% zc+|Oy+S$1wn39_Y-)Y8>2w20QXMq5(w>(ckhw#J;<7ot0{Ge21c#o0m7NpWTK;*c} za#6^oS`Qm?8Eb1B3Inw7694||s%0j^9FOfg&^+!K+nOm;UuVO8+>%^6}_0pNI zu7YW+@#;P}A$^wRK#M!Da~z!86XExsMd$$P5?X|eV_2vl5mP1py{ui^!3dG1KbPeg zX|T63o zIQH#FFE17&$GSxp)d%WJ*n8Ilp7$7_yYN`j#wo(&>VQpXM zyj9p9zpSl5m}~#0C-HQs^!w8tFA45EAABd_P_EQ}Gs|;w61C&cu<$7-C^lu8Fy!>0 zc|SD`xBQeb@Z<|ws*Eeo#7mpSw}A01Vah;+oFS|3=xt~}Ztt(2E~qx+0NA`iCc z-6F`hOwrfwFCy{`9E%@^%=~Y*-tBDQ`wrH<#LUi%GxOxhG2~p`9967!xz=|ak3BMe zRjsFu*f9MwpaC{HR(QBMJ&iO<$2rVh3%V^aEayUG+(RnTaW+ zUZHfM*!X4TxBO5GUn+|>*XNe(E3W|Ck~oT zw>s!q!DKeC_l#Bc?Tlf~Y8EumiMQBrPmCnr?0WudgTtWYzyKrE?CA&0~hli2l4EaI~jEsx|4{wi~o$TC85ImZ6 z5#H!+YfC$DEj{2$^JdpRC&VtyMm^6{e;ACu_w!YEvf#rMl&Xtm6%$jvU;q64h}pP; z8oy-mwDh5r)Q{mneD$(YNOwI^$#LyscB^XTSq5vyiz!FPDfGj+&lftA^8d_q)$@1V z9$tnEFF~`m+F7$o!S`(+sHMk#X1##vUjF$x%27$m=p*nEoJgW{Blh+By_5vrK6G^*;Lz08gzMl( z{bMr|_b&Z+cRb2-ZmZXGFv@jZR6O?Y$`rdaThIT$TsmfhoLM*#cT#!X!8>AKX1aC_y$Is2J-e_Z)3{9v(CKF;VJ zj;6!HW%7S_?d`x(_ZGPb!J+Df2?A`a)_U9v&KEMA?pr4RodA+Ozs-cF_InxtQ%L(9 za}2DU9G4iMV4Rqes@zr4``KXWFm=C#7lCE0Rv#PhTlTck(b*M6JhRN7XLZ2ii1nzW zW=9he&VVn3`NP@|Ne1);My)b^|5kK^Pr{b55+Po#$x({7H;bQ5U?cc418!s2WswJ7 zpZl=r9;Piijt^3QzAT;g&NGT)7PAL<4T?V;em~{kyB>`NCH#A8zZwgb-Q<(_@Vb8w zWF2dQhe~@(*+XBsJAf;xfA*eaSMmD_KAV#d_DQ`UnYV^U_SIWrs^XdK-ru}4{ad+m z&F2|0E?91VJBAIsRUXECjkfJ{+LQccoGJY`CN|i0^SmLeV%R^76(W-zkEe%2zUzQW z5qWM4khvmNq+&D>HX9qz!zPhVx}Dr=D*p}~7y25dR`k~Gi0$zyFLQU-Wa!}THArjy zZB>)c9@)y{MOJLE?BmR3Tz*RfzjbVKrmX}C1DjYizbv_xX|Lf&RhLG_ke6mvs1VQ7 zRJyI!XVtBlx^L9mqpyD%-0_p2WSab~hA1rfDV)`ghdpisX}H~uhB~!Q#HS=2cV-V| z*aX`=<36lq5%FVO#1Nxn{c~y7xo$GLMKMcPdOqM5+eCOHbItMWJpN|;v|Td-8%;T$ zs1x=6b#&bq`ggt6M486A@4$N2?9b&UdFy3zw>$P$O~jx;;jL!h{D!V*d~dhkzdNRn zf4_>U(th~jO2D*6c@*q|{V6hLC}4TBebCsj>?-vr*nJo9ux0%$_guG7Kc{)OPV#>0 z%bt|WZIcm;sk7_KJ_OF+TBjl6*cTu9WfvooqL9CLvG2JyOEcL24g~6+sYusxW&PD4 zuRvNFB)Dw}2{`X7c3M;hFC;p1NHl&mOQBbr&YWk?viJU5PM$z9U9$C}hmyARn&J@I z`-X_R3-%^ffd7xb{b3*b^*`oO;Oy+tIHFpyGxTA)+x5p_nLxG*sey5!H0G(OkJQJp zJZKlck5u$0Z2M}QPmrQ_%F5*#yV~e{?WgV*neZsa^uYKC0cIH@7Mbg3Ig;~~Wu*iQ zF4j_lud3QS89V68hvXxq)Fq4sAzIY6?+I##s5`d)UZHIE%XVG5^Gn_ar^(Hm%UE)g z@%}~KkW6_jFI5@nzrl_KxJH}@mJ>wf<+2ocK>Ikp}vTk^k)dt5l;kPEPegoQH^@o3gII%=+2fmaCvIgFWv8}Z6~mhNrMjs zxxpSs^;6dmUCWs+y_BfDBBhG3$-`;zGOu;?;p-v3hw@=oJ*)LYd9-`KZzC3(yi5R^ z9hN!z!XAVQ&mmz<-ymVSaI2SCVvyIm5PGUjcsN}caroIBFW7>PLh{6R!|S$&q)E4B z<7JUAi^}tB3sR=0v}x1BJLEwa!WpITh3!|p3E`@Q+7=-}7Aitb@`)B#iR|99wQhoo zu45Jdk2_2rdM0!-R6cldBfrhxzung+|xed(Bk38L;xGOL<8Qi}F z;@5gltsjqj(jy^nSA~e^8Z}Cg)`@KymiR&oeJWclL_!KoWv=O>??vB7g+BkaALHZ+ zOW-f{wtBtU>7uTWaIMgczTe!$$zSfn?)E(=y)0$KDbmCz0ap8-IgSi~)pv@-v044o zf7#iErFWd{CfFSIzVNqvVEp)Uu?D;^dT|n=i}`V2jPZb6^1I_TECkGoHDyH6LNDZw zQy^u9`qX|NMl0zzNQrauXZ%f=M=4);ckdPI+%}Kd?I$!Az^V=2FXQ95gjhx~4CE~DU<8>ah^IZ!E(oh*1rkYNOU;6b;*sfgke4X+}=$0-l z;qyDpLiuP0Y;6fl-VI~jC(CB+oY#Jd>dTT45arE|X zhYg*vDyUSl!7HnpDL1|4#}r6So7*6Vx{s9Iv6=$)TP}@)^VLyct-lB5BhC94Ek{A) zUb%O0CHx+hea~~QU8JtQy4C$CF5O$T6~!kilLp{m=oHf(8(!dFdyJ_k^+l}lhjMA+ z(%cD4y%=SWI5ArQjKR$^h8ca|agWxzJRmQlVs@KD?{rQ{$VYHmVWzgkYS^5S38uy( zp%J1>wPT)^*}N^L!9d9$@eUEq_HsZrn`Yq$%c%-4K={?aY2m|BE8WtkItR5xX$Dsn z>d>D(UM3Sixgbbm8ol)5Z?c9e@fL2I6k)+J7Z+O3ZANcK%5m8vB73Drx_VL?H4!MifOpnQMH} zTr2}k$2V)*@StjU5m2hKHmpObSbiQvT#uoPE6wtm^T|w!=F9D}hV6(~qHiU}8g}yN zr5RSV%Y00hQz8k$w4CaD1ky4jNG-Jo-Vj40f^$#9jaQLVp^s-B0dM zgER66qNp6U`d`O@uII{BtP`L|Nv~Mu5?s&{vk7~%6kPDb{AaZhC(b(pfx;LKo14#B zgGDALam&K?XmJS=iKt2(*hDgJa5~iBuac$UrSrWcg6u9R1 zai6e%DL5w}NUmvTC?I>k|FmBk!Z6X~*5RWFPyj24h(n=x@lhovTtyf@4LMj1L`yPY zUc6G}<=}zaj?I7C_|uCJnC;98w{aLISW}jU5^3M%)ZuPdRX-p|slhbYD?VaCv-+sZ z=;(1axNtwlRAky4UhBk;~Uunuc@de ztHc(e%`XX44jTl?1T@~|zJ?|y*{vTyBV0f4xvIdeK8loIl_JD`7RD>JeSh9}hHne= zmjl@a(cyZ^TIvBph=GAYv*9-_V{Lv4%_H+FgB_Pswz(@bqDlegE=MaaZX!45s4V0d z=(#EGm<&BXfshsPgt1R>ytR+{~P@Rl`Zn} z*33!zqvmZZ&i2&ei8NZs`smQKF{iI~xcjpsyEY|F@{l3n+=ea?Ps7{G=AR$wRL00x4b@{Rh$&OjBRypKAN$9zWR z7ufh1hu}XUM@}cqI-C^KGMvoWFMsA}cV&H6=dzNESQYWRO<{XEnWG${y>e@dvm|N< zQHNxzPAk0X$Ss=Bw1b}y{4$|gA7Y#;xc)XMssk0nwMOSU# zSvQ&6Tf>Rt?8gb(brLQXS|l9W)jAhzJg7x@05%-4I6MA$aaf)Dfm%z%_FrxVakS;! zoe?{$#Ccd;8n1_}-+HgRV~7@cl^qRfM4aLtvG{4^GgUG)I-U(JIt~dTkkOEm%v{q+ z9(9S*(c`tY>)sDSM^wkPOB}_@YBa(7 ze~?Uk$=>Eta_~{^02?J)ICfZ9yI?oqw5F!37x8VT<$*oKO2Rj|bf-BDo&z4#4Fo&@ ziI4ZmKf5NNrhwZ;*rc)2)=ySh)9tsXDsqIj?HaM@#r_DGI-<4BQ51-%v2#;cwI0ym zpVc?IW&O13xssXw&R0Jr8Vgc0K}j7+RAe-`@HoiLo4k;KfgJg4d7k-?0v%EVW3H%{&tRCdG%5ZRuKvX4(Ix%Hc}-m#XKjruJSnuSkZ z0%msr2W+k|oB1%SnfH0_PAhlq9Qj_YmuW1{n5HP&q%6f^`U$C5V@*A{p%zWxicbht zGdJg}`fTCfJ>{iFJ}!y~|41$p$&V~+Z%V1_J~%ko*>UxdzTnd9Lr=-pSJmJbciUkJ z3)#NXP}VFNV$($B*F5|(JT!#GHJr)_xa%1=c--!dwbFWMI4vwJl$Pxg&t^lJ{Wvnv zAmZ)ekLLe7j$|g@;C$?GS5B*_?H?4If zbV02Z6%J%M6m8&7AaTC^>md~ebS;5UArRxP&LFkTcxomx)K$+p{~c6@64i+*ajK{%ixVsL)ZUD8UktH`+ ztdjkaaC8+y=wiI#^!F>zAS!mrOzch_3f+p8#K-l0yYT|4 z08dFXd8#?e6hsGuiV1P2b=;Qo^{xR{wTeIG3*qZjVZeO)XZC!?6{0XX#jga!1J=uA zfwUQlu4cx(3>Tu~tWj3c=w9kS=~A1dwkLcexMQpwW0x-=JYf4BiO(w83lauA#_UJ< zn#Jzv<3;qonG@h#2==!>3INyDdh5Px_x7jEtB@!`DTnG~xS+bi+umQM_yw%5^$(y> zeI#&Fnsd6v)QD_T13t5G-MzP^kHf)?*G&b+6pz_v(||DPiEB9&N|;qL6Q*WeIeXBS zWbOpSpI0qY5sM&h;C=h;Q_V4+6H+4Pbx~Q*sKeiJg%|dUe8lDgdvm`D>xet8;u)Y( zLW)&8&>U?qFR#w(oMO<=i zJ(3#@*ir5=c`0hxo;9Dx(C#K6^a4hqQNEaW#7f% z>LkP0nJU6Uj>DdTMURIU88NbfqQ#y_{t-0?=O=lj(COEm^?wqHeUZZzmM8=Hgsy7q zgM^M8DV)l3!YRDszui(-WtCqJ#$?%AyY){%X`hkvbl{Q3DBRL3$JWnGcxb_b!t~WK zt9~xqi`FTzm;JyA7!-b4&rHE5a`-$=S(oawGyn9Lbt;R7h#<4!tqo?}(JJ}1e*9t* z#pl{hWwNvyQ!Oa%&P?{*7Q!48=kW{eBTmz1o&dM;7KSItD`u7oX~f-@{P8CpTs|yz z`(afTm#MmLo_u^5ABwxvvT=WA<3~N8zKNJ5e374s!|7<-`r*CD#YmBAq{=cCN8r%{ zvUaL3djSvg8pLJOOxya5#TMx*zf=LBl-37R-h8`zzz6Vf03OB<>g|4^X2 zE&e+|?epG6I`=;cX!7u0_9lpB3dj z2w6ZLTWh<+^M}M-l~+wn<>QMeygae{q@*4F(xSrDZ~N5MQeUM_r zpP%yX^0R_#CF6mI5N66H|G&NvFhRBs%GCbf94?S-6F+-bdjFVu{UU;IvK=Wz+E{Gz!(Aqtl^F==Cx((F|)+rJdQ zwvXhixjKV>Y#osZQ| zaZX9lM(~$It?3oSR7sCw41#>LY4zbK)KTDMLF@c{;8}r_>yG5l5+a1zxWmXl-@C5! zP2EY3;*&(9_XbvQhMhg@Y3x20u;rOgs%vf67`nlM>S1QsNFaGKd?WTJmptWcx!Q7O z?lpB$P7Xg)aS0}(wDWi(T9RB%{9lRU)*YI;kAw+ui)0;|gCEPQ}d6~Ntwbc2SyjX#A_yDqk1 zM&O85BT`PwAOz&`vAZopZQC3}b9pB`X9EvA8MpWc8Q;&=f{1ZT`8x2^Msvro(mk9Q zu>vaOw`Y%sdYBsK#p1G8!}bb}Z=*hf8Ka4d^y~lfH5@ThEW#V9ihP%q;8l_!Y<%n_GaHx(fJKU7oMJ0Yy?+&$ zh*p$Y-XA~t9WeFY*c415zt(m?8nGs_g*#8;Y9{Te%+Jx6MR*GjO(gxbf!UN`yptBX z`kjNxh7!@gSxobh%-XnN&5qX;oYV2(=UzyOlH=U7&%7&09i}`o->}WE#ysNMiM(g8 z#+4>Vw`}P_-vqQX+e}7kMi%3i3Yqcs%|3$z*cVti{xAoWZF&-nXz-c96Lt78X80M^ z^gU|sp~e0lM%?52yj`j>tmDdid2Nnz(b>aM|Ce@C^6f)h H07Cu;IQ&FX literal 0 HcmV?d00001 diff --git a/frontend/src/assets/binary_mask.jpg b/frontend/src/assets/binary_mask.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d7b1ac975e2f90ad61455ef3d80e7702b07b5c8c GIT binary patch literal 31062 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/face_nose_img.jpg b/frontend/src/assets/face_nose_img.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c26782031d6f681a6d4b5bcbadad4abbee639c9 GIT binary patch literal 50534 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 B{xbjo literal 0 HcmV?d00001 diff --git a/frontend/src/assets/train_accuracy_by_model.png b/frontend/src/assets/train_accuracy_by_model.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7d1e202488dbffc8d956f743f865f38745c531 GIT binary patch literal 42978 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 O_^~!enpK&25&jL7kem1b literal 0 HcmV?d00001 diff --git a/frontend/src/components/header/menubutton.jsx b/frontend/src/components/header/menubutton.jsx index e74064e8eb..aaa93bd6f2 100644 --- a/frontend/src/components/header/menubutton.jsx +++ b/frontend/src/components/header/menubutton.jsx @@ -1,30 +1,31 @@ -import React, { useState } from 'react'; -import styled from 'styled-components'; +import React, { useState } from "react"; +import styled from "styled-components"; -const Input = styled.input.attrs({ type: 'checkbox', id: 'menuicon' })` +const Input = styled.input.attrs({ type: "checkbox", id: "menuicon" })` display: none; `; -const LabelContainer = styled.div` padding: 10px 20px; +const LabelContainer = styled.div` + padding: 10px 20px; `; -const Label = styled.label.attrs({ htmlFor: 'menuicon' })` +const Label = styled.label.attrs({ htmlFor: "menuicon" })` display: block; - + width: 40px; height: 30px; position: relative; - z-index: 2; + z-index: 200; `; const Sidebar = styled.div` - width:300px; - height:100%; - background:#222; + width: 300px; + height: 100%; + background: #222; position: fixed; top: 0; - right: ${props => props.isChecked ? '0' : '-300px'}; - z-index: 1; - transition: all .35s; + right: ${(props) => (props.isChecked ? "0" : "-300px")}; + z-index: 100; + transition: all 0.35s; `; const Span = styled.span` @@ -32,45 +33,45 @@ const Span = styled.span` width: 40px; height: 6px; border-radius: 30px; - background-color: #9747FF; + background-color: #9747ff; position: absolute; transition: transform 0.3s, opacity 0.3s; `; const TopSpan = styled(Span)` - top: ${props => props.isChecked ? '50%' : '0'}; - transform: translateY(-50%) ${props => props.isChecked ? 'rotate(45deg)' : 'none'}; + top: ${(props) => (props.isChecked ? "50%" : "0")}; + transform: translateY(-50%) ${(props) => (props.isChecked ? "rotate(45deg)" : "none")}; `; const MiddleSpan = styled(Span)` - top:50%; + top: 50%; transform: translateY(-50%); `; const BottomSpan = styled(Span)` - bottom: ${props => props.isChecked ? '50%' : '0'}; - transform: translateY(50%) ${props => props.isChecked ? 'rotate(-45deg)' : 'none'}; + bottom: ${(props) => (props.isChecked ? "50%" : "0")}; + transform: translateY(50%) ${(props) => (props.isChecked ? "rotate(-45deg)" : "none")}; `; const StyledCheckbox = () => { - const [isChecked,setIsChecked] = useState(false); + const [isChecked, setIsChecked] = useState(false); const handleCheckboxChange = () => { setIsChecked(!isChecked); - } + }; return ( <> - - - + + + + + + + - + ); }; diff --git a/frontend/src/components/informationModal.jsx b/frontend/src/components/informationModal.jsx index a0cf1fdc7e..fa2b8e8b47 100644 --- a/frontend/src/components/informationModal.jsx +++ b/frontend/src/components/informationModal.jsx @@ -1,6 +1,7 @@ import React, { useState } from "react"; import styled from "styled-components"; import Xbutton from "../assets/StopButton.svg"; +import AniXbutton from "./xbutton"; import ClickButton2 from "./modalclickButton"; import { useNavigate } from "react-router-dom"; const InformationModal = ({ onClose }) => { @@ -28,7 +29,7 @@ const InformationModal = ({ onClose }) => { - + 성별 @@ -93,7 +94,7 @@ const ModalContent = styled.div` width: 40vh; background-color: white; padding: 40px; - border-radius: 40px; + border-radius: 20px; display: flex; flex-direction: column; justify-content: center; @@ -104,6 +105,7 @@ const ModalContent = styled.div` const CloseButton = styled.button` position: absolute; top: 20px; + background-color: white; right: 20px; width: auto; height: auto; diff --git a/frontend/src/components/xbutton.jsx b/frontend/src/components/xbutton.jsx new file mode 100644 index 0000000000..28d1a12777 --- /dev/null +++ b/frontend/src/components/xbutton.jsx @@ -0,0 +1,76 @@ +import React from "react"; +import styled from "styled-components"; + +// Colors +const softorange = "#F4A259"; +const tomatored = "#F25C66"; + +const Container = styled.div` + position: relative; + margin: auto; + /* background-color: white; */ + width: 50px; + height: 50px; + /* margin-top: 100px; */ + cursor: pointer; +`; + +const LeftRight = styled.div` + height: 4px; + width: 50px; + position: absolute; + margin-top: 24px; + background-color: black; + border-radius: 2px; + transform: rotate(45deg); + transition: all 0.3s ease-in; + + ${Container}:hover & { + transform: rotate(-45deg); + background-color: #8539e8; + } +`; + +const RightLeft = styled.div` + height: 4px; + width: 50px; + position: absolute; + margin-top: 24px; + background-color: black; + border-radius: 2px; + transform: rotate(-45deg); + transition: all 0.3s ease-in; + + ${Container}:hover & { + transform: rotate(45deg); + background-color: #8539e8; + } +`; + +const Label = styled.label` + color: white; + font-family: Helvetica, Arial, sans-serif; + font-size: 0.6em; + text-transform: uppercase; + letter-spacing: 2px; + transition: all 0.3s ease-in; + opacity: 0; + position: absolute; + margin: 60px 0 0 5px; + + ${Container}:hover & { + opacity: 1; + } +`; + +const CloseButton = () => { + return ( + + + + + + ); +}; + +export default CloseButton; diff --git a/frontend/src/pages/Feature/camera.jsx b/frontend/src/pages/Feature/camera.jsx index c2f7d80d00..8281ca6669 100644 --- a/frontend/src/pages/Feature/camera.jsx +++ b/frontend/src/pages/Feature/camera.jsx @@ -2,15 +2,21 @@ import styled from "styled-components"; import Webcam from "react-webcam"; import CameraBtn from "../../assets/CameraButton.svg"; import GoButton from "../../assets/GoButton.svg"; + +import alskdjfla from "../../assets/springGirl.png"; + import StopButton from "../../assets/StopButton.svg"; -import { useState } from "react"; +import { useEffect, useState } from "react"; import axios from "axios"; import LoadingOverlay from "./loding"; +import { Navigate, useNavigate } from "react-router-dom"; function Camera() { const [imageSrc, setimageSrc] = useState(null); const [isModalOpen, setIsModalOpen] = useState(false); - const [isLoading, setIsLoading] = useState(true); + const [isLoading, setIsLoading] = useState(false); + + const navigate = useNavigate(); const videoConstraints = { width: 1000, @@ -24,25 +30,45 @@ function Camera() { setIsModalOpen(false); }; const CapturePhoto = (getScreenshot) => { - const imageSrc = getScreenshot(); - setimageSrc(imageSrc); + const capturedImageSrc = getScreenshot(); + setimageSrc(capturedImageSrc); openModal(); }; - const sendDataToServer = () => { + + function base64ToFile(base_data, filename) { + let arr = base_data.split(","); + let mime = arr[0].match(/:(.*?);/)[1]; + let bstr = atob(arr[1]); + let n = bstr.length; + let u8arr = new Uint8Array(n); + + while (n--) { + u8arr[n] = bstr.charCodeAt(n); + } + return new File([u8arr], filename, { type: mime }); + } + + const sendDataToServer = async () => { setIsLoading(true); - axios - .post("your_server_endpoint", { - image: imageSrc, - gender: "", - email: "", - }) + const formdata = new FormData(); + const data = { + email: "test@naver.com", + gender: "man", + }; + + formdata.append("data", new Blob([JSON.stringify(data)], { type: "application/json" })); + formdata.append("file", base64ToFile(imageSrc, "test.jpg")); + + await axios + .post("https://onyou.loca.lt/start", formdata) .then((response) => { setIsLoading(false); - // Handle response + console.log(response.data); + navigate("/result"); }) .catch((error) => { setIsLoading(false); - // Handle error + console.log(error); }); }; return ( @@ -64,7 +90,6 @@ function Camera() { {isModalOpen && ( - {/* Captured */} {modalOpen && } - + ); }; - +const Container = styled.div` + z-index: 80; + left: 45%; + top: 80%; + position: absolute; +`; // Styled Components 정의 const Button = styled.button` position: relative; diff --git a/frontend/src/components/informationModal.jsx b/frontend/src/components/informationModal.jsx index 74742d92af..32b6c129fc 100644 --- a/frontend/src/components/informationModal.jsx +++ b/frontend/src/components/informationModal.jsx @@ -19,7 +19,7 @@ const InformationModal = ({ onClose }) => { }; const handleSubmit = () => { console.log("submit!"); - navigate("/camera", { state: { email: email, gender: gender } }); + navigate("/camera", { state: { email: email, gender: gender, createImageChecked: createImageChecked } }); }; const handleGenderChange = (event) => { @@ -72,8 +72,8 @@ const InformationModal = ({ onClose }) => { }; const ModalOverlay = styled.div` position: fixed; - top: -7%; - left: -13%; + top: 0; + left: 0; width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, 0.5); diff --git a/frontend/src/components/speechbubble.jsx b/frontend/src/components/speechbubble.jsx index 2cd97a911e..a1709ef969 100644 --- a/frontend/src/components/speechbubble.jsx +++ b/frontend/src/components/speechbubble.jsx @@ -11,12 +11,12 @@ const moveUpDown = keyframes` `; const MovingImage = styled.div` - height: 100px; - width: 430px; - margin-left: 30px; + height: 53px; + width: 260px; + background-size: auto; - background-image: url(${IMGSRC}); /* 이미지 경로 */ - background-size: cover; /* 이미지를 커버하는 크기로 조절 */ + background-image: url(${IMGSRC}); + background-size: cover; animation: ${moveUpDown} 2s ease-in-out infinite; /* 애니메이션 적용 */ `; diff --git a/frontend/src/pages/Feature/camera.jsx b/frontend/src/pages/Feature/camera.jsx index 8664cba7aa..31ad35a225 100644 --- a/frontend/src/pages/Feature/camera.jsx +++ b/frontend/src/pages/Feature/camera.jsx @@ -3,13 +3,11 @@ import Webcam from "react-webcam"; import CameraBtn from "../../assets/CameraButton.svg"; import GoButton from "../../assets/GoButton.svg"; -import alskdjfla from "../../assets/springGirl.png"; - import StopButton from "../../assets/StopButton.svg"; import { useEffect, useState } from "react"; import axios from "axios"; import LoadingOverlay from "./loding"; -import { Navigate, useNavigate } from "react-router-dom"; +import { Navigate, useLocation, useNavigate } from "react-router-dom"; function Camera() { const [imageSrc, setimageSrc] = useState(null); @@ -17,7 +15,11 @@ function Camera() { const [isLoading, setIsLoading] = useState(false); const navigate = useNavigate(); - + const location = useLocation(); + const { email, gender, createImageChecked } = location.state; + console.log(email); + console.log(gender); + console.log(createImageChecked); const videoConstraints = { width: 1000, height: 720, @@ -52,8 +54,8 @@ function Camera() { setIsLoading(true); const formdata = new FormData(); const data = { - email: "test@naver.com", - gender: "man", + email: email, + gender: gender, }; formdata.append("data", new Blob([JSON.stringify(data)], { type: "application/json" })); diff --git a/frontend/src/pages/section2/introduce/introduceSecond/SecondOne.jsx b/frontend/src/pages/section2/introduce/introduceSecond/SecondOne.jsx index 0224c92144..865a83273b 100644 --- a/frontend/src/pages/section2/introduce/introduceSecond/SecondOne.jsx +++ b/frontend/src/pages/section2/introduce/introduceSecond/SecondOne.jsx @@ -54,7 +54,6 @@ const SecondOneContainer = styled.div` width: 100%; position: relative; display: flex; - background-color: blue; `; const ThirdContainer = styled.div` height: 520px; @@ -69,12 +68,11 @@ const FirstImage = styled.img` width: 400px; position: absolute; top: 0; - left: 10%; + left: 15%; `; const SecondImage = styled.img` height: 510px; width: 400px; - position: absolute; top: 0; left: 50%; /* 이미지의 좌측 모서리를 가운데로 이동 */ @@ -83,10 +81,9 @@ const SecondImage = styled.img` const ThirdImage = styled.img` height: 510px; width: 400px; - position: absolute; top: 0; - right: 10%; + right: 15%; `; const FirstContainer = styled.div` height: 90vh; diff --git a/frontend/src/pages/section2/introduce/introduceSecond/SecondTwo.jsx b/frontend/src/pages/section2/introduce/introduceSecond/SecondTwo.jsx index 05d82e657e..6951c5a68b 100644 --- a/frontend/src/pages/section2/introduce/introduceSecond/SecondTwo.jsx +++ b/frontend/src/pages/section2/introduce/introduceSecond/SecondTwo.jsx @@ -2,13 +2,92 @@ import React from "react"; import styled from "styled-components"; const SecondTwo = () => { - return ; + return ( + + + + + + 생성형 이미지 + + 왼쪽 위 사진과 오른쪽 위
+ 사진을 합친 사진이 오른쪽 사진이에요 +
+ 사용자가 사진을 제공하면,
+ 우리가 사용하는 특별한 컴퓨터 프로그램이 이를 받아들여요. +
그리고 그 사진을 가지고 있던 사용자의 얼굴을 보고, +
그 얼굴에 어울리는 멋진 헤어스타일과 색깔을 생각해내죠. +
그리고 그 아이디어를 사용해서 새로운 사진을 만들어내요.
이 작업을 하기 위해서, +
우리는 이미 학습된 컴퓨터 모델을 사용하고 있는데요, +
이 모델은 얼굴을 보고 어떤 헤어스타일이 잘 어울릴지를 배웠어요.
+ 그리고 우리가 사용하는 모델은 사진이 잘 정면을 향하고 있을 때 더 잘 작동하거든요. +
그래서 이 모델을 사용해서 새로운 멋진 이미지를 만들어내는 거죠. +
+
+
+ ); }; +const TitleText = styled.p` + color: white; + font-size: 3rem; + font-weight: 700; + text-align: center; +`; +const Text = styled.p` + color: white; + font-size: 1.2rem; + text-align: center; + padding: 1rem 16rem 1rem 16rem; + line-height: 2; +`; const SecondTwoContainer = styled.div` - height: 150vh; + height: 100vh; width: 100%; position: relative; display: flex; + /* background-color: blue; */ +`; +const BlackCircle1 = styled.div` + width: 14rem; + height: 14rem; + position: absolute; + border-radius: 100%; + z-index: 2; + top: 0; + left: 10%; + background-color: black; +`; +const BlackCircle2 = styled.div` + width: 12rem; + height: 12rem; + position: absolute; + border-radius: 100%; + z-index: 2; + top: 0; + right: 10%; background-color: black; `; +const BlackCircle3 = styled.div` + width: 10rem; + height: 10rem; + position: absolute; + border-radius: 100%; + z-index: 2; + top: 24%; + right: 14%; + background-color: black; +`; +const Board = styled.div` + width: 60%; + height: 100%; + left: 50%; + transform: translateX(-50%); + top: 0; + position: absolute; + display: flex; + flex-direction: column; + justify-content: center; + /* background-color: white; */ +`; + export default SecondTwo; diff --git a/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx b/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx index df3c12f155..045930d356 100644 --- a/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx +++ b/frontend/src/pages/section2/personal_color/PesonalColorMain.jsx @@ -2,28 +2,20 @@ import React from "react"; import styled from "styled-components"; import ClickButton from "../../../components/clickbutton"; import SpeechBubble from "../../../components/speechbubble"; +import Try from "../../../assets/tryit.png"; const TopContainer = styled.div` width: 100%; - height: 25%; + height: 20%; display: flex; - flex-direction: row; + flex-direction: column; + justify-content: center; + align-items: center; + margin: 0; /* background-color: green; */ `; +const Tryit = styled.img``; -const TopTextContainer = styled.div` - width: auto; - margin-left: 2rem; - height: 100%; - /* background-color: aliceblue; */ -`; - -const PinkText = styled.p` - color: #e547ff; - font-size: 4rem; - font-weight: 700; - margin: 0 0 0 2rem; -`; const Container = styled.div` position: relative; width: 100vw; @@ -66,16 +58,29 @@ const MainContainer = styled.div` width: 100%; height: 100%; transform: rotate(-5.5deg); + padding: 2rem 2rem 2rem 2rem; /* background-color: blue; */ display: flex; flex-direction: column; `; const BottomContainer = styled.div` - width: 100%; + width: auto; height: 75%; + display: flex; + flex-direction: column; + /* justify-content: center; */ + align-items: center; + padding: 0 7rem 15rem 7rem; /* background-color: beige; */ `; +const Text = styled.p` + color: black; + font-size: 1.1rem; + text-align: center; + padding: 1rem 16rem 1rem 16rem; + line-height: 1.8; +`; const PersonalColorMain = () => { return ( @@ -84,16 +89,25 @@ const PersonalColorMain = () => { - - - Function - + + - + + “Only-You”는 컴퓨터 비전과 인공지능 기술을 활용하여 헤어스타일 추천과 퍼스널컬러를 진단하여 주는 + 서비스이다. 먼저 카메라를 이용하여 이용자의 정면 얼굴이 나타난 사진을 촬영하면 촬영한 사진을 컴퓨터 비전 + 기술을 활용하여 피부 부분을 검출하고 얼굴의 길이 각도 정보를 검출한다. 검출된 피부색 정보를 활용하여 + 퍼스널 컬러를 진단한다. 본인의 피부톤이 4가지의 분류 기준중 어디에 해당하는지를 머신러닝 모델을 활용하여 + 분류하고 해당 결과값을 활용하여 본인의 피부톤과 조화를 이루는 색 조합에 어떤 것이 있는지 확인 할 수 있다. + 검출된 얼굴 길이 각도 정형이 무엇인지를 확인하고 해당하는 얼굴형과 어울리는 헤어스타일에 어떤 종류가 + 있는지 확인 할 수 있다. 마지막으로 생성형 인공지능을 활용하여 입력한 사진 속 얼굴에 본인의 얼굴형과 + 어울리는 헤어스타일을 합성하여 본인에게 어울리는 헤어스타일을 적용하였을때 어떤 모습이 나타날지 확인해볼 + 수 있는 서비스를 제공한다. + + ); }; From 9991256e95b8fbe9f80451384d5adf9bc721090d Mon Sep 17 00:00:00 2001 From: wjsquddn Date: Thu, 16 May 2024 22:40:07 +0900 Subject: [PATCH 23/23] =?UTF-8?q?feat:=20=EA=B2=B0=EA=B3=BC=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=ED=8D=BC=EC=8A=A4=EB=84=90=EC=BB=AC?= =?UTF-8?q?=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/assets/Fall.png | Bin 0 -> 11829 bytes frontend/src/assets/Spring.png | Bin 0 -> 12076 bytes frontend/src/assets/Summer.png | Bin 0 -> 11770 bytes frontend/src/assets/Winter.png | Bin 0 -> 12561 bytes frontend/src/pages/Feature/camera.jsx | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 frontend/src/assets/Fall.png create mode 100644 frontend/src/assets/Spring.png create mode 100644 frontend/src/assets/Summer.png create mode 100644 frontend/src/assets/Winter.png diff --git a/frontend/src/assets/Fall.png b/frontend/src/assets/Fall.png new file mode 100644 index 0000000000000000000000000000000000000000..7be98b10a3e8f453eaa9c4745b9ea09ed01b6f31 GIT binary patch literal 11829 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/Spring.png b/frontend/src/assets/Spring.png new file mode 100644 index 0000000000000000000000000000000000000000..42d659568df51554635126117c73768967cee489 GIT binary patch literal 12076 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

14=l;w_x8rp7M^7Hs_cO-~qE6o)1+ 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/Winter.png b/frontend/src/assets/Winter.png new file mode 100644 index 0000000000000000000000000000000000000000..8157f68a14d7af6cacb635df1d6c9f7977f495bc GIT binary patch literal 12561 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 literal 0 HcmV?d00001 diff --git a/frontend/src/pages/Feature/camera.jsx b/frontend/src/pages/Feature/camera.jsx index 31ad35a225..addba8d31e 100644 --- a/frontend/src/pages/Feature/camera.jsx +++ b/frontend/src/pages/Feature/camera.jsx @@ -66,7 +66,7 @@ function Camera() { .then((response) => { setIsLoading(false); console.log(response.data); - navigate("/result", { state: { data: response.data } }); + navigate("/result", { state: { data: response.data, gender: gender } }); }) .catch((error) => { setIsLoading(false);