From cd156876c31f88c0f25a306ecb4e37b0904a675d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EA=B4=80=EC=8B=9D?= <39869096+gwansikk@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:11:28 +0900 Subject: [PATCH 1/9] feat(time): init project (#88) --- apps/time/.gitignore | 36 ++++++ apps/time/README.md | 1 + apps/time/app/favicon.ico | Bin 0 -> 18640 bytes apps/time/app/globals.css | 13 ++ apps/time/app/layout.tsx | 22 ++++ apps/time/app/page.tsx | 7 ++ apps/time/next.config.mjs | 4 + apps/time/package.json | 31 +++++ apps/time/postcss.config.js | 6 + apps/time/public/logo.webp | Bin 0 -> 31274 bytes apps/time/public/not_found.webp | Bin 0 -> 5834 bytes apps/time/tailwind.config.ts | 19 +++ apps/time/tsconfig.json | 29 +++++ package.json | 2 + yarn.lock | 205 ++++++++++++++++++++++++++++++++ 15 files changed, 375 insertions(+) create mode 100644 apps/time/.gitignore create mode 100644 apps/time/README.md create mode 100644 apps/time/app/favicon.ico create mode 100644 apps/time/app/globals.css create mode 100644 apps/time/app/layout.tsx create mode 100644 apps/time/app/page.tsx create mode 100644 apps/time/next.config.mjs create mode 100644 apps/time/package.json create mode 100644 apps/time/postcss.config.js create mode 100644 apps/time/public/logo.webp create mode 100644 apps/time/public/not_found.webp create mode 100644 apps/time/tailwind.config.ts create mode 100644 apps/time/tsconfig.json diff --git a/apps/time/.gitignore b/apps/time/.gitignore new file mode 100644 index 00000000..fd3dbb57 --- /dev/null +++ b/apps/time/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/apps/time/README.md b/apps/time/README.md new file mode 100644 index 00000000..dc3a17f0 --- /dev/null +++ b/apps/time/README.md @@ -0,0 +1 @@ +# Time diff --git a/apps/time/app/favicon.ico b/apps/time/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..96cdaf6c31b9db9e97ab9e63637403de9cc7c889 GIT binary patch literal 18640 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 O*j&$gI?*w>^uGZs4r?C( literal 0 HcmV?d00001 diff --git a/apps/time/app/globals.css b/apps/time/app/globals.css new file mode 100644 index 00000000..95eceadf --- /dev/null +++ b/apps/time/app/globals.css @@ -0,0 +1,13 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + font-size: 14px; +} + +@media (min-width: 768px) { + :root { + font-size: 16px; + } +} \ No newline at end of file diff --git a/apps/time/app/layout.tsx b/apps/time/app/layout.tsx new file mode 100644 index 00000000..ec00b4db --- /dev/null +++ b/apps/time/app/layout.tsx @@ -0,0 +1,22 @@ +import type { Metadata } from 'next'; +import { Noto_Sans_KR } from 'next/font/google'; +import './globals.css'; + +const inter = Noto_Sans_KR({ subsets: ['latin'] }); + +export const metadata: Metadata = { + title: '경기타임', + description: '경기대학교에 계신 모든 순간을 도와드릴게요.', +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/apps/time/app/page.tsx b/apps/time/app/page.tsx new file mode 100644 index 00000000..eaf39dbb --- /dev/null +++ b/apps/time/app/page.tsx @@ -0,0 +1,7 @@ +export default function Home() { + return ( +
+ 경기타임 +
+ ); +} diff --git a/apps/time/next.config.mjs b/apps/time/next.config.mjs new file mode 100644 index 00000000..4678774e --- /dev/null +++ b/apps/time/next.config.mjs @@ -0,0 +1,4 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = {}; + +export default nextConfig; diff --git a/apps/time/package.json b/apps/time/package.json new file mode 100644 index 00000000..fdf27815 --- /dev/null +++ b/apps/time/package.json @@ -0,0 +1,31 @@ +{ + "name": "time", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --port 6004", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "clsx": "^2.1.0", + "next": "14.1.4", + "react": "^18", + "react-dom": "^18", + "react-icons": "^5.0.1", + "tailwind-merge": "^2.2.2" + }, + "devDependencies": { + "@clab/design-system": "workspace:^", + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.1.4", + "postcss": "^8", + "tailwindcss": "^3.3.0", + "typescript": "^5" + } +} diff --git a/apps/time/postcss.config.js b/apps/time/postcss.config.js new file mode 100644 index 00000000..12a703d9 --- /dev/null +++ b/apps/time/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/apps/time/public/logo.webp b/apps/time/public/logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..554f0edc9efbf00b0747c59246423dbc85235f76 GIT binary patch literal 31274 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 literal 0 HcmV?d00001 diff --git a/apps/time/public/not_found.webp b/apps/time/public/not_found.webp new file mode 100644 index 0000000000000000000000000000000000000000..42ebc5b036ef505d430265a1d73eda0f03243e1f GIT binary patch literal 5834 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 literal 0 HcmV?d00001 diff --git a/apps/time/tailwind.config.ts b/apps/time/tailwind.config.ts new file mode 100644 index 00000000..7cf66c8b --- /dev/null +++ b/apps/time/tailwind.config.ts @@ -0,0 +1,19 @@ +import type { Config } from 'tailwindcss'; +import path from 'path'; + +const config: Config = { + content: [ + './app/**/*.{js,ts,jsx,tsx,mdx}', + path.join(path.dirname(require.resolve('@clab/design-system')), '**/*.js'), + ], + theme: { + extend: { + container: { + center: true, + padding: '2rem', + }, + }, + }, + plugins: [], +}; +export default config; diff --git a/apps/time/tsconfig.json b/apps/time/tsconfig.json new file mode 100644 index 00000000..742d362c --- /dev/null +++ b/apps/time/tsconfig.json @@ -0,0 +1,29 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@api/*": ["./app/api/*"], + "@components/*": ["./app/components/*"], + "@constants/*": ["./app/constants/*"], + "@hooks/*": ["./app/hooks/*"], + "@store/*": ["./app/store/*"], + "@type/*": ["./app/types/*"], + "@utils/*": ["./app/utils/*"], + "@/*": ["./*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/package.json b/package.json index 1d17b23f..148184fa 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,11 @@ "dev:auth": "yarn workspace auth dev", "dev:land": "yarn workspace land dev", "dev:member": "yarn workspace member dev", + "dev:time": "yarn workspace time dev", "build:auth": "yarn workspace auth build", "build:land": "yarn workspace land build", "build:member": "yarn workspace member build", + "build:time": "yarn workspace time build", "build:design-system": "yarn workspace @clab/design-system build" }, "lint-staged": { diff --git a/yarn.lock b/yarn.lock index 37bf4a69..3b5494eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -261,6 +261,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.24.0": + version: 7.24.4 + resolution: "@babel/runtime@npm:7.24.4" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 785aff96a3aa8ff97f90958e1e8a7b1d47f793b204b47c6455eaadc3f694f48c97cd5c0a921fe3596d818e71f18106610a164fb0f1c71fd68c622a58269d537c + languageName: node + linkType: hard + "@babel/template@npm:^7.22.15": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" @@ -1034,6 +1043,13 @@ __metadata: languageName: node linkType: hard +"@next/env@npm:14.1.4": + version: 14.1.4 + resolution: "@next/env@npm:14.1.4" + checksum: 35f5e817bb47993565bc4b2b9961f9697e0f08b05bc008984de7e89c3626f4ef6db314629a52302786b2f386539005666b7ad56b441e45cc79b0a49835f8062b + languageName: node + linkType: hard + "@next/eslint-plugin-next@npm:14.0.4": version: 14.0.4 resolution: "@next/eslint-plugin-next@npm:14.0.4" @@ -1052,6 +1068,15 @@ __metadata: languageName: node linkType: hard +"@next/eslint-plugin-next@npm:14.1.4": + version: 14.1.4 + resolution: "@next/eslint-plugin-next@npm:14.1.4" + dependencies: + glob: "npm:10.3.10" + checksum: fb49237153bf528ef3939e1ceae0f658e44abcf0ca155d8042c7961f523e4d9aeba3de18532b633734f3b5524b644e9c3c5187089e0d400896c1c35812bbbdd3 + languageName: node + linkType: hard + "@next/swc-darwin-arm64@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-darwin-arm64@npm:14.0.4" @@ -1066,6 +1091,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-darwin-arm64@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-darwin-arm64@npm:14.1.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@next/swc-darwin-x64@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-darwin-x64@npm:14.0.4" @@ -1080,6 +1112,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-darwin-x64@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-darwin-x64@npm:14.1.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@next/swc-linux-arm64-gnu@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-linux-arm64-gnu@npm:14.0.4" @@ -1094,6 +1133,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-arm64-gnu@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-linux-arm64-gnu@npm:14.1.4" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@next/swc-linux-arm64-musl@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-linux-arm64-musl@npm:14.0.4" @@ -1108,6 +1154,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-arm64-musl@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-linux-arm64-musl@npm:14.1.4" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@next/swc-linux-x64-gnu@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-linux-x64-gnu@npm:14.0.4" @@ -1122,6 +1175,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-x64-gnu@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-linux-x64-gnu@npm:14.1.4" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@next/swc-linux-x64-musl@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-linux-x64-musl@npm:14.0.4" @@ -1136,6 +1196,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-x64-musl@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-linux-x64-musl@npm:14.1.4" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@next/swc-win32-arm64-msvc@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-win32-arm64-msvc@npm:14.0.4" @@ -1150,6 +1217,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-arm64-msvc@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-win32-arm64-msvc@npm:14.1.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@next/swc-win32-ia32-msvc@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-win32-ia32-msvc@npm:14.0.4" @@ -1164,6 +1238,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-ia32-msvc@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-win32-ia32-msvc@npm:14.1.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@next/swc-win32-x64-msvc@npm:14.0.4": version: 14.0.4 resolution: "@next/swc-win32-x64-msvc@npm:14.0.4" @@ -1178,6 +1259,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-x64-msvc@npm:14.1.4": + version: 14.1.4 + resolution: "@next/swc-win32-x64-msvc@npm:14.1.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2598,6 +2686,13 @@ __metadata: languageName: node linkType: hard +"clsx@npm:^2.1.0": + version: 2.1.0 + resolution: "clsx@npm:2.1.0" + checksum: c09c00ad14f638366ca814097e6cab533dfa1972a358da5b557be487168acbb25b4c1395e89ffa842a8a61ba87a462d2b4885bc9d4f8410b598f3cb339599cdb + languageName: node + linkType: hard + "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -3264,6 +3359,29 @@ __metadata: languageName: node linkType: hard +"eslint-config-next@npm:14.1.4": + version: 14.1.4 + resolution: "eslint-config-next@npm:14.1.4" + dependencies: + "@next/eslint-plugin-next": "npm:14.1.4" + "@rushstack/eslint-patch": "npm:^1.3.3" + "@typescript-eslint/parser": "npm:^5.4.2 || ^6.0.0" + eslint-import-resolver-node: "npm:^0.3.6" + eslint-import-resolver-typescript: "npm:^3.5.2" + eslint-plugin-import: "npm:^2.28.1" + eslint-plugin-jsx-a11y: "npm:^6.7.1" + eslint-plugin-react: "npm:^7.33.2" + eslint-plugin-react-hooks: "npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: ">=3.3.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: 05f1108a2192708b4d4dab2bcb454c551bb8af5802c99f7abf98318ade95d52ed9459a03f3fa6498b2d144a0f8e846c27cdc1b23370962da83d22fdfb3d50bde + languageName: node + linkType: hard + "eslint-config-prettier@npm:^9.1.0": version: 9.1.0 resolution: "eslint-config-prettier@npm:9.1.0" @@ -5343,6 +5461,61 @@ __metadata: languageName: node linkType: hard +"next@npm:14.1.4": + version: 14.1.4 + resolution: "next@npm:14.1.4" + dependencies: + "@next/env": "npm:14.1.4" + "@next/swc-darwin-arm64": "npm:14.1.4" + "@next/swc-darwin-x64": "npm:14.1.4" + "@next/swc-linux-arm64-gnu": "npm:14.1.4" + "@next/swc-linux-arm64-musl": "npm:14.1.4" + "@next/swc-linux-x64-gnu": "npm:14.1.4" + "@next/swc-linux-x64-musl": "npm:14.1.4" + "@next/swc-win32-arm64-msvc": "npm:14.1.4" + "@next/swc-win32-ia32-msvc": "npm:14.1.4" + "@next/swc-win32-x64-msvc": "npm:14.1.4" + "@swc/helpers": "npm:0.5.2" + busboy: "npm:1.6.0" + caniuse-lite: "npm:^1.0.30001579" + graceful-fs: "npm:^4.2.11" + postcss: "npm:8.4.31" + styled-jsx: "npm:5.1.1" + peerDependencies: + "@opentelemetry/api": ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + dependenciesMeta: + "@next/swc-darwin-arm64": + optional: true + "@next/swc-darwin-x64": + optional: true + "@next/swc-linux-arm64-gnu": + optional: true + "@next/swc-linux-arm64-musl": + optional: true + "@next/swc-linux-x64-gnu": + optional: true + "@next/swc-linux-x64-musl": + optional: true + "@next/swc-win32-arm64-msvc": + optional: true + "@next/swc-win32-ia32-msvc": + optional: true + "@next/swc-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@opentelemetry/api": + optional: true + sass: + optional: true + bin: + next: dist/bin/next + checksum: 7576d7af913f6e24997126b1b13c9bfd0de926ecce72b16944f9f9ba221a3563d3a16b13d7aad7774a428462534afe71879ea0ca5ad80cc9075f08773d13a3b1 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 10.0.1 resolution: "node-gyp@npm:10.0.1" @@ -6871,6 +7044,15 @@ __metadata: languageName: node linkType: hard +"tailwind-merge@npm:^2.2.2": + version: 2.2.2 + resolution: "tailwind-merge@npm:2.2.2" + dependencies: + "@babel/runtime": "npm:^7.24.0" + checksum: 68a5e199848a467aed4f8d1a8d7b6a5b583ff72f1d2801e018bf245eaa41e6564b63ead9e2b708a214cefbd843970c5e0a21754d5f2a20e2c1238e25955685ce + languageName: node + linkType: hard + "tailwindcss@npm:^3.3.0": version: 3.4.0 resolution: "tailwindcss@npm:3.4.0" @@ -7011,6 +7193,29 @@ __metadata: languageName: node linkType: hard +"time@workspace:apps/time": + version: 0.0.0-use.local + resolution: "time@workspace:apps/time" + dependencies: + "@clab/design-system": "workspace:^" + "@types/node": "npm:^20" + "@types/react": "npm:^18" + "@types/react-dom": "npm:^18" + autoprefixer: "npm:^10.0.1" + clsx: "npm:^2.1.0" + eslint: "npm:^8" + eslint-config-next: "npm:14.1.4" + next: "npm:14.1.4" + postcss: "npm:^8" + react: "npm:^18" + react-dom: "npm:^18" + react-icons: "npm:^5.0.1" + tailwind-merge: "npm:^2.2.2" + tailwindcss: "npm:^3.3.0" + typescript: "npm:^5" + languageName: unknown + linkType: soft + "to-fast-properties@npm:^2.0.0": version: 2.0.0 resolution: "to-fast-properties@npm:2.0.0" From e1d73655b6efffdb129322dcc19b2ff38e161ce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EA=B4=80=EC=8B=9D?= <39869096+gwansikk@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:15:30 +0900 Subject: [PATCH 2/9] feat(time): add Footer Component (#88) --- .../app/components/common/Footer/Footer.tsx | 47 +++++++++++++++++++ .../app/components/common/Footer/index.ts | 2 + 2 files changed, 49 insertions(+) create mode 100644 apps/time/app/components/common/Footer/Footer.tsx create mode 100644 apps/time/app/components/common/Footer/index.ts diff --git a/apps/time/app/components/common/Footer/Footer.tsx b/apps/time/app/components/common/Footer/Footer.tsx new file mode 100644 index 00000000..9ab636a1 --- /dev/null +++ b/apps/time/app/components/common/Footer/Footer.tsx @@ -0,0 +1,47 @@ +import Link from 'next/link'; +import React from 'react'; +import { PATH } from '@constants/path'; + +const links = [ + { + name: '이용약관', + path: PATH.TERMS, + }, + { + name: '개인정보처리방침', + path: PATH.PRIVACY, + }, + { + name: '동아리운영규칙', + path: PATH.RULES, + }, +] as const; + +const Footer = () => { + return ( + + ); +}; + +export default Footer; diff --git a/apps/time/app/components/common/Footer/index.ts b/apps/time/app/components/common/Footer/index.ts new file mode 100644 index 00000000..60c8c2cc --- /dev/null +++ b/apps/time/app/components/common/Footer/index.ts @@ -0,0 +1,2 @@ +import Footer from './Footer'; +export default Footer; From 02b53407d67cb9acdb3dc3c6e99d8d5473120920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EA=B4=80=EC=8B=9D?= <39869096+gwansikk@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:15:54 +0900 Subject: [PATCH 3/9] feat(time): add Nav Component (#88) --- apps/time/app/components/common/Nav/Nav.tsx | 52 ++++++++++++++++++++ apps/time/app/components/common/Nav/index.ts | 2 + 2 files changed, 54 insertions(+) create mode 100644 apps/time/app/components/common/Nav/Nav.tsx create mode 100644 apps/time/app/components/common/Nav/index.ts diff --git a/apps/time/app/components/common/Nav/Nav.tsx b/apps/time/app/components/common/Nav/Nav.tsx new file mode 100644 index 00000000..02233352 --- /dev/null +++ b/apps/time/app/components/common/Nav/Nav.tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import Link from 'next/link'; +import { FiUser } from 'react-icons/fi'; +import { PATH } from '@constants/path'; + +const links = [ + + 홈 + , + + 시간표 + , + + 학점 + , + + 도서관 + , + + 분실물 + , + + 학식 + , +] as const; + +const actions = [ + , +] as const; + +const Nav = () => { + return ( + + ); +}; + +export default Nav; diff --git a/apps/time/app/components/common/Nav/index.ts b/apps/time/app/components/common/Nav/index.ts new file mode 100644 index 00000000..0e78a88d --- /dev/null +++ b/apps/time/app/components/common/Nav/index.ts @@ -0,0 +1,2 @@ +import Nav from './Nav'; +export default Nav; From 7926e6b4ef6ee75d3e76c9d622b5c47759b87084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EA=B4=80=EC=8B=9D?= <39869096+gwansikk@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:16:12 +0900 Subject: [PATCH 4/9] feat(time): add HomeCard Component (#88) --- .../app/components/home/HomeCard/HomeCard.tsx | 72 +++++++++++++++++++ .../app/components/home/HomeCard/index.ts | 6 ++ 2 files changed, 78 insertions(+) create mode 100644 apps/time/app/components/home/HomeCard/HomeCard.tsx create mode 100644 apps/time/app/components/home/HomeCard/index.ts diff --git a/apps/time/app/components/home/HomeCard/HomeCard.tsx b/apps/time/app/components/home/HomeCard/HomeCard.tsx new file mode 100644 index 00000000..69dff3c5 --- /dev/null +++ b/apps/time/app/components/home/HomeCard/HomeCard.tsx @@ -0,0 +1,72 @@ +'use client'; + +import { forwardRef, ComponentPropsWithoutRef } from 'react'; +import { StrictPropsWithChildren } from '@type/common'; +import { cn } from '@utils/component'; +import { useRouter } from 'next/navigation'; + +interface HomeCardProps extends ComponentPropsWithoutRef<'button'> { + to: string; +} + +const HomeCard = forwardRef( + ({ to, className, children, ...rest }, ref) => { + const router = useRouter(); + + return ( + + ); + }, +); +HomeCard.displayName = 'HomeCard'; + +const HomeCardHeader = forwardRef( + ({ children }, ref) => { + return ( +

+ {children} +

+ ); + }, +); +HomeCardHeader.displayName = 'HomeCardHeader'; + +const HomeCardDescription = forwardRef< + HTMLParagraphElement, + StrictPropsWithChildren +>(({ children }, ref) => { + return ( +

+ {children} +

+ ); +}); +HomeCardDescription.displayName = 'HomeCardDescription'; + +const HomeCardIcon = forwardRef( + ({ children }, ref) => { + return ( +
+ {children} +
+ ); + }, +); +HomeCardIcon.displayName = 'HomeCardIcon'; + +export { HomeCard, HomeCardHeader, HomeCardDescription, HomeCardIcon }; diff --git a/apps/time/app/components/home/HomeCard/index.ts b/apps/time/app/components/home/HomeCard/index.ts new file mode 100644 index 00000000..da841595 --- /dev/null +++ b/apps/time/app/components/home/HomeCard/index.ts @@ -0,0 +1,6 @@ +export { + HomeCard, + HomeCardHeader, + HomeCardDescription, + HomeCardIcon, +} from './HomeCard'; From 506c0c372b3b4d8d607f831675c6581c88bbee51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EA=B4=80=EC=8B=9D?= <39869096+gwansikk@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:16:23 +0900 Subject: [PATCH 5/9] feat(time): add Nav PageLayout (#88) --- .../common/PageLayout/PageLayout.tsx | 30 +++++++++++++++++++ .../app/components/common/PageLayout/index.ts | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 apps/time/app/components/common/PageLayout/PageLayout.tsx create mode 100644 apps/time/app/components/common/PageLayout/index.ts diff --git a/apps/time/app/components/common/PageLayout/PageLayout.tsx b/apps/time/app/components/common/PageLayout/PageLayout.tsx new file mode 100644 index 00000000..57556bd3 --- /dev/null +++ b/apps/time/app/components/common/PageLayout/PageLayout.tsx @@ -0,0 +1,30 @@ +import React from 'react'; +import Nav from '../Nav'; +import Footer from '../Footer'; +import { cn } from '@utils/component'; + +interface PageProps { + nav?: boolean; + footer?: boolean; + className?: string; + children: React.ReactNode; +} + +const Page = ({ + nav = false, + footer = false, + className, + children, +}: PageProps) => { + return ( + <> + {nav &&