+ {children} +
+ ); +}); +HomeCardDescription.displayName = 'HomeCardDescription'; + +const HomeCardIcon = forwardRef+ 현재 불안정하거나 구현되지 않는 기능이 있을 수 있습니다. +
+애플리케이션 설치 가이드
++ 경기타임를 모바일에 다운로드하고 싶으신가요? +
+= P & { + children: ReactNode; +}; diff --git a/apps/time/app/utils/component.ts b/apps/time/app/utils/component.ts new file mode 100644 index 00000000..5c8ecc8e --- /dev/null +++ b/apps/time/app/utils/component.ts @@ -0,0 +1,4 @@ +import clsx, { ClassValue } from 'clsx'; +import { twMerge } from 'tailwind-merge'; + +export const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs)); 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 00000000..554f0edc Binary files /dev/null and b/apps/time/public/logo.webp differ diff --git a/apps/time/public/not_found.webp b/apps/time/public/not_found.webp new file mode 100644 index 00000000..42ebc5b0 Binary files /dev/null and b/apps/time/public/not_found.webp differ 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"