From d42e530e589c5b1e7e0d679bddce2e773278ee25 Mon Sep 17 00:00:00 2001 From: Ethen1264 Date: Wed, 16 Oct 2024 11:00:58 +0900 Subject: [PATCH 001/270] =?UTF-8?q?=E2=9C=A8Add:=20readme=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 39 ++++++++++++--------------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index e215bc4..2e59852 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,21 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). +## How to Clone? -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev +``` + git clone https://github.com/School-of-Company/Expo-Client.git ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. - -## Learn More +## Contributing -To learn more about Next.js, take a look at the following resources: +- 버그 제보: [이슈 트래커](https://github.com/School-of-Company/Expo-Client/issues)에 제보할 버그를 작성합니다. +- 기능 제안: [이슈 트래커](https://github.com/School-of-Company/Expo-Client/issues)에 제안하고 싶은 기능을 작성합니다. +- 코드 기여: GitHub에서 코드를 Fork하고, Pull Request를 보냅니다. -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +## Node Version -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! +### Dependencies -## Deploy on Vercel +> [@tanstack/react-query](https://www.npmjs.com/package/@tanstack/react-query) ^5.59.14
> [axios](https://www.npmjs.com/package/axios) ^1.7.7
> [next](https://www.npmjs.com/package/next) 14.2.15
> [react](https://www.npmjs.com/package/react) ^18
> [react-dom](https://www.npmjs.com/package/react-dom) ^18
> [react-toastify](https://www.npmjs.com/package/react-toastify) ^10.0.6
> [tailwindcss-animate](https://www.npmjs.com/package/tailwindcss-animate) ^1.0.7
> [zustand](https://www.npmjs.com/package/zustand) ^5.0.0 -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. +### DevDependencies -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. +> [@chromatic-com/storybook](https://www.npmjs.com/package/@chromatic-com/storybook) ^1.9.0
> [@storybook/addon-essentials](https://www.npmjs.com/package/@storybook/addon-essentials) ^8.3.5
> [@storybook/addon-interactions](https://www.npmjs.com/package/@storybook/addon-interactions) ^8.3.5
> [@storybook/addon-links](https://www.npmjs.com/package/@storybook/addon-links) ^8.3.5
> [@storybook/addon-onboarding](https://www.npmjs.com/package/@storybook/addon-onboarding) ^8.3.5
> [@storybook/blocks](https://www.npmjs.com/package/@storybook/blocks) ^8.3.5
> [@storybook/nextjs](https://www.npmjs.com/package/@storybook/nextjs) ^8.3.5
> [@storybook/react](https://www.npmjs.com/package/@storybook/react) ^8.3.5
> [@storybook/test](https://www.npmjs.com/package/@storybook/test) ^8.3.5
> [@types/node](https://www.npmjs.com/package/@types/node) ^20
> [@types/react](https://www.npmjs.com/package/@types/react) ^18
> [@types/react-dom](https://www.npmjs.com/package/@types/react-dom) ^18
> [@typescript-eslint/eslint-plugin](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin) ^7.18.0
> [@typescript-eslint/parser](https://www.npmjs.com/package/@typescript-eslint/parser) ^7.18.0
> [eslint](https://www.npmjs.com/package/eslint) ^8.57.1
> [eslint-config-airbnb-typescript](https://www.npmjs.com/package/eslint-config-airbnb-typescript) ^18.0.0
> [eslint-config-next](https://www.npmjs.com/package/eslint-config-next) 14.2.15
> [eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier) ^9.1.0
> [eslint-import-resolver-alias](https://www.npmjs.com/package/eslint-import-resolver-alias) ^1.1.2
> [eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier) ^5.2.1
> [eslint-plugin-storybook](https://www.npmjs.com/package/eslint-plugin-storybook) ^0.9.0
> [husky](https://www.npmjs.com/package/husky) ^9.1.6
> [lint-staged](https://www.npmjs.com/package/lint-staged) ^15.2.10
> [postcss](https://www.npmjs.com/package/postcss) ^8
> [prettier](https://www.npmjs.com/package/prettier) ^3.3.3
> [prettier-plugin-tailwindcss](https://www.npmjs.com/package/prettier-plugin-tailwindcss) ^0.6.8
> [storybook](https://www.npmjs.com/package/storybook) ^8.3.5
> [tailwindcss](https://www.npmjs.com/package/tailwindcss) ^3.4.1
> [typescript](https://www.npmjs.com/package/typescript) ^5.4.2 From f25273795f8e934ae49d2a03a551f92899a829c0 Mon Sep 17 00:00:00 2001 From: Ethen1264 Date: Wed, 16 Oct 2024 11:07:07 +0900 Subject: [PATCH 002/270] =?UTF-8?q?=F0=9F=93=9DFix:=20readme=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2e59852..e74d600 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,8 @@ ### Dependencies -> [@tanstack/react-query](https://www.npmjs.com/package/@tanstack/react-query) ^5.59.14
> [axios](https://www.npmjs.com/package/axios) ^1.7.7
> [next](https://www.npmjs.com/package/next) 14.2.15
> [react](https://www.npmjs.com/package/react) ^18
> [react-dom](https://www.npmjs.com/package/react-dom) ^18
> [react-toastify](https://www.npmjs.com/package/react-toastify) ^10.0.6
> [tailwindcss-animate](https://www.npmjs.com/package/tailwindcss-animate) ^1.0.7
> [zustand](https://www.npmjs.com/package/zustand) ^5.0.0 +> [@tanstack/react-query](https://www.npmjs.com/package/@tanstack/react-query) ^5.59.14
[axios](https://www.npmjs.com/package/axios) ^1.7.7
[next](https://www.npmjs.com/package/next) 14.2.15
[react](https://www.npmjs.com/package/react) ^18
[react-dom](https://www.npmjs.com/package/react-dom) ^18
[react-toastify](https://www.npmjs.com/package/react-toastify) ^10.0.6
[tailwindcss-animate](https://www.npmjs.com/package/tailwindcss-animate) ^1.0.7
[zustand](https://www.npmjs.com/package/zustand) ^5.0.0 ### DevDependencies -> [@chromatic-com/storybook](https://www.npmjs.com/package/@chromatic-com/storybook) ^1.9.0
> [@storybook/addon-essentials](https://www.npmjs.com/package/@storybook/addon-essentials) ^8.3.5
> [@storybook/addon-interactions](https://www.npmjs.com/package/@storybook/addon-interactions) ^8.3.5
> [@storybook/addon-links](https://www.npmjs.com/package/@storybook/addon-links) ^8.3.5
> [@storybook/addon-onboarding](https://www.npmjs.com/package/@storybook/addon-onboarding) ^8.3.5
> [@storybook/blocks](https://www.npmjs.com/package/@storybook/blocks) ^8.3.5
> [@storybook/nextjs](https://www.npmjs.com/package/@storybook/nextjs) ^8.3.5
> [@storybook/react](https://www.npmjs.com/package/@storybook/react) ^8.3.5
> [@storybook/test](https://www.npmjs.com/package/@storybook/test) ^8.3.5
> [@types/node](https://www.npmjs.com/package/@types/node) ^20
> [@types/react](https://www.npmjs.com/package/@types/react) ^18
> [@types/react-dom](https://www.npmjs.com/package/@types/react-dom) ^18
> [@typescript-eslint/eslint-plugin](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin) ^7.18.0
> [@typescript-eslint/parser](https://www.npmjs.com/package/@typescript-eslint/parser) ^7.18.0
> [eslint](https://www.npmjs.com/package/eslint) ^8.57.1
> [eslint-config-airbnb-typescript](https://www.npmjs.com/package/eslint-config-airbnb-typescript) ^18.0.0
> [eslint-config-next](https://www.npmjs.com/package/eslint-config-next) 14.2.15
> [eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier) ^9.1.0
> [eslint-import-resolver-alias](https://www.npmjs.com/package/eslint-import-resolver-alias) ^1.1.2
> [eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier) ^5.2.1
> [eslint-plugin-storybook](https://www.npmjs.com/package/eslint-plugin-storybook) ^0.9.0
> [husky](https://www.npmjs.com/package/husky) ^9.1.6
> [lint-staged](https://www.npmjs.com/package/lint-staged) ^15.2.10
> [postcss](https://www.npmjs.com/package/postcss) ^8
> [prettier](https://www.npmjs.com/package/prettier) ^3.3.3
> [prettier-plugin-tailwindcss](https://www.npmjs.com/package/prettier-plugin-tailwindcss) ^0.6.8
> [storybook](https://www.npmjs.com/package/storybook) ^8.3.5
> [tailwindcss](https://www.npmjs.com/package/tailwindcss) ^3.4.1
> [typescript](https://www.npmjs.com/package/typescript) ^5.4.2 +> [@chromatic-com/storybook](https://www.npmjs.com/package/@chromatic-com/storybook) ^1.9.0
[@storybook/addon-essentials](https://www.npmjs.com/package/@storybook/addon-essentials) ^8.3.5
[@storybook/addon-interactions](https://www.npmjs.com/package/@storybook/addon-interactions) ^8.3.5
[@storybook/addon-links](https://www.npmjs.com/package/@storybook/addon-links) ^8.3.5
[@storybook/addon-onboarding](https://www.npmjs.com/package/@storybook/addon-onboarding) ^8.3.5
[@storybook/blocks](https://www.npmjs.com/package/@storybook/blocks) ^8.3.5
[@storybook/nextjs](https://www.npmjs.com/package/@storybook/nextjs) ^8.3.5
[@storybook/react](https://www.npmjs.com/package/@storybook/react) ^8.3.5
[@storybook/test](https://www.npmjs.com/package/@storybook/test) ^8.3.5
[@types/node](https://www.npmjs.com/package/@types/node) ^20
[@types/react](https://www.npmjs.com/package/@types/react) ^18
[@types/react-dom](https://www.npmjs.com/package/@types/react-dom) ^18
[@typescript-eslint/eslint-plugin](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin) ^7.18.0
[@typescript-eslint/parser](https://www.npmjs.com/package/@typescript-eslint/parser) ^7.18.0
[eslint](https://www.npmjs.com/package/eslint) ^8.57.1
[eslint-config-airbnb-typescript](https://www.npmjs.com/package/eslint-config-airbnb-typescript) ^18.0.0
[eslint-config-next](https://www.npmjs.com/package/eslint-config-next) 14.2.15
[eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier) ^9.1.0
[eslint-import-resolver-alias](https://www.npmjs.com/package/eslint-import-resolver-alias) ^1.1.2
[eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier) ^5.2.1
[eslint-plugin-storybook](https://www.npmjs.com/package/eslint-plugin-storybook) ^0.9.0
[husky](https://www.npmjs.com/package/husky) ^9.1.6
[lint-staged](https://www.npmjs.com/package/lint-staged) ^15.2.10
[postcss](https://www.npmjs.com/package/postcss) ^8
[prettier](https://www.npmjs.com/package/prettier) ^3.3.3
[prettier-plugin-tailwindcss](https://www.npmjs.com/package/prettier-plugin-tailwindcss) ^0.6.8
[storybook](https://www.npmjs.com/package/storybook) ^8.3.5
[tailwindcss](https://www.npmjs.com/package/tailwindcss) ^3.4.1
[typescript](https://www.npmjs.com/package/typescript) ^5.4.2 From ec47ea1778aecd9c3d079b479b49e30417ea9ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=ED=83=9C=EA=B4=80?= <129300121+Ethen1264@users.noreply.github.com> Date: Thu, 17 Oct 2024 15:17:11 +0900 Subject: [PATCH 003/270] =?UTF-8?q?=F0=9F=91=B7Add:=20github=20action=20ci?= =?UTF-8?q?=20=EC=A0=9C=EC=9E=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/node.js.yml | 52 +++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/node.js.yml diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml new file mode 100644 index 0000000..b25a318 --- /dev/null +++ b/.github/workflows/node.js.yml @@ -0,0 +1,52 @@ +name: Expo_Client CI + +on: + pull_request: + branches: + - 'develop' + - 'main' + +jobs: + Expo_Client_CI: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: npm run build --if-present + - run: npm test + + - name: Success Discord Notification + uses: sarisia/actions-status-discord@v1.11.0 + if: ${{ success() }} + with: + webhook: ${{ secrets.WEBHOOK_CI }} + title: "🎉 Expo Client CI 🐿" + description: "CI success" + status: ${{ job.status }} + content: "<@${{ secrets.ID1 }}> <@${{ secrets.ID2 }}> <@${{ secrets.ID3 }}> <@${{ secrets.ID4 }}>\n확인해주세요." + username: Expo Client CI bot + url: "https://github.com/School-of-Company/Expo-Client" + color: 4CAF50 + + - name: Failure notification to discord + uses: sarisia/actions-status-discord@v1.11.0 + if: failure() + with: + webhook: ${{ secrets.WEBHOOK_CI }} + title: "❌ Expo Client CI 🐿" + description: "CI failed" + content: "안돼 안바꿔줘 돌아가" + status: ${{ job.status }} + username: Expo Client CI bot + url: "https://github.com/School-of-Company/Expo-Client" + color: e74c3c From aa9b5135ea0a89e2d21d6dafa290f16020354a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=ED=83=9C=EA=B4=80?= <129300121+Ethen1264@users.noreply.github.com> Date: Thu, 17 Oct 2024 15:28:32 +0900 Subject: [PATCH 004/270] =?UTF-8?q?=08=F0=9F=92=9A=20Fix:=20github=20CI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/node.js.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index b25a318..3ed857a 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -21,9 +21,12 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: 'npm' - - run: npm ci - - run: npm run build --if-present - - run: npm test + + - name: Install dependencies + run: npm install + + - name: Run Next.js build + run: npm run build - name: Success Discord Notification uses: sarisia/actions-status-discord@v1.11.0 From 39515df6dd1cbe2ddb6918a0fbbf97246eaa1d50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=ED=83=9C=EA=B4=80?= <129300121+Ethen1264@users.noreply.github.com> Date: Thu, 17 Oct 2024 15:39:43 +0900 Subject: [PATCH 005/270] Update node.js.yml --- .github/workflows/node.js.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 3ed857a..2c437a4 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -33,10 +33,10 @@ jobs: if: ${{ success() }} with: webhook: ${{ secrets.WEBHOOK_CI }} - title: "🎉 Expo Client CI 🐿" + title: "🎉 Expo Client CI" description: "CI success" status: ${{ job.status }} - content: "<@${{ secrets.ID1 }}> <@${{ secrets.ID2 }}> <@${{ secrets.ID3 }}> <@${{ secrets.ID4 }}>\n확인해주세요." + content: "<@${{ secrets.ID1 }}> <@${{ secrets.ID2 }}>\n확인해주세요." username: Expo Client CI bot url: "https://github.com/School-of-Company/Expo-Client" color: 4CAF50 @@ -46,7 +46,7 @@ jobs: if: failure() with: webhook: ${{ secrets.WEBHOOK_CI }} - title: "❌ Expo Client CI 🐿" + title: "❌ Expo Client CI" description: "CI failed" content: "안돼 안바꿔줘 돌아가" status: ${{ job.status }} From 99095a7187582c8902ba0591ffd8779ca4ee294b Mon Sep 17 00:00:00 2001 From: Ethen1264 Date: Tue, 22 Oct 2024 09:14:46 +0900 Subject: [PATCH 006/270] =?UTF-8?q?=F0=9F=8E=A8Add:=20setting=20icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/ArrowDown.tsx | 20 ++++++++++++++ src/assets/icons/ArrowLeft.tsx | 20 ++++++++++++++ src/assets/icons/ArrowRight.tsx | 20 ++++++++++++++ src/assets/icons/ArrowUp.tsx | 20 ++++++++++++++ src/assets/icons/Clock.tsx | 20 ++++++++++++++ src/assets/icons/Filter.tsx | 20 ++++++++++++++ src/assets/icons/Museum.tsx | 20 ++++++++++++++ src/assets/icons/Person.tsx | 20 ++++++++++++++ src/assets/icons/Picture.tsx | 20 ++++++++++++++ src/assets/icons/QuestionMark.tsx | 20 ++++++++++++++ src/assets/icons/Search.tsx | 20 ++++++++++++++ src/assets/icons/Setting.tsx | 20 ++++++++++++++ src/assets/icons/XMark.tsx | 20 ++++++++++++++ src/assets/icons/index.mdx | 45 +++++++++++++++++++++++++++++++ src/assets/icons/index.tsx | 13 +++++++++ 15 files changed, 318 insertions(+) create mode 100644 src/assets/icons/ArrowDown.tsx create mode 100644 src/assets/icons/ArrowLeft.tsx create mode 100644 src/assets/icons/ArrowRight.tsx create mode 100644 src/assets/icons/ArrowUp.tsx create mode 100644 src/assets/icons/Clock.tsx create mode 100644 src/assets/icons/Filter.tsx create mode 100644 src/assets/icons/Museum.tsx create mode 100644 src/assets/icons/Person.tsx create mode 100644 src/assets/icons/Picture.tsx create mode 100644 src/assets/icons/QuestionMark.tsx create mode 100644 src/assets/icons/Search.tsx create mode 100644 src/assets/icons/Setting.tsx create mode 100644 src/assets/icons/XMark.tsx create mode 100644 src/assets/icons/index.mdx create mode 100644 src/assets/icons/index.tsx diff --git a/src/assets/icons/ArrowDown.tsx b/src/assets/icons/ArrowDown.tsx new file mode 100644 index 0000000..a010200 --- /dev/null +++ b/src/assets/icons/ArrowDown.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const ArrowDown = () => { + return ( + + + + ); +}; + +export default ArrowDown; diff --git a/src/assets/icons/ArrowLeft.tsx b/src/assets/icons/ArrowLeft.tsx new file mode 100644 index 0000000..faf7186 --- /dev/null +++ b/src/assets/icons/ArrowLeft.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const ArrowLeft = () => { + return ( + + + + ); +}; + +export default ArrowLeft; diff --git a/src/assets/icons/ArrowRight.tsx b/src/assets/icons/ArrowRight.tsx new file mode 100644 index 0000000..0198602 --- /dev/null +++ b/src/assets/icons/ArrowRight.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const ArrowRight = () => { + return ( + + + + ); +}; + +export default ArrowRight; diff --git a/src/assets/icons/ArrowUp.tsx b/src/assets/icons/ArrowUp.tsx new file mode 100644 index 0000000..590e89d --- /dev/null +++ b/src/assets/icons/ArrowUp.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const ArrowUp = () => { + return ( + + + + ); +}; + +export default ArrowUp; diff --git a/src/assets/icons/Clock.tsx b/src/assets/icons/Clock.tsx new file mode 100644 index 0000000..ebfa8f5 --- /dev/null +++ b/src/assets/icons/Clock.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const Clock = () => { + return ( + + + + ); +}; + +export default Clock; diff --git a/src/assets/icons/Filter.tsx b/src/assets/icons/Filter.tsx new file mode 100644 index 0000000..a68907b --- /dev/null +++ b/src/assets/icons/Filter.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const Filter = () => { + return ( + + + + ); +}; + +export default Filter; diff --git a/src/assets/icons/Museum.tsx b/src/assets/icons/Museum.tsx new file mode 100644 index 0000000..2b68a98 --- /dev/null +++ b/src/assets/icons/Museum.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const Museum = () => { + return ( + + + + ); +}; + +export default Museum; diff --git a/src/assets/icons/Person.tsx b/src/assets/icons/Person.tsx new file mode 100644 index 0000000..8ea3063 --- /dev/null +++ b/src/assets/icons/Person.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const Person = () => { + return ( + + + + ); +}; + +export default Person; diff --git a/src/assets/icons/Picture.tsx b/src/assets/icons/Picture.tsx new file mode 100644 index 0000000..ebbc487 --- /dev/null +++ b/src/assets/icons/Picture.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const Picture = () => { + return ( + + + + ); +}; + +export default Picture; diff --git a/src/assets/icons/QuestionMark.tsx b/src/assets/icons/QuestionMark.tsx new file mode 100644 index 0000000..74d0a2a --- /dev/null +++ b/src/assets/icons/QuestionMark.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const QuestionMark = () => { + return ( + + + + ); +}; + +export default QuestionMark; diff --git a/src/assets/icons/Search.tsx b/src/assets/icons/Search.tsx new file mode 100644 index 0000000..0697d95 --- /dev/null +++ b/src/assets/icons/Search.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const Search = () => { + return ( + + + + ); +}; + +export default Search; diff --git a/src/assets/icons/Setting.tsx b/src/assets/icons/Setting.tsx new file mode 100644 index 0000000..db8d1fd --- /dev/null +++ b/src/assets/icons/Setting.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const Setting = () => { + return ( + + + + ); +}; + +export default Setting; diff --git a/src/assets/icons/XMark.tsx b/src/assets/icons/XMark.tsx new file mode 100644 index 0000000..64d9f21 --- /dev/null +++ b/src/assets/icons/XMark.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const XMark = () => { + return ( + + + + ); +}; + +export default XMark; diff --git a/src/assets/icons/index.mdx b/src/assets/icons/index.mdx new file mode 100644 index 0000000..7f50e01 --- /dev/null +++ b/src/assets/icons/index.mdx @@ -0,0 +1,45 @@ +import { + QuestionMark, + Clock, + Filter, + Person, + Setting, + Search, + Picture, + Museum, + ArrowDown, + ArrowRight, + ArrowUp, + ArrowLeft, + XMark, +} from './index'; + +### EXPO + +# Icons + +
+ + + + + + + + + + + + + +
diff --git a/src/assets/icons/index.tsx b/src/assets/icons/index.tsx new file mode 100644 index 0000000..e7c3197 --- /dev/null +++ b/src/assets/icons/index.tsx @@ -0,0 +1,13 @@ +export { default as QuestionMark } from './QuestionMark'; +export { default as Clock } from './Clock'; +export { default as Filter } from './Filter'; +export { default as Person } from './Person'; +export { default as Setting } from './Setting'; +export { default as Search } from './Search'; +export { default as Picture } from './Picture'; +export { default as Museum } from './Museum'; +export { default as ArrowDown } from './ArrowDown'; +export { default as ArrowRight } from './ArrowRight'; +export { default as ArrowUp } from './ArrowUp'; +export { default as ArrowLeft } from './ArrowLeft'; +export { default as XMark } from './XMark'; From 9f427e030ef28d32b8c783ebcc343ea8ae44be66 Mon Sep 17 00:00:00 2001 From: Ethen1264 Date: Tue, 22 Oct 2024 09:42:26 +0900 Subject: [PATCH 007/270] =?UTF-8?q?=F0=9F=8E=A8Add:=20taillwind-color?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/styles/globals.css | 23 +++++++++++++ tailwind.config.ts | 74 ++++++++++-------------------------------- 2 files changed, 41 insertions(+), 56 deletions(-) diff --git a/src/styles/globals.css b/src/styles/globals.css index 6da8b1a..d2b33fe 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -2,6 +2,29 @@ @tailwind components; @tailwind utilities; +:root { + --color-gray-100: #e9e9e9; + --color-gray-200: #d3d3d3; + --color-gray-300: #bdbdbd; + --color-gray-400: #a7a7a7; + --color-gray-500: #909090; + --color-gray-600: #7a7a7a; + --color-gray-700: #646464; + --color-gray-800: #4e4e4e; + --color-gray-900: #383838; + + --color-main-100: #e0ecff; + --color-main-200: #c1daff; + --color-main-300: #a2c7ff; + --color-main-400: #82b4ff; + --color-main-500: #63a2ff; + --color-main-600: #448fff; + + --color-black: #121212; + --color-white: #ffffff; + --color-error: #df454a; +} + html, body, div, diff --git a/tailwind.config.ts b/tailwind.config.ts index 4081dff..0f9ea13 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,7 +1,6 @@ import type { Config } from 'tailwindcss'; const config: Config = { - darkMode: ['class'], content: [ './src/pages/**/*.{js,ts,jsx,tsx,mdx}', './src/components/**/*.{js,ts,jsx,tsx,mdx}', @@ -13,65 +12,28 @@ const config: Config = { extend: { colors: { gray: { - '100': '#212125', - '200': '#333338', - '300': '#51515A', - '450': '#74747F', - '600': '#9F9FA8', - '800': '#CFCFD3', - '900': '#E7E7E9', + '100': 'var(--color-gray-100)', + '200': 'var(--color-gray-200)', + '300': 'var(--color-gray-300)', + '400': 'var(--color-gray-400)', + '500': 'var(--color-gray-500)', + '600': 'var(--color-gray-600)', + '700': 'var(--color-gray-700)', + '800': 'var(--color-gray-800)', + '900': 'var(--color-gray-900)', }, main: { - '300': '#71A617', - '400': '#8DCE1C', - '500': '#A4E335', - '600': '#C8EE86', - '800': '#DAF4AE', + '100': 'var(--color-main-100)', + '200': 'var(--color-main-200)', + '300': 'var(--color-main-300)', + '400': 'var(--color-main-400)', + '500': 'var(--color-main-500)', + '600': 'var(--color-main-600)', }, transparent: 'transparent', - black: '#1C1C1F', - white: '#ffffff', - error: '#DF454A', - background: 'hsl(var(--background))', - foreground: 'hsl(var(--foreground))', - card: { - DEFAULT: 'hsl(var(--card))', - foreground: 'hsl(var(--card-foreground))', - }, - popover: { - DEFAULT: 'hsl(var(--popover))', - foreground: 'hsl(var(--popover-foreground))', - }, - primary: { - DEFAULT: 'hsl(var(--primary))', - foreground: 'hsl(var(--primary-foreground))', - }, - secondary: { - DEFAULT: 'hsl(var(--secondary))', - foreground: 'hsl(var(--secondary-foreground))', - }, - muted: { - DEFAULT: 'hsl(var(--muted))', - foreground: 'hsl(var(--muted-foreground))', - }, - accent: { - DEFAULT: 'hsl(var(--accent))', - foreground: 'hsl(var(--accent-foreground))', - }, - destructive: { - DEFAULT: 'hsl(var(--destructive))', - foreground: 'hsl(var(--destructive-foreground))', - }, - border: 'hsl(var(--border))', - input: 'hsl(var(--input))', - ring: 'hsl(var(--ring))', - chart: { - '1': 'hsl(var(--chart-1))', - '2': 'hsl(var(--chart-2))', - '3': 'hsl(var(--chart-3))', - '4': 'hsl(var(--chart-4))', - '5': 'hsl(var(--chart-5))', - }, + black: 'var(--color-black)', + white: 'var(--color-white)', + error: 'var(--color-error)', }, fontFamily: { Pretendard: ['Pretendard'], From fffb9e43950910a1cad91d8e6ca097030a320ee1 Mon Sep 17 00:00:00 2001 From: Ethen1264 Date: Tue, 22 Oct 2024 09:58:45 +0900 Subject: [PATCH 008/270] =?UTF-8?q?=F0=9F=8E=A8Add:=20font=20setting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tailwind.config.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/tailwind.config.ts b/tailwind.config.ts index 0f9ea13..7013433 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -39,15 +39,19 @@ const config: Config = { Pretendard: ['Pretendard'], }, fontSize: { - h1: ['3rem', { lineHeight: '3.625rem', fontWeight: '600' }], - h2: ['2.25rem', { lineHeight: '2.6875rem', fontWeight: '600' }], - h3: ['1.5rem', { lineHeight: '1.9375rem', fontWeight: '600' }], - h4: ['1.125rem', { lineHeight: '1.6875rem', fontWeight: '600' }], - h5: ['1rem', { lineHeight: '1.5rem', fontWeight: '600' }], - body1: ['1rem', { lineHeight: '1.75rem', fontWeight: '400' }], - body2: ['1rem', { lineHeight: '1.5rem', fontWeight: '400' }], - body3: ['0.875rem', { lineHeight: '1.25rem', fontWeight: '400' }], - label: ['0.75rem', { lineHeight: '1.125rem', fontWeight: '400' }], + h1: ['1.875rem', { lineHeight: '2.25rem', fontWeight: '500' }], + h2: ['1.5rem', { lineHeight: '1.8rem', fontWeight: '600' }], + h3: ['1.5rem', { lineHeight: '1.8rem', fontWeight: '400' }], + h4: ['1.25rem', { lineHeight: '1.5rem', fontWeight: '600' }], + h5: ['1.25rem', { lineHeight: '1.5rem', fontWeight: '400' }], + body1: ['1.125rem', { lineHeight: '1.35rem', fontWeight: '600' }], + body2: ['1.125rem', { lineHeight: '1.35rem', fontWeight: '400' }], + body3: ['1rem', { lineHeight: '1.2rem', fontWeight: '600' }], + body4: ['1rem', { lineHeight: '1.2rem', fontWeight: '400' }], + caption1: ['0.875rem', { lineHeight: '1.225rem', fontWeight: '600' }], + caption2: ['0.875rem', { lineHeight: '1.225rem', fontWeight: '400' }], + caption3: ['0.75rem', { lineHeight: '1.05rem', fontWeight: '600' }], + caption4: ['0.75rem', { lineHeight: '1.05rem', fontWeight: '400' }], }, spacing: { '0': '0', From 00f7e14c676f3be555b2f4447fbba453f606826f Mon Sep 17 00:00:00 2001 From: Ethen1264 Date: Wed, 23 Oct 2024 17:13:20 +0900 Subject: [PATCH 009/270] =?UTF-8?q?=F0=9F=8E=A8Add:=20header=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/(pages)/admin/page.tsx | 12 ++++++ src/app/(pages)/create-exhibition/page.tsx | 12 ++++++ src/app/(pages)/participants/page.tsx | 12 ++++++ src/app/page.tsx | 22 +--------- src/assets/icons/Calendar.tsx | 24 +++++++++++ src/assets/icons/Home.tsx | 20 +++++++++ src/assets/icons/Museum.tsx | 8 +++- src/assets/icons/Person.tsx | 8 +++- src/assets/icons/index.mdx | 4 ++ src/assets/icons/index.tsx | 2 + src/assets/index.tsx | 0 src/assets/svg/Logo.tsx | 32 ++++++++++++++ src/assets/svg/index.tsx | 1 + src/components/button/index.stories.ts | 22 ---------- src/components/button/index.tsx | 7 --- src/components/common/Header/index.tsx | 50 ++++++++++++++++++++++ src/styles/globals.css | 3 ++ 17 files changed, 186 insertions(+), 53 deletions(-) create mode 100644 src/app/(pages)/admin/page.tsx create mode 100644 src/app/(pages)/create-exhibition/page.tsx create mode 100644 src/app/(pages)/participants/page.tsx create mode 100644 src/assets/icons/Calendar.tsx create mode 100644 src/assets/icons/Home.tsx delete mode 100644 src/assets/index.tsx create mode 100644 src/assets/svg/Logo.tsx create mode 100644 src/assets/svg/index.tsx delete mode 100644 src/components/button/index.stories.ts delete mode 100644 src/components/button/index.tsx create mode 100644 src/components/common/Header/index.tsx diff --git a/src/app/(pages)/admin/page.tsx b/src/app/(pages)/admin/page.tsx new file mode 100644 index 0000000..7cf2a9f --- /dev/null +++ b/src/app/(pages)/admin/page.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import Header from '@/components/common/Header'; + +const admin = () => { + return ( +
+
+
+ ); +}; + +export default admin; diff --git a/src/app/(pages)/create-exhibition/page.tsx b/src/app/(pages)/create-exhibition/page.tsx new file mode 100644 index 0000000..5f13207 --- /dev/null +++ b/src/app/(pages)/create-exhibition/page.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import Header from '@/components/common/Header'; + +const createExhibition = () => { + return ( +
+
+
+ ); +}; + +export default createExhibition; diff --git a/src/app/(pages)/participants/page.tsx b/src/app/(pages)/participants/page.tsx new file mode 100644 index 0000000..082448e --- /dev/null +++ b/src/app/(pages)/participants/page.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import Header from '@/components/common/Header'; + +const participants = () => { + return ( +
+
+
+ ); +}; + +export default participants; diff --git a/src/app/page.tsx b/src/app/page.tsx index 8c01ef9..8ed47d4 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,23 +1,5 @@ -'use client'; - -import { toast } from 'react-toastify'; -import Counter from '@/components/Counter'; +import Header from '@/components/common/Header'; export default function Home() { - const handleClick = () => { - toast.success('하이'); - }; - - return ( -
-

Zustand Counter 테스트 하이

- - -
- ); + return
; } diff --git a/src/assets/icons/Calendar.tsx b/src/assets/icons/Calendar.tsx new file mode 100644 index 0000000..7e6966b --- /dev/null +++ b/src/assets/icons/Calendar.tsx @@ -0,0 +1,24 @@ +import React from 'react'; + +interface CalendarProps { + fill?: string; +} + +const Calendar = ({ fill = '#121212' }: CalendarProps) => { + return ( + + + + ); +}; + +export default Calendar; diff --git a/src/assets/icons/Home.tsx b/src/assets/icons/Home.tsx new file mode 100644 index 0000000..5d72a12 --- /dev/null +++ b/src/assets/icons/Home.tsx @@ -0,0 +1,20 @@ +import React from 'react'; + +const Home = () => { + return ( + + + + ); +}; + +export default Home; diff --git a/src/assets/icons/Museum.tsx b/src/assets/icons/Museum.tsx index 2b68a98..625894b 100644 --- a/src/assets/icons/Museum.tsx +++ b/src/assets/icons/Museum.tsx @@ -1,6 +1,10 @@ import React from 'react'; -const Museum = () => { +interface CalendarProps { + fill?: string; +} + +const Museum = ({ fill }: CalendarProps) => { return ( { > ); diff --git a/src/assets/icons/Person.tsx b/src/assets/icons/Person.tsx index 8ea3063..ab1cf47 100644 --- a/src/assets/icons/Person.tsx +++ b/src/assets/icons/Person.tsx @@ -1,6 +1,10 @@ import React from 'react'; -const Person = () => { +interface CalendarProps { + fill?: string; +} + +const Person = ({ fill }: CalendarProps) => { return ( { > ); diff --git a/src/assets/icons/index.mdx b/src/assets/icons/index.mdx index 7f50e01..18420da 100644 --- a/src/assets/icons/index.mdx +++ b/src/assets/icons/index.mdx @@ -12,6 +12,8 @@ import { ArrowUp, ArrowLeft, XMark, + Home, + Calendar, } from './index'; ### EXPO @@ -42,4 +44,6 @@ import { + + diff --git a/src/assets/icons/index.tsx b/src/assets/icons/index.tsx index e7c3197..bddc376 100644 --- a/src/assets/icons/index.tsx +++ b/src/assets/icons/index.tsx @@ -11,3 +11,5 @@ export { default as ArrowRight } from './ArrowRight'; export { default as ArrowUp } from './ArrowUp'; export { default as ArrowLeft } from './ArrowLeft'; export { default as XMark } from './XMark'; +export { default as Home } from './Home'; +export { default as Calendar } from './Calendar'; diff --git a/src/assets/index.tsx b/src/assets/index.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/src/assets/svg/Logo.tsx b/src/assets/svg/Logo.tsx new file mode 100644 index 0000000..6e125b9 --- /dev/null +++ b/src/assets/svg/Logo.tsx @@ -0,0 +1,32 @@ +import React from 'react'; + +const Logo = () => { + return ( + + + + + + + ); +}; + +export default Logo; diff --git a/src/assets/svg/index.tsx b/src/assets/svg/index.tsx new file mode 100644 index 0000000..c6444c9 --- /dev/null +++ b/src/assets/svg/index.tsx @@ -0,0 +1 @@ +export { default as Logo } from './Logo'; diff --git a/src/components/button/index.stories.ts b/src/components/button/index.stories.ts deleted file mode 100644 index 9b53edc..0000000 --- a/src/components/button/index.stories.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import Button from '.'; - -const meta = { - title: 'Button', - component: Button, - tags: ['autodocs'], - argTypes: { - text: { control: 'text' }, - }, - parameters: { - layout: 'centered', - }, -} satisfies Meta; - -export default meta; - -type Story = StoryObj; - -export const Default: Story = { - args: {}, -}; diff --git a/src/components/button/index.tsx b/src/components/button/index.tsx deleted file mode 100644 index 06385c2..0000000 --- a/src/components/button/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react'; - -const Button = () => { - return ; -}; - -export default Button; diff --git a/src/components/common/Header/index.tsx b/src/components/common/Header/index.tsx new file mode 100644 index 0000000..fda6b57 --- /dev/null +++ b/src/components/common/Header/index.tsx @@ -0,0 +1,50 @@ +'use client'; + +import Link from 'next/link'; +import { usePathname } from 'next/navigation'; +import React from 'react'; +import { Calendar, Museum, Person } from '@/assets/icons'; +import { Logo } from '@/assets/svg'; + +interface NavItem { + href: string; + icon: React.FC<{ fill: string }>; + label: string; +} + +const navItems: NavItem[] = [ + { href: '/participants', icon: Calendar, label: '참가자 명단' }, + { href: '/create-exhibition', icon: Museum, label: '박람회 만들기' }, + { href: '/admin', icon: Person, label: '김진원 관리자' }, +]; + +const Header = () => { + const pathname = usePathname(); + + const isActive = (path: string): boolean => pathname === path; + + const getColor = (path: string): string => + isActive(path) ? '#448FFF' : '#121212'; + + return ( +
+ + + + +
+ ); +}; + +export default Header; diff --git a/src/styles/globals.css b/src/styles/globals.css index d2b33fe..922a0c2 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -133,3 +133,6 @@ button { html { font-family: 'Pretendard'; } +body { + background-color: #e9e9e9; +} From 5e8d5cb184c22b6dc356f0efe79380b16ed33d54 Mon Sep 17 00:00:00 2001 From: Ethen1264 Date: Wed, 23 Oct 2024 17:23:44 +0900 Subject: [PATCH 010/270] =?UTF-8?q?=F0=9F=8E=A8Add:=20responsive=20design?= =?UTF-8?q?=20to=20Header=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/Header/index.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/components/common/Header/index.tsx b/src/components/common/Header/index.tsx index fda6b57..9491d3d 100644 --- a/src/components/common/Header/index.tsx +++ b/src/components/common/Header/index.tsx @@ -31,15 +31,22 @@ const Header = () => { -