From 1834446f550850becf1dfe800ab025650d57b8ba Mon Sep 17 00:00:00 2001 From: SeojinSeojin <1106laura@naver.com> Date: Sat, 2 Sep 2023 09:19:21 +0900 Subject: [PATCH 01/12] feat: add google sheet api --- package.json | 1 + pnpm-lock.yaml | 181 +++++++++++++++++++++++++++++++++++++- src/pages/api/register.ts | 40 +++++++++ 3 files changed, 218 insertions(+), 4 deletions(-) create mode 100644 src/pages/api/register.ts diff --git a/package.json b/package.json index 6255de34..5823a28b 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@types/qs": "6.9.7", "axios": "^0.27.2", "classcat": "^5.0.4", + "googleapis": "126.0.0", "nanoid": "4.0.2", "next": "13.3.0", "qs": "6.11.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9b1654f..bbc3ea8e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,6 +38,7 @@ specifiers: eslint-plugin-react: ^7.30.0 eslint-plugin-react-hooks: ^4.5.0 git-cz: ^4.9.0 + googleapis: 126.0.0 husky: ^8.0.1 jest: ^28.1.0 jest-environment-jsdom: ^28.1.0 @@ -71,6 +72,7 @@ dependencies: '@types/qs': 6.9.7 axios: 0.27.2 classcat: 5.0.4 + googleapis: 126.0.0 nanoid: 4.0.2 next: 13.3.0_a6exmopoj4illbm7c6eh7topwe qs: 6.11.1 @@ -2884,6 +2886,15 @@ packages: - supports-color dev: true + /agent-base/7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + /aggregate-error/3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -3244,6 +3255,10 @@ packages: /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + /base64-js/1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + /big-integer/1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} engines: {node: '>=0.6'} @@ -3253,6 +3268,10 @@ packages: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true + /bignumber.js/9.1.1: + resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} + dev: false + /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -3313,6 +3332,10 @@ packages: node-int64: 0.4.0 dev: true + /buffer-equal-constant-time/1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + dev: false + /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true @@ -3809,6 +3832,12 @@ packages: domhandler: 5.0.3 dev: true + /ecdsa-sig-formatter/1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + dependencies: + safe-buffer: 5.2.1 + dev: false + /electron-to-chromium/1.4.210: resolution: {integrity: sha512-kSiX4tuyZijV7Cz0MWVmGT8K2siqaOA4Z66K5dCttPPRh0HicOcOAEj1KlC8O8J1aOS/1M8rGofOzksLKaHWcQ==} @@ -4436,6 +4465,10 @@ packages: jest-util: 28.1.3 dev: true + /extend/3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: false + /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -4601,6 +4634,30 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true + /gaxios/6.1.0: + resolution: {integrity: sha512-EIHuesZxNyIkUGcTQKQPMICyOpDD/bi+LJIJx+NLsSGmnS7N+xCLRX5bi4e9yAu9AlSZdVq+qlyWWVuTh/483w==} + engines: {node: '>=14'} + dependencies: + extend: 3.0.2 + https-proxy-agent: 7.0.1 + is-stream: 2.0.1 + node-fetch: 2.6.13 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /gcp-metadata/6.0.0: + resolution: {integrity: sha512-Ozxyi23/1Ar51wjUT2RDklK+3HxqDr8TLBNK8rBBFQ7T85iIGnXnVusauj06QyqCXRFZig8LZC+TUddWbndlpQ==} + engines: {node: '>=14'} + dependencies: + gaxios: 6.1.0 + json-bigint: 1.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /gensync/1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -4735,6 +4792,48 @@ packages: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true + /google-auth-library/9.0.0: + resolution: {integrity: sha512-IQGjgQoVUAfOk6khqTVMLvWx26R+yPw9uLyb1MNyMQpdKiKt0Fd9sp4NWoINjyGHR8S3iw12hMTYK7O8J07c6Q==} + engines: {node: '>=14'} + dependencies: + base64-js: 1.5.1 + ecdsa-sig-formatter: 1.0.11 + gaxios: 6.1.0 + gcp-metadata: 6.0.0 + gtoken: 7.0.1 + jws: 4.0.0 + lru-cache: 6.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /googleapis-common/7.0.0: + resolution: {integrity: sha512-58iSybJPQZ8XZNMpjrklICefuOuyJ0lMxfKmBqmaC0/xGT4SiOs4BE60LAOOGtBURy1n8fHa2X2YUNFEWWbXyQ==} + engines: {node: '>=14.0.0'} + dependencies: + extend: 3.0.2 + gaxios: 6.1.0 + google-auth-library: 9.0.0 + qs: 6.11.1 + url-template: 2.0.8 + uuid: 9.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /googleapis/126.0.0: + resolution: {integrity: sha512-BeCwYJfthEWUgY0ka7msSxyMuRwrwJTqL9yMlnuCxyy1JlRZwaI5ZVVp4ofwiGiNP9UuuR3Yk9CJKWQLg4Tq1A==} + engines: {node: '>=14.0.0'} + dependencies: + google-auth-library: 9.0.0 + googleapis-common: 7.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /gopd/1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -4749,6 +4848,17 @@ packages: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true + /gtoken/7.0.1: + resolution: {integrity: sha512-KcFVtoP1CVFtQu0aSk3AyAt2og66PFhZAlkUOuWKwzMLoulHXG5W5wE5xAnHb+yl3/wEFoqGW7/cDGMU8igDZQ==} + engines: {node: '>=14.0.0'} + dependencies: + gaxios: 6.1.0 + jws: 4.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /has-bigints/1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true @@ -4837,6 +4947,16 @@ packages: - supports-color dev: true + /https-proxy-agent/7.0.1: + resolution: {integrity: sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -5047,7 +5167,6 @@ packages: /is-stream/2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - dev: true /is-string/1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -5653,6 +5772,12 @@ packages: engines: {node: '>=4'} hasBin: true + /json-bigint/1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + dependencies: + bignumber.js: 9.1.1 + dev: false + /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -5689,6 +5814,21 @@ packages: object.assign: 4.1.2 dev: true + /jwa/2.0.0: + resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + dev: false + + /jws/4.0.0: + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} + dependencies: + jwa: 2.0.0 + safe-buffer: 5.2.1 + dev: false + /kleur/3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -5853,7 +5993,6 @@ packages: engines: {node: '>=10'} dependencies: yallist: 4.0.0 - dev: true /lz-string/1.4.4: resolution: {integrity: sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==} @@ -6053,6 +6192,18 @@ packages: - babel-plugin-macros dev: false + /node-fetch/2.6.13: + resolution: {integrity: sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + /node-int64/0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true @@ -6799,7 +6950,6 @@ packages: /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true /safe-regex-test/1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} @@ -7285,6 +7435,10 @@ packages: universalify: 0.1.2 dev: true + /tr46/0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + /tr46/3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -7504,6 +7658,15 @@ packages: webpack: 5.74.0 dev: true + /url-template/2.0.8: + resolution: {integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==} + dev: false + + /uuid/9.0.0: + resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + hasBin: true + dev: false + /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true @@ -7544,6 +7707,10 @@ packages: graceful-fs: 4.2.10 dev: true + /webidl-conversions/3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + /webidl-conversions/7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -7622,6 +7789,13 @@ packages: webidl-conversions: 7.0.0 dev: true + /whatwg-url/5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + /which-boxed-primitive/1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -7715,7 +7889,6 @@ packages: /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} diff --git a/src/pages/api/register.ts b/src/pages/api/register.ts new file mode 100644 index 00000000..d83a6696 --- /dev/null +++ b/src/pages/api/register.ts @@ -0,0 +1,40 @@ +import { NextApiRequest, NextApiResponse } from 'next'; +import { google } from 'googleapis'; + +export default async function handler(request: NextApiRequest, response: NextApiResponse) { + try { + if (request.method === 'POST') { + const resultStatus = await writeRow(request.body.email); + return response.status(200).json({ success: resultStatus === 200, resultStatus }); + } + } catch (error) { + return response.status(500).json({ error: 'Internal server error' }); + } + + return response.status(200).json({ success: true }); +} + +export const writeRow = async (email: string) => { + const now = new Date(); + const dateString = `${now.toDateString()} ${now.toTimeString()}`; + const auth = new google.auth.GoogleAuth({ + credentials: { + client_email: process.env.NEXT_GOOGLE_SHEET_CLIENT_EMAIL, + client_id: process.env.NEXT_GOOGLE_SHEET_CLIENT_ID, + private_key: process.env.NEXT_GOOGLE_SHEET_PRIVATE_KEY, + }, + scopes: ['https://www.googleapis.com/auth/spreadsheets'], + }); + // google spread sheet api 가져오기 + const googleSheet = google.sheets({ + version: 'v4', + auth, + }); + const result = await googleSheet.spreadsheets.values.append({ + spreadsheetId: '1u1gRgpx7PEKYkG8VPfqQZQ2BI5c2OHaj0UnYs5uaQ6E', + range: 'A:B', + valueInputOption: 'USER_ENTERED', + requestBody: { values: [[email, dateString]] }, + }); + return result.status; +}; From e1bebfadc6b0d7e10aed130c04f7a541a13ca115 Mon Sep 17 00:00:00 2001 From: SeojinSeojin <1106laura@naver.com> Date: Sat, 2 Sep 2023 09:21:05 +0900 Subject: [PATCH 02/12] feat: add process.env reader --- src/pages/api/register.ts | 7 ++++--- src/utils/const/googlesheet-env.ts | 13 +++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 src/utils/const/googlesheet-env.ts diff --git a/src/pages/api/register.ts b/src/pages/api/register.ts index d83a6696..da424266 100644 --- a/src/pages/api/register.ts +++ b/src/pages/api/register.ts @@ -1,4 +1,5 @@ import { NextApiRequest, NextApiResponse } from 'next'; +import { googleSheetCredential } from '@src/utils/const/googlesheet-env'; import { google } from 'googleapis'; export default async function handler(request: NextApiRequest, response: NextApiResponse) { @@ -19,9 +20,9 @@ export const writeRow = async (email: string) => { const dateString = `${now.toDateString()} ${now.toTimeString()}`; const auth = new google.auth.GoogleAuth({ credentials: { - client_email: process.env.NEXT_GOOGLE_SHEET_CLIENT_EMAIL, - client_id: process.env.NEXT_GOOGLE_SHEET_CLIENT_ID, - private_key: process.env.NEXT_GOOGLE_SHEET_PRIVATE_KEY, + client_email: googleSheetCredential.client_email, + client_id: googleSheetCredential.client_id, + private_key: googleSheetCredential.private_key, }, scopes: ['https://www.googleapis.com/auth/spreadsheets'], }); diff --git a/src/utils/const/googlesheet-env.ts b/src/utils/const/googlesheet-env.ts new file mode 100644 index 00000000..894140f9 --- /dev/null +++ b/src/utils/const/googlesheet-env.ts @@ -0,0 +1,13 @@ +export const googleSheetCredential = { + type: 'service_account', + project_id: process.env.NEXT_GOOGLE_SHEET_PROJECT_ID, + private_key_id: process.env.NEXT_GOOGLE_SHEET_PRIVATE_KEY_ID, + private_key: process.env.NEXT_GOOGLE_SHEET_PRIVATE_KEY, + client_email: process.env.NEXT_GOOGLE_SHEET_CLIENT_EMAIL, + client_id: process.env.NEXT_GOOGLE_SHEET_CLIENT_ID, + auth_uri: process.env.NEXT_GOOGLE_SHEET_AUTH_URI, + token_uri: process.env.NEXT_GOOGLE_SHEET_TOKEN_URI, + auth_provider_x509_cert_url: process.env.NEXT_GOOGLE_SHEET_AUTH_PROVIDER_X509_CERT_URL, + client_x509_cert_url: process.env.NEXT_GOOGLE_SHEET_CLIENT_X509_CERT_URL, + universe_domain: process.env.NEXT_GOOGLE_SHEET_UNIVERSE_DOMAIN, +}; From 990ed044d6bf54e4acf9a6b0fff4f7628a241e58 Mon Sep 17 00:00:00 2001 From: SeojinSeojin <1106laura@naver.com> Date: Sat, 2 Sep 2023 09:23:16 +0900 Subject: [PATCH 03/12] feat : add Recruit Page UI --- src/assets/icons/ic_email.svg | 4 + src/assets/icons/ic_facebook.svg | 9 + src/assets/icons/ic_kakao.svg | 9 + src/assets/icons/img_instagram.png | Bin 0 -> 76200 bytes .../Header/Desktop/DesktopHeader.tsx | 5 + src/components/Header/menuTapList.ts | 6 +- src/pages/recruit.tsx | 58 +----- .../FAQPage/components/faq/QuestionBox.tsx | 1 + src/views/RecruitPage/RecruitPage.tsx | 69 +++++++ .../ActivityReview/ActivityReview.tsx | 70 +++++++ .../ActivityReview/hooks/useFetch.ts | 14 ++ .../components/ActivityReview/styles.ts | 182 ++++++++++++++++ .../ActivityReview/utils/parsePartToKorean.ts | 19 ++ .../components/ChapterInfo/constants.ts | 58 ++++++ .../components/ChapterInfo/index.tsx | 98 +++++++++ .../components/Contact/constant.ts | 90 ++++++++ .../RecruitPage/components/Contact/index.tsx | 191 +++++++++++++++++ .../RecruitPage/components/FAQ/constant.ts | 102 +++++++++ .../RecruitPage/components/FAQ/index.tsx | 63 ++++++ .../components/NotificationSection/index.tsx | 194 ++++++++++++++++++ .../components/RecruteeInfo/index.tsx | 29 +++ .../RecruitPage/components/Schedule/index.tsx | 107 ++++++++++ .../components/common/Tabs/index.tsx | 110 ++++++++++ .../components/common/Tabs/style.ts | 30 +++ .../RecruitPage/components/common/styles.ts | 75 +++++++ src/views/RecruitPage/index.ts | 1 + 26 files changed, 1534 insertions(+), 60 deletions(-) create mode 100644 src/assets/icons/ic_email.svg create mode 100644 src/assets/icons/ic_facebook.svg create mode 100644 src/assets/icons/ic_kakao.svg create mode 100644 src/assets/icons/img_instagram.png create mode 100644 src/views/RecruitPage/RecruitPage.tsx create mode 100644 src/views/RecruitPage/components/ActivityReview/ActivityReview.tsx create mode 100644 src/views/RecruitPage/components/ActivityReview/hooks/useFetch.ts create mode 100644 src/views/RecruitPage/components/ActivityReview/styles.ts create mode 100644 src/views/RecruitPage/components/ActivityReview/utils/parsePartToKorean.ts create mode 100644 src/views/RecruitPage/components/ChapterInfo/constants.ts create mode 100644 src/views/RecruitPage/components/ChapterInfo/index.tsx create mode 100644 src/views/RecruitPage/components/Contact/constant.ts create mode 100644 src/views/RecruitPage/components/Contact/index.tsx create mode 100644 src/views/RecruitPage/components/FAQ/constant.ts create mode 100644 src/views/RecruitPage/components/FAQ/index.tsx create mode 100644 src/views/RecruitPage/components/NotificationSection/index.tsx create mode 100644 src/views/RecruitPage/components/RecruteeInfo/index.tsx create mode 100644 src/views/RecruitPage/components/Schedule/index.tsx create mode 100644 src/views/RecruitPage/components/common/Tabs/index.tsx create mode 100644 src/views/RecruitPage/components/common/Tabs/style.ts create mode 100644 src/views/RecruitPage/components/common/styles.ts create mode 100644 src/views/RecruitPage/index.ts diff --git a/src/assets/icons/ic_email.svg b/src/assets/icons/ic_email.svg new file mode 100644 index 00000000..154b5bee --- /dev/null +++ b/src/assets/icons/ic_email.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/ic_facebook.svg b/src/assets/icons/ic_facebook.svg new file mode 100644 index 00000000..3a13f447 --- /dev/null +++ b/src/assets/icons/ic_facebook.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/icons/ic_kakao.svg b/src/assets/icons/ic_kakao.svg new file mode 100644 index 00000000..da3892e1 --- /dev/null +++ b/src/assets/icons/ic_kakao.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/icons/img_instagram.png b/src/assets/icons/img_instagram.png new file mode 100644 index 0000000000000000000000000000000000000000..9629a728b78706f20efa1b67187b13505de7dac4 GIT binary patch literal 76200 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 Kz)P=G@yZWowrcqT@(y?go3_hsZP%U`ZSE*yX` zGD!eKQsnBTT3K6eo=h5@SGHQ7eb=S7hM?PwDuV+Mqo80(;FJN0o=!QS=xOzR>r2ru zaA%|d zYxHyZ(Wv*4f+cbAlmdyKPD!BXiT)X0zs9f|>W*kd&f}6=^+~Aujb{=!=R-N z9P;@&JkWC8j@QV;RGQhJ4R0oH$My0xN3=Q5QqhUGm95cTI?(uBNpw*1>u2C&Y?6nK zm~(x~k#EWmLrv;?ZOCzx@grIgAA&c@vGHMKlWscFf{>dyMS9KtB!B=uuRH=?9#2ydnX;Jathj)5 z9r57+62H6`rx=~GK+)5#02Tq+`!~4n$P3hz-ik~kQ}X9W32M4Yy=c^G@J<7-7pvNF z8EAK;s#CE^kDK|hFMzc>6Ht$?8=Zi#*&H+$q>Y+aDj_ULZ{Qbi7`9&4vv+=7V7~0F zI;~_9GDt+V;ME1&`UZ3xRJ`!phiy--whXQ8RhC7(nA@y8y@hXo4NwD%3Rj7FZI_$n zs@f^6zw?6)(=tkV%iGed^uxUGa1Bx)92-ZVZ8@h-){5D`63v?6!1YPu=innrCEnY<^b!|MiL{QOR2{Bk@m zQ-IfzRM`@*N}o*vT=P0aHZC<7Tag931<9i79kJ$K=blu))F)U;e9T_fi+vVuS~Qgf z9Z>zKbZ$gij3vevoBiXiI`oj;Il9B9Jfm z$`>_L`DA%gd1*M7quc*W&p(;(NzBnH4-`EGu-J<=4`)MVGZT8PqB@o%l`P#WUJ)h_ zP=mv(8cpMBd8gJhGOui;JrnDWm9+^_kIw8p>3Wa~lpCFo9DrnRWayW{9<@>7o^Ug! zN!CA`&R(wU^Ujf~7c|S>43p_dMUpIBS>F)P6~0{Z(ur3)&}g<vdV`vp++G=RkxUlelu2dcxx z)|H&n1aIwVB6*L-m7wHSKPO(^DmSK%+Qcnkqg<{!gKM%%UNVhNjd;u`Mm1ECuRL03 zReJbJW6a9UfmCG$&9b7wE89!OsJHj3d!-=M zrA}v}{lRI&O7RPgC}6m8%fBA4xmUbvhmR8eq0bXsf2 zoj;LE#ohn5Q2Wd4mWj7^?&Bv;DO`uoqsC90_GKdZ=~MMNRN?MFqngv{iog22Y410F z{*?Q)Vi>nRg_=H>I?B80$ojOG?B4hK>v2D!`;A2*iN14vX|URc9Z}V2%~Rsu5AeaG z1p-rXvXZ5C+A_BgYYo%EHAe#3^pTW!^^Cb*o2hai7=T3nwP<%sGB5{Y10-h9#Q2l6KZ8(%FkLD zHq7H?y~RY)kGD!(k`~3l+m&>3n6Mm@zqJyg#lg{^qCc;V<3hNfT`Jyn_cR9#(TL&QIh+`_e2_VDh$D~okm!tlul(RqS z5r&$Fl`_3>8BgQ^LW5MJA2Q$r1734wv1u88EC?gG^W04tRA*~88JlO!MDof=6LMN% zEx*dmaCg*93gVi#yICH&$fe?uXlSvirj8?Rc5*U6@Y9m4Wb+|A zq>!tossIg6GigqxJ;lFWbhP<6UU{EtH#Xe*3kAt@GOXW3KDZHHEoLWPuL;CvlaB+5 zZg+Og%ZI8Lb`n6NJ+o<}mX~Y(oCd=Kmoe{UYD&KE;10xco?0?3V2E;3(GzJiNldp- z_UZr<7tt+mybAYYIu*M8aU=c%To@kBFcsxB9*9n}XzHoiaakyOsdzoN9leujXigd} z65g2>O$EhJl^?oJZ;`TVzL|3dn_J{XdD?-x!-lC8ctc$($ z5`I#6V*LrUr5hU1sFaWg3UXvr0ZL?$qjTAdsWC!Qe2w(T`C;OUg}f?1QqwGyvx!ob z;6egZJ=w;cS-j`sBs1-?B+^lmmp9tP&C~Hs8q|_Q4c_R;O;tuUdC%`%h$)+Kl#Fau zu<)x|4(Y*{7w)=Y@~(b7-^LT)Sc+ISR{2dKD!L~_Jr~h`Ri6>@#1s^zvX2u_{etyP z0ivG&Kmm!K9#BA$C;-N#0p;HIiW6ZAZ*@K;}l1M0?W=N~gzMCKtr>9|&wCtLbe zg*gVk7O&-R@l3^$el6Y>kL{?!&70)M=4;b9OJsV#79Tcq>u)VPe1fU zy@{)U0Se=bl9kQ6Q6Gudt*=(TWxtZ{iqG~vq0q&&P?JZTz=<5ektS^su=NxA{( zolhmd=^to#W%UYLAGnD2{^1@xfQaw_C%!6xMn|teUseeO-ZlNw&LEoNPu)TQMQX?} zyi4z~VR$Q&+|2~p^gpf;sE?|lk2-9%z432|x% zd1`2QFT$I4+M;TQ6ve5hveSvgdlDlLZ>1el9qc<85WA$x4k-B!h1dlZrkMi&^;oZd zj6U*bd+-3H2Ru;pG^}0h#(xTmYnPbq=bQGYZQ`~7w}5u zo&kuaU%2yrQ{nOjytNZgzHpbfxf0YC*yc-ifPP_40!9G^+M=>%!JS#7@BpGSex1mZ z01eO`>#eXB@qxEph6gY`Ag7)z4Qm(QfR|u=N$)0-=BMl>$*pz^0o9rVpe+!qMXWU< zS>zUybT4^4fr6NhF15e?p`GeH`M#xS#=TpjnprhV%xHOgMS$Al4d)S4LidG@P> zov^WglFd^GC%>G#K|0-)t9~u=)ssAXE%N|+jbbRz@bVnC4qx;@2Z^3G=`Ifl3f9GW z>of49U7C(+b!gRC&{hIi=w5Q~Q34OiJ2%25V3B3PGyY5DEJ^2R;>?w|?Ty8tw}gKa zV#ht@=UE8DJ+&8Ilb+9?-@GZ|}%De_RHk*3t&t}>efaD77>aL(YpPvAcXa^_^h2^P>!{rshqPTb* zZeZSum;!}O6wmQ^8b_<#mni+C36tT+88nU>C`d+Lz`IF?tovxL*-hE+sE!$zfB<6| z^t@}wKl&AmfZ}#nREG&l`Pvde{g(FB5#-9E0BQ@t_{lf1twkY^2ai)vqebCZ8EJd0 z29ACWqMu?4(@VQP?*Ssw4p1~G0LF#kBBrEbz}(fk=fXT%GJ+-Np3zo-JmDu5xQx#W zU8xM9WPK=@@y;sSU>CEx>s(} z%3X$U0u(*1YkoWRBzea$XX=S-pip^eO-peskDY$1UcRFSa5z9B7O9(y+L>1zFWX*4?xR-*7x;NU=<0UKulTFBgg-bNUyD2D4@uqaV`(p)(>`!gp z=uYbkbzF1b0-eTBzE@HE!Tqq2itnyf5bDKjpngkRS`a|qE-OD|#GVC#{25dQ7(7fb z?E$(gaj^UK01!LVOABcSD2|c%U3gJwy#F-Rpt@}CPh|@pE^uk>uuBY4w5{iHD5|)5F^(5tbyPg2d?|!1% zl1LWDEI=4wDT~^};xw<u;}nj;dgQHIu9B) zPCm61ej4#FQuL9T&AlgI@)8<6PFmEsZ-z~nEaYctBdfyRlaVF!WAD9d#Y@O9-c=xw z!l;hh0E#AfO!|+9_{nJ_aG8F}Kmn*-P4ee0UXSNSaSbZ@B|9l20R`&mC1YU}ivbuv zL#n2i`m;Lr@{#VUj_E3T{b%-IhmMJMfZ_xZzc+x!8s8k&G@cha!G+QL+Qg#p{Ar=PRY$zw+5!%b$2rzxpmiOmvJzw*^J|_$E7m$#D)s~b(c&1Y zA-UyG=F58{Tdq|!*C`^8{bu&S*GXO;rkA#`XU+81ZfkuN{p!B!u|vm=c7S3Vh~GV| zX*@4D``^VFt&N^eJ>ZxFhoh0RG|s{(vz10O%yVF|skM>P^6obQj5(m_Y3=h2MfKJw z9H2NJYZPDuMro=lQ|a-4Ldf_N=y6JHW7w zv;!2U01fLKM*>(7zASW-9z>pi5j@TlY$x_vEm8hf@yV$ddp{+2lkj6D+92#`ED1|I z<33uz*Z?Rd7qgAOdxS@FqgW}t)_EWc1~wfR9MA#^R^e;x4dK`GdUbPHHMxF;U@csF zU@vy)q|pvgoWdjks5EdY4;u8OP6BDQaHtE2Pp36#Ft)tM!1}TU1y!!-yc}5=?q#AZqTmNaK^po;LQDJ zZ=G?^nX5Aou5e_)L9unVgrE9^V}p5A+FUAEt> zqKq7`zugtu)amKywvRdQjk!N)$=(Ia=?;UsUOc&ih>Hi0*HXof@*?PwS0000` diff --git a/src/components/Header/menuTapList.ts b/src/components/Header/menuTapList.ts index 46d9a797..98ee20dd 100644 --- a/src/components/Header/menuTapList.ts +++ b/src/components/Header/menuTapList.ts @@ -33,8 +33,8 @@ export const menuTapList: MenuTapList = [ href: '/sponsor', }, { - type: MenuTapType.Anchor, - title: '지원하기', - href: 'https://sopt-recruiting.web.app/recruiting/apply/ob', + type: MenuTapType.Router, + title: '리크루팅', + href: '/recruit', }, ]; diff --git a/src/pages/recruit.tsx b/src/pages/recruit.tsx index bdb2951a..33a6cb94 100644 --- a/src/pages/recruit.tsx +++ b/src/pages/recruit.tsx @@ -1,57 +1 @@ -import styled from '@emotion/styled'; -import Image from 'next/image'; -import { useRouter } from 'next/router'; -import Sopt404 from '@src/assets/images/sopt_404.png'; -import { Header } from '@src/components'; -import RoundButton from '@src/components/common/RoundButton'; -import theme from '@src/styles/theme'; - -function Recruit() { - const router = useRouter(); - const handleClick = () => { - router.push('/'); - }; - - return ( - <> -
- - SOPT - 아직 지원 기간이 아니에요! - - 홈으로 가기 - - - - ); -} - -export default Recruit; - -const Styled = { - Root: styled.section` - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: 100%; - height: 100vh; - - & span { - margin-top: 99px; - margin-bottom: 99px; - line-height: 56px; - color: ${theme.colors.soptWhite}; - font-size: 45px; - font-weight: 400; - font-style: normal; - } - `, -}; +export { default } from '@src/views/RecruitPage'; diff --git a/src/views/FAQPage/components/faq/QuestionBox.tsx b/src/views/FAQPage/components/faq/QuestionBox.tsx index 7d7fbfbb..9cab8334 100644 --- a/src/views/FAQPage/components/faq/QuestionBox.tsx +++ b/src/views/FAQPage/components/faq/QuestionBox.tsx @@ -74,6 +74,7 @@ const Styled = { `, QuestionWrapper: styled.div<{ isOpened: boolean }>` display: flex; + align-items: center; justify-content: space-between; /* align-items: center; */ margin-bottom: ${({ isOpened }) => (isOpened ? '37px' : '0')}; diff --git a/src/views/RecruitPage/RecruitPage.tsx b/src/views/RecruitPage/RecruitPage.tsx new file mode 100644 index 00000000..f8256482 --- /dev/null +++ b/src/views/RecruitPage/RecruitPage.tsx @@ -0,0 +1,69 @@ +import styled from '@emotion/styled'; +import { Footer, Header, Layout, ScrollToTopButton } from '@src/components'; +import { ActivityReview } from './components/ActivityReview/ActivityReview'; +import ChapterInfo from './components/ChapterInfo'; +import Contact from './components/Contact'; +import FaqInfo from './components/FAQ'; +import NotificationSection from './components/NotificationSection'; +import RecruiteeInfo from './components/RecruteeInfo'; +import Schedule from './components/Schedule'; + +function Recruit() { + return ( + +
+ + + + + + + + + + + + +