From 0fe823fe8a111b7a8e35ea3fd3a9e3b656aaadd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:36:56 +0900 Subject: [PATCH 01/31] =?UTF-8?q?chore:=20react-dom=20&=20react-router-dom?= =?UTF-8?q?=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/package-lock.json | 41 ++++++++++++++++++++++++++++++++++++++++- FE/package.json | 3 ++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/FE/package-lock.json b/FE/package-lock.json index 99d014a..f45df6b 100644 --- a/FE/package-lock.json +++ b/FE/package-lock.json @@ -14,7 +14,8 @@ "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.18.0" }, "devDependencies": { "@babel/cli": "^7.23.0", @@ -2745,6 +2746,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@remix-run/router": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.11.0.tgz", + "integrity": "sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@types/body-parser": { "version": "1.19.4", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", @@ -8663,6 +8672,36 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/react-router": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.18.0.tgz", + "integrity": "sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg==", + "dependencies": { + "@remix-run/router": "1.11.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.18.0.tgz", + "integrity": "sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw==", + "dependencies": { + "@remix-run/router": "1.11.0", + "react-router": "6.18.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", diff --git a/FE/package.json b/FE/package.json index 6f303bf..438a736 100644 --- a/FE/package.json +++ b/FE/package.json @@ -16,7 +16,8 @@ "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.18.0" }, "devDependencies": { "@babel/cli": "^7.23.0", From d76f48b31c3fafb86623b8c3ef931d04ee7acb2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:54:03 +0900 Subject: [PATCH 02/31] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20lint=20=EC=84=A4=EC=A0=95=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/.eslintrc.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FE/.eslintrc.json b/FE/.eslintrc.json index b6b630f..ecc2f23 100644 --- a/FE/.eslintrc.json +++ b/FE/.eslintrc.json @@ -33,7 +33,8 @@ } ], "no-console": "warn", - "react/no-unknown-property": ["error", { "ignore": ["css"] }] + "react/no-unknown-property": ["error", { "ignore": ["css"] }], + "react/prop-types": "off" }, "settings": { "react": { From 1fff51966bf94f9fc9b055aaabd83a10ef8cae09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:55:12 +0900 Subject: [PATCH 03/31] =?UTF-8?q?feat:=20layout=20=ED=8F=B4=EB=8D=94?= =?UTF-8?q?=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=A0=88=EB=8C=80=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/tsconfig.json | 3 ++- FE/webpack.config.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/FE/tsconfig.json b/FE/tsconfig.json index 2575032..b7e09ab 100644 --- a/FE/tsconfig.json +++ b/FE/tsconfig.json @@ -16,7 +16,8 @@ "@foundation/*": ["./src/components/foundation/*"], "@page/*": ["./src/page/*"], "@constants/*": ["./src/constants/*"], - "@styles/*": ["./src/styles/*"] + "@styles/*": ["./src/styles/*"], + "@layout/*": ["./src/layout/*"] } }, "include": ["src"] diff --git a/FE/webpack.config.js b/FE/webpack.config.js index b3ec118..b6b99be 100644 --- a/FE/webpack.config.js +++ b/FE/webpack.config.js @@ -2,7 +2,6 @@ const HtmlWebpackPlugin = require('html-webpack-plugin'); const path = require('path'); const webpack = require('webpack'); const CopyPlugin = require('copy-webpack-plugin'); - module.exports = { mode: process.env.production === 'true' ? 'production' : 'development', devtool: process.env.production === 'true' ? 'hidden-source-map' : 'eval', @@ -29,6 +28,7 @@ module.exports = { '@page': path.resolve(__dirname, 'src/page/'), '@constants': path.resolve(__dirname, 'src/constants/'), '@styles': path.resolve(__dirname, 'src/styles/'), + '@layout': path.resolve(__dirname, 'src/layout/'), }, }, From 6c23703ed8dafaf7d957649b11241982754a62b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:56:09 +0900 Subject: [PATCH 04/31] =?UTF-8?q?feat:=20Layout=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EC=A0=95=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/layout/Layout.tsx | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 FE/src/layout/Layout.tsx diff --git a/FE/src/layout/Layout.tsx b/FE/src/layout/Layout.tsx new file mode 100644 index 0000000..4f7688c --- /dev/null +++ b/FE/src/layout/Layout.tsx @@ -0,0 +1,30 @@ +import { css } from '@emotion/react'; + +type MainProps = { + full?: boolean; + direction: 'column' | 'row'; + children: React.ReactNode; +}; + +const Layout: React.FC = ({ + full = false, + direction = 'row', + children, +}) => { + return ( +
+ {children} +
+ ); +}; + +export default Layout; From 933bcd28beccf1a6bd0b37ba41d43f02b1930698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:57:04 +0900 Subject: [PATCH 05/31] =?UTF-8?q?feat:=20Layout=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EA=B8=B0=EB=B0=98=20=EA=B0=81=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EB=B3=84=20Layout=20=EC=BB=A8=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/interviewPage/Layout.tsx | 17 +++++++++++++++++ .../components/interviewSettingPage/Layout.tsx | 13 +++++++++++++ FE/src/components/interviewVideoPage/Layout.tsx | 13 +++++++++++++ FE/src/components/landingPage/Layout.tsx | 15 +++++++++++++++ FE/src/components/myPage/Layout.tsx | 11 +++++++++++ 5 files changed, 69 insertions(+) create mode 100644 FE/src/components/interviewPage/Layout.tsx create mode 100644 FE/src/components/interviewSettingPage/Layout.tsx create mode 100644 FE/src/components/interviewVideoPage/Layout.tsx create mode 100644 FE/src/components/landingPage/Layout.tsx create mode 100644 FE/src/components/myPage/Layout.tsx diff --git a/FE/src/components/interviewPage/Layout.tsx b/FE/src/components/interviewPage/Layout.tsx new file mode 100644 index 0000000..b42a915 --- /dev/null +++ b/FE/src/components/interviewPage/Layout.tsx @@ -0,0 +1,17 @@ +import Layout from '@/layout/Layout'; + +type InterviewPageLayoutProps = { + children: React.ReactNode; +}; + +const InterviewPageLayout: React.FC = ({ + children, +}) => { + return ( + + {children} + + ); +}; + +export default InterviewPageLayout; diff --git a/FE/src/components/interviewSettingPage/Layout.tsx b/FE/src/components/interviewSettingPage/Layout.tsx new file mode 100644 index 0000000..86fc6e4 --- /dev/null +++ b/FE/src/components/interviewSettingPage/Layout.tsx @@ -0,0 +1,13 @@ +import Layout from '@/layout/Layout'; + +type InterviewSettingPageLayoutProps = { + children: React.ReactNode; +}; + +const InterviewSettingPageLayout: React.FC = ({ + children, +}) => { + return {children}; +}; + +export default InterviewSettingPageLayout; diff --git a/FE/src/components/interviewVideoPage/Layout.tsx b/FE/src/components/interviewVideoPage/Layout.tsx new file mode 100644 index 0000000..073d26d --- /dev/null +++ b/FE/src/components/interviewVideoPage/Layout.tsx @@ -0,0 +1,13 @@ +import Layout from '@/layout/Layout'; + +type InterviewVideoPageLayoutProps = { + children: React.ReactNode; +}; + +const InterviewVideoPageLayout: React.FC = ({ + children, +}) => { + return {children}; +}; + +export default InterviewVideoPageLayout; diff --git a/FE/src/components/landingPage/Layout.tsx b/FE/src/components/landingPage/Layout.tsx new file mode 100644 index 0000000..ea69d31 --- /dev/null +++ b/FE/src/components/landingPage/Layout.tsx @@ -0,0 +1,15 @@ +import Layout from '@/layout/Layout'; + +type LandingPageLayoutProps = { + children: React.ReactNode; +}; + +const LandingPageLayout: React.FC = ({ children }) => { + return ( + + {children} + + ); +}; + +export default LandingPageLayout; diff --git a/FE/src/components/myPage/Layout.tsx b/FE/src/components/myPage/Layout.tsx new file mode 100644 index 0000000..5302c9c --- /dev/null +++ b/FE/src/components/myPage/Layout.tsx @@ -0,0 +1,11 @@ +import Layout from '@/layout/Layout'; + +type MyPageLayoutProps = { + children: React.ReactNode; +}; + +const MyPageLayout: React.FC = ({ children }) => { + return {children}; +}; + +export default MyPageLayout; From 684acbd78a14fab6ce42ede3e60465a6ea106d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:57:34 +0900 Subject: [PATCH 06/31] =?UTF-8?q?feat:=20route=EC=97=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=9C=20=EC=83=81=EC=88=98=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/constants/path.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 FE/src/constants/path.ts diff --git a/FE/src/constants/path.ts b/FE/src/constants/path.ts new file mode 100644 index 0000000..c87e505 --- /dev/null +++ b/FE/src/constants/path.ts @@ -0,0 +1,11 @@ +export const PATH = { + ROOT: '/', + INTERVIEW: '/interview', + INTERVIEW_SETTING: '/interview/setting', + INTERVIEW_SETTING_CONNECTION: '/interview/setting/connection', + INTERVIEW_SETTING_RECORD: '/interview/setting/record', + MYPAGE: '/mypage', + CONNECTION: 'connection', + RECORD: 'record', + INTERVIEW_VIDEO: `/interview/:videoId`, +}; From 971c58070df2e0dcfcc1d977cdbcd56a660af3bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:58:15 +0900 Subject: [PATCH 07/31] =?UTF-8?q?feat:=20MyPage=20=EB=82=B4=EB=B6=80?= =?UTF-8?q?=EC=9D=98=20section=EC=9D=84=20=EB=82=98=EB=88=8C=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/myPage/MyPageHeader.tsx | 19 +++++++++++++++++ FE/src/components/myPage/Profile.tsx | 25 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 FE/src/components/myPage/MyPageHeader.tsx create mode 100644 FE/src/components/myPage/Profile.tsx diff --git a/FE/src/components/myPage/MyPageHeader.tsx b/FE/src/components/myPage/MyPageHeader.tsx new file mode 100644 index 0000000..40d2b46 --- /dev/null +++ b/FE/src/components/myPage/MyPageHeader.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const MyPageHeader: React.FC = () => { + return ( +
+ My Header 입니다. +
+ ); +}; +export default MyPageHeader; diff --git a/FE/src/components/myPage/Profile.tsx b/FE/src/components/myPage/Profile.tsx new file mode 100644 index 0000000..9438c2d --- /dev/null +++ b/FE/src/components/myPage/Profile.tsx @@ -0,0 +1,25 @@ +import { css } from '@emotion/react'; +import Box from '@foundation/Box/Box'; +import Avatar from '@foundation/Avatar/Avatar'; +import Typography from '../foundation/Typography/Typography'; +const Profile: React.FC = () => { + return ( + +
+ + milk717 + robolindasoo@gmail.com +
+
+ ); +}; +export default Profile; From 6b1bb2478367585def04bcc6943ea1c834623677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:58:45 +0900 Subject: [PATCH 08/31] =?UTF-8?q?feat:=20InterviewPage=20=EB=82=B4?= =?UTF-8?q?=EB=B6=80=EC=9D=98=20section=EC=9D=84=20=EB=82=98=EB=88=8C=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/interviewPage/Header.tsx | 19 +++++++++++++++ .../interviewPage/InterViewCamera.tsx | 19 +++++++++++++++ .../interviewPage/InterViewFooter.tsx | 24 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 FE/src/components/interviewPage/Header.tsx create mode 100644 FE/src/components/interviewPage/InterViewCamera.tsx create mode 100644 FE/src/components/interviewPage/InterViewFooter.tsx diff --git a/FE/src/components/interviewPage/Header.tsx b/FE/src/components/interviewPage/Header.tsx new file mode 100644 index 0000000..22d2cf7 --- /dev/null +++ b/FE/src/components/interviewPage/Header.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const InterViewHeader: React.FC = () => { + return ( +
+ 면접페이지의 Header 입니다. +
+ ); +}; +export default InterViewHeader; diff --git a/FE/src/components/interviewPage/InterViewCamera.tsx b/FE/src/components/interviewPage/InterViewCamera.tsx new file mode 100644 index 0000000..9d6afa7 --- /dev/null +++ b/FE/src/components/interviewPage/InterViewCamera.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const InterViewCamera: React.FC = () => { + return ( +
+ 면접페이지의 카메라 입니다. +
+ ); +}; +export default InterViewCamera; diff --git a/FE/src/components/interviewPage/InterViewFooter.tsx b/FE/src/components/interviewPage/InterViewFooter.tsx new file mode 100644 index 0000000..cce8909 --- /dev/null +++ b/FE/src/components/interviewPage/InterViewFooter.tsx @@ -0,0 +1,24 @@ +import { css } from '@emotion/react'; +import { useNavigate } from 'react-router-dom'; + +const InterViewFooter: React.FC = () => { + const navigate = useNavigate(); + + return ( +
+ + 면접페이지의 하단 입니다. + +
+ ); +}; +export default InterViewFooter; From e72a272064c9afd5dc42376f4a5d18f8cd2c5b5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:59:08 +0900 Subject: [PATCH 09/31] =?UTF-8?q?feat:=20InterviewSettingPage=20=EB=82=B4?= =?UTF-8?q?=EB=B6=80=EC=9D=98=20section=EC=9D=84=20=EB=82=98=EB=88=8C=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interviewSettingPage/Description.tsx | 19 +++++++++++++++++++ .../QustionSelectionBox.tsx | 6 ++++++ .../interviewSettingPage/RecordMethodBox.tsx | 6 ++++++ .../SettingProgressBar.tsx | 19 +++++++++++++++++++ .../interviewSettingPage/VideoSettingBox.tsx | 6 ++++++ 5 files changed, 56 insertions(+) create mode 100644 FE/src/components/interviewSettingPage/Description.tsx create mode 100644 FE/src/components/interviewSettingPage/QustionSelectionBox.tsx create mode 100644 FE/src/components/interviewSettingPage/RecordMethodBox.tsx create mode 100644 FE/src/components/interviewSettingPage/SettingProgressBar.tsx create mode 100644 FE/src/components/interviewSettingPage/VideoSettingBox.tsx diff --git a/FE/src/components/interviewSettingPage/Description.tsx b/FE/src/components/interviewSettingPage/Description.tsx new file mode 100644 index 0000000..8edd9c4 --- /dev/null +++ b/FE/src/components/interviewSettingPage/Description.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const Description: React.FC = () => { + return ( +
+ 설명 +
+ ); +}; +export default Description; diff --git a/FE/src/components/interviewSettingPage/QustionSelectionBox.tsx b/FE/src/components/interviewSettingPage/QustionSelectionBox.tsx new file mode 100644 index 0000000..8471f80 --- /dev/null +++ b/FE/src/components/interviewSettingPage/QustionSelectionBox.tsx @@ -0,0 +1,6 @@ +import Box from '@foundation/Box/Box'; + +const QuestionSelectionBox: React.FC = () => { + return 여기에는 Question Box가 들어갑니다; +}; +export default QuestionSelectionBox; diff --git a/FE/src/components/interviewSettingPage/RecordMethodBox.tsx b/FE/src/components/interviewSettingPage/RecordMethodBox.tsx new file mode 100644 index 0000000..a566bdb --- /dev/null +++ b/FE/src/components/interviewSettingPage/RecordMethodBox.tsx @@ -0,0 +1,6 @@ +import Box from '@foundation/Box/Box'; + +const RecordMethodBox: React.FC = () => { + return SaveMethodBox 입니다; +}; +export default RecordMethodBox; diff --git a/FE/src/components/interviewSettingPage/SettingProgressBar.tsx b/FE/src/components/interviewSettingPage/SettingProgressBar.tsx new file mode 100644 index 0000000..8e00acb --- /dev/null +++ b/FE/src/components/interviewSettingPage/SettingProgressBar.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const SettingProgressBar: React.FC = () => { + return ( +
+ progress +
+ ); +}; +export default SettingProgressBar; diff --git a/FE/src/components/interviewSettingPage/VideoSettingBox.tsx b/FE/src/components/interviewSettingPage/VideoSettingBox.tsx new file mode 100644 index 0000000..1059c07 --- /dev/null +++ b/FE/src/components/interviewSettingPage/VideoSettingBox.tsx @@ -0,0 +1,6 @@ +import Box from '@foundation/Box/Box'; + +const VideoSettingBox: React.FC = () => { + return videoSettionBox 입니다; +}; +export default VideoSettingBox; From 51a3c4a140004b2b13ca2aca51291a33f8b12e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:59:24 +0900 Subject: [PATCH 10/31] =?UTF-8?q?feat:=20LandingPage=20=EB=82=B4=EB=B6=80?= =?UTF-8?q?=EC=9D=98=20section=EC=9D=84=20=EB=82=98=EB=88=8C=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/landingPage/Intro.tsx | 47 +++++++++++++++++++ .../components/landingPage/SideBackground.tsx | 19 ++++++++ 2 files changed, 66 insertions(+) create mode 100644 FE/src/components/landingPage/Intro.tsx create mode 100644 FE/src/components/landingPage/SideBackground.tsx diff --git a/FE/src/components/landingPage/Intro.tsx b/FE/src/components/landingPage/Intro.tsx new file mode 100644 index 0000000..e9d1e6b --- /dev/null +++ b/FE/src/components/landingPage/Intro.tsx @@ -0,0 +1,47 @@ +import { css } from '@emotion/react'; +import { Link } from 'react-router-dom'; + +const Intro: React.FC = () => { + // 로그인에 따라 로직이 달라집니다. + return ( +
+
+ 당신만을 위한 면접 서비스 +
+
+ + + + +
+
+ ); +}; +export default Intro; diff --git a/FE/src/components/landingPage/SideBackground.tsx b/FE/src/components/landingPage/SideBackground.tsx new file mode 100644 index 0000000..a02321e --- /dev/null +++ b/FE/src/components/landingPage/SideBackground.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const SideBackground: React.FC = () => { + return ( +
+ 조금 이쁜 랜딩 입니다 +
+ ); +}; +export default SideBackground; From 5c20eacd67335a70a204b001ed2c9ff4d77cbd50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:59:42 +0900 Subject: [PATCH 11/31] =?UTF-8?q?feat:=20=EA=B0=81=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EB=B3=84=20=EA=B8=B0=EC=B4=88=EC=A0=81=EC=9D=B8=20sec?= =?UTF-8?q?tion=20=EB=B6=80=EC=97=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/page/LandingPage/index.tsx | 14 +++++ FE/src/page/interviewPage/index.tsx | 15 +++++ FE/src/page/interviewSettingPage/index.tsx | 66 ++++++++++++++++++++++ FE/src/page/interviewVideoPage/index.tsx | 18 ++++++ FE/src/page/myPage/index.tsx | 14 +++++ 5 files changed, 127 insertions(+) create mode 100644 FE/src/page/LandingPage/index.tsx create mode 100644 FE/src/page/interviewPage/index.tsx create mode 100644 FE/src/page/interviewSettingPage/index.tsx create mode 100644 FE/src/page/interviewVideoPage/index.tsx create mode 100644 FE/src/page/myPage/index.tsx diff --git a/FE/src/page/LandingPage/index.tsx b/FE/src/page/LandingPage/index.tsx new file mode 100644 index 0000000..02799f6 --- /dev/null +++ b/FE/src/page/LandingPage/index.tsx @@ -0,0 +1,14 @@ +import LandingPageLayout from '@/components/landingPage/Layout'; +import SideBackground from '@/components/landingPage/SideBackground'; +import Intro from '@/components/landingPage/Intro'; + +const RenderingPage: React.FC = () => { + return ( + + + + + ); +}; + +export default RenderingPage; diff --git a/FE/src/page/interviewPage/index.tsx b/FE/src/page/interviewPage/index.tsx new file mode 100644 index 0000000..7fbf91d --- /dev/null +++ b/FE/src/page/interviewPage/index.tsx @@ -0,0 +1,15 @@ +import InterviewPageLayout from '@/components/interviewPage/Layout'; +import InterViewHeader from '@/components/interviewPage/Header'; +import InterViewCamera from '@/components/interviewPage/InterViewCamera'; +import InterViewFooter from '@/components/interviewPage/InterViewFooter'; +const InterviewPage: React.FC = () => { + return ( + + + + + + ); +}; + +export default InterviewPage; diff --git a/FE/src/page/interviewSettingPage/index.tsx b/FE/src/page/interviewSettingPage/index.tsx new file mode 100644 index 0000000..6fbfba6 --- /dev/null +++ b/FE/src/page/interviewSettingPage/index.tsx @@ -0,0 +1,66 @@ +import InterviewSettingPageLayout from '@/components/interviewSettingPage/Layout'; +import { css } from '@emotion/react'; +import { Outlet, useLocation, useNavigate } from 'react-router-dom'; +import SettingProgressBar from '@/components/interviewSettingPage/SettingProgressBar'; +import Description from '@/components/interviewSettingPage/Description'; +import Button from '@/components/foundation/Button/Button'; +import { PATH } from '@constants/path'; + +const InterviewSettingPage: React.FC = () => { + const navigate = useNavigate(); + const location = useLocation(); + + function navigateNext() { + switch (location.pathname) { + case PATH.INTERVIEW_SETTING: + navigate(PATH.INTERVIEW_SETTING_CONNECTION); + break; + case PATH.INTERVIEW_SETTING_CONNECTION: + navigate(PATH.INTERVIEW_SETTING_RECORD); + break; + case PATH.INTERVIEW_SETTING_RECORD: + navigate(PATH.INTERVIEW); + break; + default: + navigate(PATH.ROOT); + break; + } + } + function navigatePrev() { + switch (location.pathname) { + case PATH.INTERVIEW_SETTING: + navigate(PATH.ROOT); + break; + case PATH.INTERVIEW_SETTING_CONNECTION: + navigate(PATH.INTERVIEW_SETTING); + break; + case PATH.INTERVIEW_SETTING_RECORD: + navigate(PATH.INTERVIEW_SETTING_CONNECTION); + break; + default: + navigate(PATH.ROOT); + break; + } + } + return ( + + + + +
+ + +
+
+ ); +}; + +export default InterviewSettingPage; diff --git a/FE/src/page/interviewVideoPage/index.tsx b/FE/src/page/interviewVideoPage/index.tsx new file mode 100644 index 0000000..addf8e9 --- /dev/null +++ b/FE/src/page/interviewVideoPage/index.tsx @@ -0,0 +1,18 @@ +import { useParams } from 'react-router-dom'; +import InterviewVideoPageLayout from '@/components/interviewVideoPage/Layout'; + +const InterviewVideoPage: React.FC = () => { + // Use the `useParams` hook to access the `videoId` parameter + const params = useParams(); + const videoId = params.videoId; // This is the video ID from the URL + + return ( + +

Interview Video Page

+

Showing video for ID: {videoId}

+ {/* You can use the videoId to fetch and display the appropriate video */} +
+ ); +}; + +export default InterviewVideoPage; diff --git a/FE/src/page/myPage/index.tsx b/FE/src/page/myPage/index.tsx new file mode 100644 index 0000000..3691d74 --- /dev/null +++ b/FE/src/page/myPage/index.tsx @@ -0,0 +1,14 @@ +import MyPageLayout from '@/components/myPage/Layout'; +import MyPageHeader from '@/components/myPage/MyPageHeader'; +import Profile from '@/components/myPage/Profile'; + +const MyPage: React.FC = () => { + return ( + + + + + ); +}; + +export default MyPage; From b985da7d5b67353355196a12e466e363b5330155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Wed, 8 Nov 2023 00:00:07 +0900 Subject: [PATCH 12/31] =?UTF-8?q?feat:=20AppRouter=20=ED=95=A8=EC=88=98?= =?UTF-8?q?=EB=A5=BC=20=ED=86=B5=ED=95=B4=EC=84=9C=20Router=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/App.tsx | 24 ++++--------------- FE/src/AppRouter.tsx | 56 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 FE/src/AppRouter.tsx diff --git a/FE/src/App.tsx b/FE/src/App.tsx index fbc54bc..a43cfb2 100644 --- a/FE/src/App.tsx +++ b/FE/src/App.tsx @@ -1,31 +1,15 @@ -import styled from '@emotion/styled'; -import { css, Global, ThemeProvider } from '@emotion/react'; +import { Global, ThemeProvider } from '@emotion/react'; import { theme } from '@styles/theme'; import _global from '@styles/_global'; - -const EmotionStyledDiv = styled.div` - color: red; -`; +import AppRouter from '@/AppRouter'; // AppRouter를 임포트합니다. function App() { return ( -
- asdfasdfasdfasdfasdfasdfasdf - hihiHello - Worasdfasasdfasdfdflasdfasdfasdfasdasdfasdfasdfasdfasdfasdf -
- Styled with Emotion! -
-
+
); } + export default App; diff --git a/FE/src/AppRouter.tsx b/FE/src/AppRouter.tsx new file mode 100644 index 0000000..2c92bae --- /dev/null +++ b/FE/src/AppRouter.tsx @@ -0,0 +1,56 @@ +import { RouterProvider } from 'react-router-dom'; +import { createBrowserRouter, RouteObject } from 'react-router-dom'; +import LandingPage from '@/page/LandingPage'; +import InterviewSettingPage from '@page/interviewSettingPage'; +import InterviewPage from '@page/interviewPage'; +import MyPage from './page/myPage'; +import InterviewVideoPage from './page/interviewVideoPage'; +import QuestionSelectionBox from '@components/interviewSettingPage/QustionSelectionBox'; +import VideoSettingBox from './components/interviewSettingPage/VideoSettingBox'; +import RecordMethodBox from './components/interviewSettingPage/RecordMethodBox'; +import { PATH } from '@constants/path'; + +const routes: RouteObject[] = [ + { + path: PATH.ROOT, + element: , + }, + { + path: PATH.INTERVIEW, + element: , + }, + { + path: PATH.INTERVIEW_SETTING, + element: , + children: [ + { + index: true, + element: , + }, + { + path: PATH.CONNECTION, + element: , + }, + { + path: PATH.RECORD, + element: , + }, + ], + }, + { + path: PATH.MYPAGE, + element: , + }, + { + path: PATH.INTERVIEW_VIDEO, // ":videoId" is a URL parameter + element: , + }, +]; + +const router = createBrowserRouter(routes); + +const AppRouter = () => { + return ; +}; + +export default AppRouter; From 508e6d503b2799f95136a8b7b4e65fdaffcea600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Wed, 8 Nov 2023 00:00:26 +0900 Subject: [PATCH 13/31] =?UTF-8?q?feat:=20=EC=A4=91=EC=B2=A9=EB=90=9C=20?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=EC=97=90=EB=8C=80=ED=95=9C=20server=EC=9D=91?= =?UTF-8?q?=EB=8B=B5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/webpack.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/FE/webpack.config.js b/FE/webpack.config.js index b6b99be..fd50b45 100644 --- a/FE/webpack.config.js +++ b/FE/webpack.config.js @@ -7,6 +7,7 @@ module.exports = { devtool: process.env.production === 'true' ? 'hidden-source-map' : 'eval', entry: './src/index.tsx', output: { + publicPath: '/', path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', clean: true, From 843fe6ba360e04646d356fd9547362382ea9e5bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Wed, 8 Nov 2023 00:00:49 +0900 Subject: [PATCH 14/31] =?UTF-8?q?fix:=20Typography=20export=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/foundation/Typography/Typography.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/FE/src/components/foundation/Typography/Typography.tsx b/FE/src/components/foundation/Typography/Typography.tsx index 6362cf9..319d62d 100644 --- a/FE/src/components/foundation/Typography/Typography.tsx +++ b/FE/src/components/foundation/Typography/Typography.tsx @@ -11,7 +11,7 @@ type Props = { children: ReactNode; }; -export const Typography: React.FC = ({ +const Typography: React.FC = ({ component, variant = 'body1', noWrap, @@ -42,3 +42,5 @@ export const Typography: React.FC = ({ ); }; + +export default Typography; From ea8a4929a19aeb098e411f3c01490fa13b3cac71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:36:56 +0900 Subject: [PATCH 15/31] =?UTF-8?q?chore:=20react-dom=20&=20react-router-dom?= =?UTF-8?q?=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/package-lock.json | 41 ++++++++++++++++++++++++++++++++++++++++- FE/package.json | 3 ++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/FE/package-lock.json b/FE/package-lock.json index 99d014a..f45df6b 100644 --- a/FE/package-lock.json +++ b/FE/package-lock.json @@ -14,7 +14,8 @@ "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.18.0" }, "devDependencies": { "@babel/cli": "^7.23.0", @@ -2745,6 +2746,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@remix-run/router": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.11.0.tgz", + "integrity": "sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@types/body-parser": { "version": "1.19.4", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", @@ -8663,6 +8672,36 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/react-router": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.18.0.tgz", + "integrity": "sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg==", + "dependencies": { + "@remix-run/router": "1.11.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.18.0.tgz", + "integrity": "sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw==", + "dependencies": { + "@remix-run/router": "1.11.0", + "react-router": "6.18.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", diff --git a/FE/package.json b/FE/package.json index 6f303bf..438a736 100644 --- a/FE/package.json +++ b/FE/package.json @@ -16,7 +16,8 @@ "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.18.0" }, "devDependencies": { "@babel/cli": "^7.23.0", From f906cb2960dd8fd0cba4401a09325791474d30f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:54:03 +0900 Subject: [PATCH 16/31] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20lint=20=EC=84=A4=EC=A0=95=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/.eslintrc.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FE/.eslintrc.json b/FE/.eslintrc.json index b6b630f..ecc2f23 100644 --- a/FE/.eslintrc.json +++ b/FE/.eslintrc.json @@ -33,7 +33,8 @@ } ], "no-console": "warn", - "react/no-unknown-property": ["error", { "ignore": ["css"] }] + "react/no-unknown-property": ["error", { "ignore": ["css"] }], + "react/prop-types": "off" }, "settings": { "react": { From bb6b65c67a0465bfc8a3c6902884dd374e01008a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:55:12 +0900 Subject: [PATCH 17/31] =?UTF-8?q?feat:=20layout=20=ED=8F=B4=EB=8D=94?= =?UTF-8?q?=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=A0=88=EB=8C=80=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/tsconfig.json | 3 ++- FE/webpack.config.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/FE/tsconfig.json b/FE/tsconfig.json index 2575032..b7e09ab 100644 --- a/FE/tsconfig.json +++ b/FE/tsconfig.json @@ -16,7 +16,8 @@ "@foundation/*": ["./src/components/foundation/*"], "@page/*": ["./src/page/*"], "@constants/*": ["./src/constants/*"], - "@styles/*": ["./src/styles/*"] + "@styles/*": ["./src/styles/*"], + "@layout/*": ["./src/layout/*"] } }, "include": ["src"] diff --git a/FE/webpack.config.js b/FE/webpack.config.js index b3ec118..b6b99be 100644 --- a/FE/webpack.config.js +++ b/FE/webpack.config.js @@ -2,7 +2,6 @@ const HtmlWebpackPlugin = require('html-webpack-plugin'); const path = require('path'); const webpack = require('webpack'); const CopyPlugin = require('copy-webpack-plugin'); - module.exports = { mode: process.env.production === 'true' ? 'production' : 'development', devtool: process.env.production === 'true' ? 'hidden-source-map' : 'eval', @@ -29,6 +28,7 @@ module.exports = { '@page': path.resolve(__dirname, 'src/page/'), '@constants': path.resolve(__dirname, 'src/constants/'), '@styles': path.resolve(__dirname, 'src/styles/'), + '@layout': path.resolve(__dirname, 'src/layout/'), }, }, From 56c3bb42445e3c5077d1ef1476309e9c0aeeac34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:56:09 +0900 Subject: [PATCH 18/31] =?UTF-8?q?feat:=20Layout=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EC=A0=95=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/layout/Layout.tsx | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 FE/src/layout/Layout.tsx diff --git a/FE/src/layout/Layout.tsx b/FE/src/layout/Layout.tsx new file mode 100644 index 0000000..4f7688c --- /dev/null +++ b/FE/src/layout/Layout.tsx @@ -0,0 +1,30 @@ +import { css } from '@emotion/react'; + +type MainProps = { + full?: boolean; + direction: 'column' | 'row'; + children: React.ReactNode; +}; + +const Layout: React.FC = ({ + full = false, + direction = 'row', + children, +}) => { + return ( +
+ {children} +
+ ); +}; + +export default Layout; From d581609138869ade5fc6f3b125115dca0d315726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:57:04 +0900 Subject: [PATCH 19/31] =?UTF-8?q?feat:=20Layout=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EA=B8=B0=EB=B0=98=20=EA=B0=81=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EB=B3=84=20Layout=20=EC=BB=A8=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/interviewPage/Layout.tsx | 17 +++++++++++++++++ .../components/interviewSettingPage/Layout.tsx | 13 +++++++++++++ FE/src/components/interviewVideoPage/Layout.tsx | 13 +++++++++++++ FE/src/components/landingPage/Layout.tsx | 15 +++++++++++++++ FE/src/components/myPage/Layout.tsx | 11 +++++++++++ 5 files changed, 69 insertions(+) create mode 100644 FE/src/components/interviewPage/Layout.tsx create mode 100644 FE/src/components/interviewSettingPage/Layout.tsx create mode 100644 FE/src/components/interviewVideoPage/Layout.tsx create mode 100644 FE/src/components/landingPage/Layout.tsx create mode 100644 FE/src/components/myPage/Layout.tsx diff --git a/FE/src/components/interviewPage/Layout.tsx b/FE/src/components/interviewPage/Layout.tsx new file mode 100644 index 0000000..b42a915 --- /dev/null +++ b/FE/src/components/interviewPage/Layout.tsx @@ -0,0 +1,17 @@ +import Layout from '@/layout/Layout'; + +type InterviewPageLayoutProps = { + children: React.ReactNode; +}; + +const InterviewPageLayout: React.FC = ({ + children, +}) => { + return ( + + {children} + + ); +}; + +export default InterviewPageLayout; diff --git a/FE/src/components/interviewSettingPage/Layout.tsx b/FE/src/components/interviewSettingPage/Layout.tsx new file mode 100644 index 0000000..86fc6e4 --- /dev/null +++ b/FE/src/components/interviewSettingPage/Layout.tsx @@ -0,0 +1,13 @@ +import Layout from '@/layout/Layout'; + +type InterviewSettingPageLayoutProps = { + children: React.ReactNode; +}; + +const InterviewSettingPageLayout: React.FC = ({ + children, +}) => { + return {children}; +}; + +export default InterviewSettingPageLayout; diff --git a/FE/src/components/interviewVideoPage/Layout.tsx b/FE/src/components/interviewVideoPage/Layout.tsx new file mode 100644 index 0000000..073d26d --- /dev/null +++ b/FE/src/components/interviewVideoPage/Layout.tsx @@ -0,0 +1,13 @@ +import Layout from '@/layout/Layout'; + +type InterviewVideoPageLayoutProps = { + children: React.ReactNode; +}; + +const InterviewVideoPageLayout: React.FC = ({ + children, +}) => { + return {children}; +}; + +export default InterviewVideoPageLayout; diff --git a/FE/src/components/landingPage/Layout.tsx b/FE/src/components/landingPage/Layout.tsx new file mode 100644 index 0000000..ea69d31 --- /dev/null +++ b/FE/src/components/landingPage/Layout.tsx @@ -0,0 +1,15 @@ +import Layout from '@/layout/Layout'; + +type LandingPageLayoutProps = { + children: React.ReactNode; +}; + +const LandingPageLayout: React.FC = ({ children }) => { + return ( + + {children} + + ); +}; + +export default LandingPageLayout; diff --git a/FE/src/components/myPage/Layout.tsx b/FE/src/components/myPage/Layout.tsx new file mode 100644 index 0000000..5302c9c --- /dev/null +++ b/FE/src/components/myPage/Layout.tsx @@ -0,0 +1,11 @@ +import Layout from '@/layout/Layout'; + +type MyPageLayoutProps = { + children: React.ReactNode; +}; + +const MyPageLayout: React.FC = ({ children }) => { + return {children}; +}; + +export default MyPageLayout; From ed6a78f81fe08a889afb3bffc4374549e986ec7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:57:34 +0900 Subject: [PATCH 20/31] =?UTF-8?q?feat:=20route=EC=97=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=9C=20=EC=83=81=EC=88=98=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/constants/path.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 FE/src/constants/path.ts diff --git a/FE/src/constants/path.ts b/FE/src/constants/path.ts new file mode 100644 index 0000000..c87e505 --- /dev/null +++ b/FE/src/constants/path.ts @@ -0,0 +1,11 @@ +export const PATH = { + ROOT: '/', + INTERVIEW: '/interview', + INTERVIEW_SETTING: '/interview/setting', + INTERVIEW_SETTING_CONNECTION: '/interview/setting/connection', + INTERVIEW_SETTING_RECORD: '/interview/setting/record', + MYPAGE: '/mypage', + CONNECTION: 'connection', + RECORD: 'record', + INTERVIEW_VIDEO: `/interview/:videoId`, +}; From 4c88f66c5f63dd1bf0c593762c8d859b153aa12e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:58:15 +0900 Subject: [PATCH 21/31] =?UTF-8?q?feat:=20MyPage=20=EB=82=B4=EB=B6=80?= =?UTF-8?q?=EC=9D=98=20section=EC=9D=84=20=EB=82=98=EB=88=8C=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/myPage/MyPageHeader.tsx | 19 +++++++++++++++++ FE/src/components/myPage/Profile.tsx | 25 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 FE/src/components/myPage/MyPageHeader.tsx create mode 100644 FE/src/components/myPage/Profile.tsx diff --git a/FE/src/components/myPage/MyPageHeader.tsx b/FE/src/components/myPage/MyPageHeader.tsx new file mode 100644 index 0000000..40d2b46 --- /dev/null +++ b/FE/src/components/myPage/MyPageHeader.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const MyPageHeader: React.FC = () => { + return ( +
+ My Header 입니다. +
+ ); +}; +export default MyPageHeader; diff --git a/FE/src/components/myPage/Profile.tsx b/FE/src/components/myPage/Profile.tsx new file mode 100644 index 0000000..9438c2d --- /dev/null +++ b/FE/src/components/myPage/Profile.tsx @@ -0,0 +1,25 @@ +import { css } from '@emotion/react'; +import Box from '@foundation/Box/Box'; +import Avatar from '@foundation/Avatar/Avatar'; +import Typography from '../foundation/Typography/Typography'; +const Profile: React.FC = () => { + return ( + +
+ + milk717 + robolindasoo@gmail.com +
+
+ ); +}; +export default Profile; From fbc694d2d9d89b7410dbc14c779e170e6f7392ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:58:45 +0900 Subject: [PATCH 22/31] =?UTF-8?q?feat:=20InterviewPage=20=EB=82=B4?= =?UTF-8?q?=EB=B6=80=EC=9D=98=20section=EC=9D=84=20=EB=82=98=EB=88=8C=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/interviewPage/Header.tsx | 19 +++++++++++++++ .../interviewPage/InterViewCamera.tsx | 19 +++++++++++++++ .../interviewPage/InterViewFooter.tsx | 24 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 FE/src/components/interviewPage/Header.tsx create mode 100644 FE/src/components/interviewPage/InterViewCamera.tsx create mode 100644 FE/src/components/interviewPage/InterViewFooter.tsx diff --git a/FE/src/components/interviewPage/Header.tsx b/FE/src/components/interviewPage/Header.tsx new file mode 100644 index 0000000..22d2cf7 --- /dev/null +++ b/FE/src/components/interviewPage/Header.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const InterViewHeader: React.FC = () => { + return ( +
+ 면접페이지의 Header 입니다. +
+ ); +}; +export default InterViewHeader; diff --git a/FE/src/components/interviewPage/InterViewCamera.tsx b/FE/src/components/interviewPage/InterViewCamera.tsx new file mode 100644 index 0000000..9d6afa7 --- /dev/null +++ b/FE/src/components/interviewPage/InterViewCamera.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const InterViewCamera: React.FC = () => { + return ( +
+ 면접페이지의 카메라 입니다. +
+ ); +}; +export default InterViewCamera; diff --git a/FE/src/components/interviewPage/InterViewFooter.tsx b/FE/src/components/interviewPage/InterViewFooter.tsx new file mode 100644 index 0000000..cce8909 --- /dev/null +++ b/FE/src/components/interviewPage/InterViewFooter.tsx @@ -0,0 +1,24 @@ +import { css } from '@emotion/react'; +import { useNavigate } from 'react-router-dom'; + +const InterViewFooter: React.FC = () => { + const navigate = useNavigate(); + + return ( +
+ + 면접페이지의 하단 입니다. + +
+ ); +}; +export default InterViewFooter; From 02583a3062a848654aaf91ecebac808fc1924f7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:59:08 +0900 Subject: [PATCH 23/31] =?UTF-8?q?feat:=20InterviewSettingPage=20=EB=82=B4?= =?UTF-8?q?=EB=B6=80=EC=9D=98=20section=EC=9D=84=20=EB=82=98=EB=88=8C=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interviewSettingPage/Description.tsx | 19 +++++++++++++++++++ .../QustionSelectionBox.tsx | 6 ++++++ .../interviewSettingPage/RecordMethodBox.tsx | 6 ++++++ .../SettingProgressBar.tsx | 19 +++++++++++++++++++ .../interviewSettingPage/VideoSettingBox.tsx | 6 ++++++ 5 files changed, 56 insertions(+) create mode 100644 FE/src/components/interviewSettingPage/Description.tsx create mode 100644 FE/src/components/interviewSettingPage/QustionSelectionBox.tsx create mode 100644 FE/src/components/interviewSettingPage/RecordMethodBox.tsx create mode 100644 FE/src/components/interviewSettingPage/SettingProgressBar.tsx create mode 100644 FE/src/components/interviewSettingPage/VideoSettingBox.tsx diff --git a/FE/src/components/interviewSettingPage/Description.tsx b/FE/src/components/interviewSettingPage/Description.tsx new file mode 100644 index 0000000..8edd9c4 --- /dev/null +++ b/FE/src/components/interviewSettingPage/Description.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const Description: React.FC = () => { + return ( +
+ 설명 +
+ ); +}; +export default Description; diff --git a/FE/src/components/interviewSettingPage/QustionSelectionBox.tsx b/FE/src/components/interviewSettingPage/QustionSelectionBox.tsx new file mode 100644 index 0000000..8471f80 --- /dev/null +++ b/FE/src/components/interviewSettingPage/QustionSelectionBox.tsx @@ -0,0 +1,6 @@ +import Box from '@foundation/Box/Box'; + +const QuestionSelectionBox: React.FC = () => { + return 여기에는 Question Box가 들어갑니다; +}; +export default QuestionSelectionBox; diff --git a/FE/src/components/interviewSettingPage/RecordMethodBox.tsx b/FE/src/components/interviewSettingPage/RecordMethodBox.tsx new file mode 100644 index 0000000..a566bdb --- /dev/null +++ b/FE/src/components/interviewSettingPage/RecordMethodBox.tsx @@ -0,0 +1,6 @@ +import Box from '@foundation/Box/Box'; + +const RecordMethodBox: React.FC = () => { + return SaveMethodBox 입니다; +}; +export default RecordMethodBox; diff --git a/FE/src/components/interviewSettingPage/SettingProgressBar.tsx b/FE/src/components/interviewSettingPage/SettingProgressBar.tsx new file mode 100644 index 0000000..8e00acb --- /dev/null +++ b/FE/src/components/interviewSettingPage/SettingProgressBar.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const SettingProgressBar: React.FC = () => { + return ( +
+ progress +
+ ); +}; +export default SettingProgressBar; diff --git a/FE/src/components/interviewSettingPage/VideoSettingBox.tsx b/FE/src/components/interviewSettingPage/VideoSettingBox.tsx new file mode 100644 index 0000000..1059c07 --- /dev/null +++ b/FE/src/components/interviewSettingPage/VideoSettingBox.tsx @@ -0,0 +1,6 @@ +import Box from '@foundation/Box/Box'; + +const VideoSettingBox: React.FC = () => { + return videoSettionBox 입니다; +}; +export default VideoSettingBox; From b7d8f339e7d55961fe3307b361ca2e6d180ccbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:59:24 +0900 Subject: [PATCH 24/31] =?UTF-8?q?feat:=20LandingPage=20=EB=82=B4=EB=B6=80?= =?UTF-8?q?=EC=9D=98=20section=EC=9D=84=20=EB=82=98=EB=88=8C=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=84=A0=EC=96=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/landingPage/Intro.tsx | 47 +++++++++++++++++++ .../components/landingPage/SideBackground.tsx | 19 ++++++++ 2 files changed, 66 insertions(+) create mode 100644 FE/src/components/landingPage/Intro.tsx create mode 100644 FE/src/components/landingPage/SideBackground.tsx diff --git a/FE/src/components/landingPage/Intro.tsx b/FE/src/components/landingPage/Intro.tsx new file mode 100644 index 0000000..e9d1e6b --- /dev/null +++ b/FE/src/components/landingPage/Intro.tsx @@ -0,0 +1,47 @@ +import { css } from '@emotion/react'; +import { Link } from 'react-router-dom'; + +const Intro: React.FC = () => { + // 로그인에 따라 로직이 달라집니다. + return ( +
+
+ 당신만을 위한 면접 서비스 +
+
+ + + + +
+
+ ); +}; +export default Intro; diff --git a/FE/src/components/landingPage/SideBackground.tsx b/FE/src/components/landingPage/SideBackground.tsx new file mode 100644 index 0000000..a02321e --- /dev/null +++ b/FE/src/components/landingPage/SideBackground.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const SideBackground: React.FC = () => { + return ( +
+ 조금 이쁜 랜딩 입니다 +
+ ); +}; +export default SideBackground; From 9a014d99c15f7c3c836607f0ab042341f35dc1a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Tue, 7 Nov 2023 23:59:42 +0900 Subject: [PATCH 25/31] =?UTF-8?q?feat:=20=EA=B0=81=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EB=B3=84=20=EA=B8=B0=EC=B4=88=EC=A0=81=EC=9D=B8=20sec?= =?UTF-8?q?tion=20=EB=B6=80=EC=97=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/page/LandingPage/index.tsx | 14 +++++ FE/src/page/interviewPage/index.tsx | 15 +++++ FE/src/page/interviewSettingPage/index.tsx | 66 ++++++++++++++++++++++ FE/src/page/interviewVideoPage/index.tsx | 18 ++++++ FE/src/page/myPage/index.tsx | 14 +++++ 5 files changed, 127 insertions(+) create mode 100644 FE/src/page/LandingPage/index.tsx create mode 100644 FE/src/page/interviewPage/index.tsx create mode 100644 FE/src/page/interviewSettingPage/index.tsx create mode 100644 FE/src/page/interviewVideoPage/index.tsx create mode 100644 FE/src/page/myPage/index.tsx diff --git a/FE/src/page/LandingPage/index.tsx b/FE/src/page/LandingPage/index.tsx new file mode 100644 index 0000000..02799f6 --- /dev/null +++ b/FE/src/page/LandingPage/index.tsx @@ -0,0 +1,14 @@ +import LandingPageLayout from '@/components/landingPage/Layout'; +import SideBackground from '@/components/landingPage/SideBackground'; +import Intro from '@/components/landingPage/Intro'; + +const RenderingPage: React.FC = () => { + return ( + + + + + ); +}; + +export default RenderingPage; diff --git a/FE/src/page/interviewPage/index.tsx b/FE/src/page/interviewPage/index.tsx new file mode 100644 index 0000000..7fbf91d --- /dev/null +++ b/FE/src/page/interviewPage/index.tsx @@ -0,0 +1,15 @@ +import InterviewPageLayout from '@/components/interviewPage/Layout'; +import InterViewHeader from '@/components/interviewPage/Header'; +import InterViewCamera from '@/components/interviewPage/InterViewCamera'; +import InterViewFooter from '@/components/interviewPage/InterViewFooter'; +const InterviewPage: React.FC = () => { + return ( + + + + + + ); +}; + +export default InterviewPage; diff --git a/FE/src/page/interviewSettingPage/index.tsx b/FE/src/page/interviewSettingPage/index.tsx new file mode 100644 index 0000000..6fbfba6 --- /dev/null +++ b/FE/src/page/interviewSettingPage/index.tsx @@ -0,0 +1,66 @@ +import InterviewSettingPageLayout from '@/components/interviewSettingPage/Layout'; +import { css } from '@emotion/react'; +import { Outlet, useLocation, useNavigate } from 'react-router-dom'; +import SettingProgressBar from '@/components/interviewSettingPage/SettingProgressBar'; +import Description from '@/components/interviewSettingPage/Description'; +import Button from '@/components/foundation/Button/Button'; +import { PATH } from '@constants/path'; + +const InterviewSettingPage: React.FC = () => { + const navigate = useNavigate(); + const location = useLocation(); + + function navigateNext() { + switch (location.pathname) { + case PATH.INTERVIEW_SETTING: + navigate(PATH.INTERVIEW_SETTING_CONNECTION); + break; + case PATH.INTERVIEW_SETTING_CONNECTION: + navigate(PATH.INTERVIEW_SETTING_RECORD); + break; + case PATH.INTERVIEW_SETTING_RECORD: + navigate(PATH.INTERVIEW); + break; + default: + navigate(PATH.ROOT); + break; + } + } + function navigatePrev() { + switch (location.pathname) { + case PATH.INTERVIEW_SETTING: + navigate(PATH.ROOT); + break; + case PATH.INTERVIEW_SETTING_CONNECTION: + navigate(PATH.INTERVIEW_SETTING); + break; + case PATH.INTERVIEW_SETTING_RECORD: + navigate(PATH.INTERVIEW_SETTING_CONNECTION); + break; + default: + navigate(PATH.ROOT); + break; + } + } + return ( + + + + +
+ + +
+
+ ); +}; + +export default InterviewSettingPage; diff --git a/FE/src/page/interviewVideoPage/index.tsx b/FE/src/page/interviewVideoPage/index.tsx new file mode 100644 index 0000000..addf8e9 --- /dev/null +++ b/FE/src/page/interviewVideoPage/index.tsx @@ -0,0 +1,18 @@ +import { useParams } from 'react-router-dom'; +import InterviewVideoPageLayout from '@/components/interviewVideoPage/Layout'; + +const InterviewVideoPage: React.FC = () => { + // Use the `useParams` hook to access the `videoId` parameter + const params = useParams(); + const videoId = params.videoId; // This is the video ID from the URL + + return ( + +

Interview Video Page

+

Showing video for ID: {videoId}

+ {/* You can use the videoId to fetch and display the appropriate video */} +
+ ); +}; + +export default InterviewVideoPage; diff --git a/FE/src/page/myPage/index.tsx b/FE/src/page/myPage/index.tsx new file mode 100644 index 0000000..3691d74 --- /dev/null +++ b/FE/src/page/myPage/index.tsx @@ -0,0 +1,14 @@ +import MyPageLayout from '@/components/myPage/Layout'; +import MyPageHeader from '@/components/myPage/MyPageHeader'; +import Profile from '@/components/myPage/Profile'; + +const MyPage: React.FC = () => { + return ( + + + + + ); +}; + +export default MyPage; From 20fbccc0e2852086c81a2cb35558834d5ed95936 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Wed, 8 Nov 2023 00:00:07 +0900 Subject: [PATCH 26/31] =?UTF-8?q?feat:=20AppRouter=20=ED=95=A8=EC=88=98?= =?UTF-8?q?=EB=A5=BC=20=ED=86=B5=ED=95=B4=EC=84=9C=20Router=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/App.tsx | 24 ++++--------------- FE/src/AppRouter.tsx | 56 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 FE/src/AppRouter.tsx diff --git a/FE/src/App.tsx b/FE/src/App.tsx index fbc54bc..a43cfb2 100644 --- a/FE/src/App.tsx +++ b/FE/src/App.tsx @@ -1,31 +1,15 @@ -import styled from '@emotion/styled'; -import { css, Global, ThemeProvider } from '@emotion/react'; +import { Global, ThemeProvider } from '@emotion/react'; import { theme } from '@styles/theme'; import _global from '@styles/_global'; - -const EmotionStyledDiv = styled.div` - color: red; -`; +import AppRouter from '@/AppRouter'; // AppRouter를 임포트합니다. function App() { return ( -
- asdfasdfasdfasdfasdfasdfasdf - hihiHello - Worasdfasasdfasdfdflasdfasdfasdfasdasdfasdfasdfasdfasdfasdf -
- Styled with Emotion! -
-
+
); } + export default App; diff --git a/FE/src/AppRouter.tsx b/FE/src/AppRouter.tsx new file mode 100644 index 0000000..2c92bae --- /dev/null +++ b/FE/src/AppRouter.tsx @@ -0,0 +1,56 @@ +import { RouterProvider } from 'react-router-dom'; +import { createBrowserRouter, RouteObject } from 'react-router-dom'; +import LandingPage from '@/page/LandingPage'; +import InterviewSettingPage from '@page/interviewSettingPage'; +import InterviewPage from '@page/interviewPage'; +import MyPage from './page/myPage'; +import InterviewVideoPage from './page/interviewVideoPage'; +import QuestionSelectionBox from '@components/interviewSettingPage/QustionSelectionBox'; +import VideoSettingBox from './components/interviewSettingPage/VideoSettingBox'; +import RecordMethodBox from './components/interviewSettingPage/RecordMethodBox'; +import { PATH } from '@constants/path'; + +const routes: RouteObject[] = [ + { + path: PATH.ROOT, + element: , + }, + { + path: PATH.INTERVIEW, + element: , + }, + { + path: PATH.INTERVIEW_SETTING, + element: , + children: [ + { + index: true, + element: , + }, + { + path: PATH.CONNECTION, + element: , + }, + { + path: PATH.RECORD, + element: , + }, + ], + }, + { + path: PATH.MYPAGE, + element: , + }, + { + path: PATH.INTERVIEW_VIDEO, // ":videoId" is a URL parameter + element: , + }, +]; + +const router = createBrowserRouter(routes); + +const AppRouter = () => { + return ; +}; + +export default AppRouter; From 8513dd94a578848c58566155294bd4bc1c91a62d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Wed, 8 Nov 2023 00:00:26 +0900 Subject: [PATCH 27/31] =?UTF-8?q?feat:=20=EC=A4=91=EC=B2=A9=EB=90=9C=20?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=EC=97=90=EB=8C=80=ED=95=9C=20server=EC=9D=91?= =?UTF-8?q?=EB=8B=B5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/webpack.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/FE/webpack.config.js b/FE/webpack.config.js index b6b99be..fd50b45 100644 --- a/FE/webpack.config.js +++ b/FE/webpack.config.js @@ -7,6 +7,7 @@ module.exports = { devtool: process.env.production === 'true' ? 'hidden-source-map' : 'eval', entry: './src/index.tsx', output: { + publicPath: '/', path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', clean: true, From ff076c5374ccc22800b21de981e17fdcbdbf768e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=84=B1=EC=9D=B8?= Date: Wed, 8 Nov 2023 00:00:49 +0900 Subject: [PATCH 28/31] =?UTF-8?q?fix:=20Typography=20export=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/components/foundation/Typography/Typography.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/FE/src/components/foundation/Typography/Typography.tsx b/FE/src/components/foundation/Typography/Typography.tsx index 6362cf9..319d62d 100644 --- a/FE/src/components/foundation/Typography/Typography.tsx +++ b/FE/src/components/foundation/Typography/Typography.tsx @@ -11,7 +11,7 @@ type Props = { children: ReactNode; }; -export const Typography: React.FC = ({ +const Typography: React.FC = ({ component, variant = 'body1', noWrap, @@ -42,3 +42,5 @@ export const Typography: React.FC = ({ ); }; + +export default Typography; From 5e7a3af104aabb600e5efa79581cdbe560c862e7 Mon Sep 17 00:00:00 2001 From: adultlee Date: Wed, 8 Nov 2023 16:52:37 +0900 Subject: [PATCH 29/31] =?UTF-8?q?fix:=20=EB=B3=80=EC=88=98=EB=A1=9C=20?= =?UTF-8?q?=EC=9D=B8=ED=95=B4=20=EC=9E=AC=EC=82=AC=EC=9A=A9=EC=84=B1=20?= =?UTF-8?q?=ED=99=95=EB=8C=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/constants/path.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/FE/src/constants/path.ts b/FE/src/constants/path.ts index c87e505..e84b34a 100644 --- a/FE/src/constants/path.ts +++ b/FE/src/constants/path.ts @@ -1,11 +1,17 @@ +const INTERVIEW = 'interview'; +const SETTING = 'setting'; +const CONNECTION = 'connection'; +const RECORD = 'record'; +const MYPAGE = 'mypage'; + export const PATH = { ROOT: '/', - INTERVIEW: '/interview', - INTERVIEW_SETTING: '/interview/setting', - INTERVIEW_SETTING_CONNECTION: '/interview/setting/connection', - INTERVIEW_SETTING_RECORD: '/interview/setting/record', - MYPAGE: '/mypage', - CONNECTION: 'connection', - RECORD: 'record', - INTERVIEW_VIDEO: `/interview/:videoId`, + INTERVIEW: `/${INTERVIEW}`, + INTERVIEW_SETTING: `/${INTERVIEW}/${SETTING}`, + INTERVIEW_SETTING_CONNECTION: `/${INTERVIEW}/${SETTING}/${CONNECTION}`, + INTERVIEW_SETTING_RECORD: `/${INTERVIEW}/${SETTING}/${RECORD}`, + MYPAGE: `/${MYPAGE}`, + CONNECTION: `${CONNECTION}`, + RECORD: `${RECORD}`, + INTERVIEW_VIDEO: `/${INTERVIEW}/:videoId`, }; From b5e81356de3523b4a7028cfc35e92f3a02bb5075 Mon Sep 17 00:00:00 2001 From: adultlee Date: Wed, 8 Nov 2023 17:08:48 +0900 Subject: [PATCH 30/31] =?UTF-8?q?fix:=20layout=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=EB=A5=BC=20components=20=ED=95=98=EC=9C=84?= =?UTF-8?q?=20=ED=8F=B4=EB=8D=94=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FE/src/{ => components}/layout/Layout.tsx | 0 FE/tsconfig.json | 3 +-- FE/webpack.config.js | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) rename FE/src/{ => components}/layout/Layout.tsx (100%) diff --git a/FE/src/layout/Layout.tsx b/FE/src/components/layout/Layout.tsx similarity index 100% rename from FE/src/layout/Layout.tsx rename to FE/src/components/layout/Layout.tsx diff --git a/FE/tsconfig.json b/FE/tsconfig.json index b7e09ab..2575032 100644 --- a/FE/tsconfig.json +++ b/FE/tsconfig.json @@ -16,8 +16,7 @@ "@foundation/*": ["./src/components/foundation/*"], "@page/*": ["./src/page/*"], "@constants/*": ["./src/constants/*"], - "@styles/*": ["./src/styles/*"], - "@layout/*": ["./src/layout/*"] + "@styles/*": ["./src/styles/*"] } }, "include": ["src"] diff --git a/FE/webpack.config.js b/FE/webpack.config.js index fd50b45..ad3220c 100644 --- a/FE/webpack.config.js +++ b/FE/webpack.config.js @@ -29,7 +29,6 @@ module.exports = { '@page': path.resolve(__dirname, 'src/page/'), '@constants': path.resolve(__dirname, 'src/constants/'), '@styles': path.resolve(__dirname, 'src/styles/'), - '@layout': path.resolve(__dirname, 'src/layout/'), }, }, From 7c42d6a1aa1d0d38fd08bc8dac8351d4dff3d2fd Mon Sep 17 00:00:00 2001 From: adultlee Date: Wed, 8 Nov 2023 17:09:23 +0900 Subject: [PATCH 31/31] =?UTF-8?q?chore:=20layout=20=EB=9D=BC=EC=9A=B0?= =?UTF-8?q?=ED=84=B0=20=EB=B3=80=EA=B2=BD=EC=9C=BC=EB=A1=9C=20=EB=B0=9C?= =?UTF-8?q?=EC=83=9D=ED=95=9C=20=ED=8C=8C=EC=9D=BC=EB=B3=91=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interviewPage/InterViewCamera.tsx | 4 ++-- FE/src/components/interviewPage/Layout.tsx | 2 +- .../{Header.tsx => interviewHeader.tsx} | 4 ++-- .../interviewSettingPage/Layout.tsx | 2 +- .../components/interviewVideoPage/Layout.tsx | 2 +- FE/src/components/landingPage/Layout.tsx | 2 +- FE/src/components/myPage/Header.tsx | 19 +++++++++++++++++++ FE/src/components/myPage/Layout.tsx | 2 +- FE/src/page/interviewPage/index.tsx | 13 +++++++------ 9 files changed, 35 insertions(+), 15 deletions(-) rename FE/src/components/interviewPage/{Header.tsx => interviewHeader.tsx} (80%) create mode 100644 FE/src/components/myPage/Header.tsx diff --git a/FE/src/components/interviewPage/InterViewCamera.tsx b/FE/src/components/interviewPage/InterViewCamera.tsx index 9d6afa7..415d4a8 100644 --- a/FE/src/components/interviewPage/InterViewCamera.tsx +++ b/FE/src/components/interviewPage/InterViewCamera.tsx @@ -1,6 +1,6 @@ import { css } from '@emotion/react'; -const InterViewCamera: React.FC = () => { +const InterviewCamera: React.FC = () => { return (
{
); }; -export default InterViewCamera; +export default InterviewCamera; diff --git a/FE/src/components/interviewPage/Layout.tsx b/FE/src/components/interviewPage/Layout.tsx index b42a915..a0b82b1 100644 --- a/FE/src/components/interviewPage/Layout.tsx +++ b/FE/src/components/interviewPage/Layout.tsx @@ -1,4 +1,4 @@ -import Layout from '@/layout/Layout'; +import Layout from '@/components/layout/Layout'; type InterviewPageLayoutProps = { children: React.ReactNode; diff --git a/FE/src/components/interviewPage/Header.tsx b/FE/src/components/interviewPage/interviewHeader.tsx similarity index 80% rename from FE/src/components/interviewPage/Header.tsx rename to FE/src/components/interviewPage/interviewHeader.tsx index 22d2cf7..1face2f 100644 --- a/FE/src/components/interviewPage/Header.tsx +++ b/FE/src/components/interviewPage/interviewHeader.tsx @@ -1,6 +1,6 @@ import { css } from '@emotion/react'; -const InterViewHeader: React.FC = () => { +const InterviewHeader: React.FC = () => { return (
{
); }; -export default InterViewHeader; +export default InterviewHeader; diff --git a/FE/src/components/interviewSettingPage/Layout.tsx b/FE/src/components/interviewSettingPage/Layout.tsx index 86fc6e4..607696f 100644 --- a/FE/src/components/interviewSettingPage/Layout.tsx +++ b/FE/src/components/interviewSettingPage/Layout.tsx @@ -1,4 +1,4 @@ -import Layout from '@/layout/Layout'; +import Layout from '@/components/layout/Layout'; type InterviewSettingPageLayoutProps = { children: React.ReactNode; diff --git a/FE/src/components/interviewVideoPage/Layout.tsx b/FE/src/components/interviewVideoPage/Layout.tsx index 073d26d..e2487a7 100644 --- a/FE/src/components/interviewVideoPage/Layout.tsx +++ b/FE/src/components/interviewVideoPage/Layout.tsx @@ -1,4 +1,4 @@ -import Layout from '@/layout/Layout'; +import Layout from '@/components/layout/Layout'; type InterviewVideoPageLayoutProps = { children: React.ReactNode; diff --git a/FE/src/components/landingPage/Layout.tsx b/FE/src/components/landingPage/Layout.tsx index ea69d31..ebf7130 100644 --- a/FE/src/components/landingPage/Layout.tsx +++ b/FE/src/components/landingPage/Layout.tsx @@ -1,4 +1,4 @@ -import Layout from '@/layout/Layout'; +import Layout from '@/components/layout/Layout'; type LandingPageLayoutProps = { children: React.ReactNode; diff --git a/FE/src/components/myPage/Header.tsx b/FE/src/components/myPage/Header.tsx new file mode 100644 index 0000000..40d2b46 --- /dev/null +++ b/FE/src/components/myPage/Header.tsx @@ -0,0 +1,19 @@ +import { css } from '@emotion/react'; + +const MyPageHeader: React.FC = () => { + return ( +
+ My Header 입니다. +
+ ); +}; +export default MyPageHeader; diff --git a/FE/src/components/myPage/Layout.tsx b/FE/src/components/myPage/Layout.tsx index 5302c9c..b4af94d 100644 --- a/FE/src/components/myPage/Layout.tsx +++ b/FE/src/components/myPage/Layout.tsx @@ -1,4 +1,4 @@ -import Layout from '@/layout/Layout'; +import Layout from '@/components/layout/Layout'; type MyPageLayoutProps = { children: React.ReactNode; diff --git a/FE/src/page/interviewPage/index.tsx b/FE/src/page/interviewPage/index.tsx index 7fbf91d..a10f03c 100644 --- a/FE/src/page/interviewPage/index.tsx +++ b/FE/src/page/interviewPage/index.tsx @@ -1,13 +1,14 @@ import InterviewPageLayout from '@/components/interviewPage/Layout'; -import InterViewHeader from '@/components/interviewPage/Header'; -import InterViewCamera from '@/components/interviewPage/InterViewCamera'; -import InterViewFooter from '@/components/interviewPage/InterViewFooter'; +import InterviewHeader from '@/components/interviewPage/interviewHeader'; +import InterviewCamera from '@/components/interviewPage/InterviewCamera'; +import InterviewFooter from '@/components/interviewPage/InterviewFooter'; + const InterviewPage: React.FC = () => { return ( - - - + + + ); };