diff --git a/apps/space/.env.example b/apps/space/.env.example new file mode 100644 index 00000000000..7cecf3739c1 --- /dev/null +++ b/apps/space/.env.example @@ -0,0 +1 @@ +NEXT_PUBLIC_VERCEL_ENV=local \ No newline at end of file diff --git a/apps/space/.gitignore b/apps/space/.gitignore new file mode 100644 index 00000000000..a2a963ee7e0 --- /dev/null +++ b/apps/space/.gitignore @@ -0,0 +1,39 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +# env +.env diff --git a/apps/space/.prettierignore b/apps/space/.prettierignore new file mode 100644 index 00000000000..b9dc034527d --- /dev/null +++ b/apps/space/.prettierignore @@ -0,0 +1,2 @@ +.next +.vercel \ No newline at end of file diff --git a/apps/space/.prettierrc.json b/apps/space/.prettierrc.json new file mode 100644 index 00000000000..4291d9f8484 --- /dev/null +++ b/apps/space/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "printWidth": 120, + "tabWidth": 2, + "semi": true, + "singleQuote": false, + "trailingComma": "es5" +} diff --git a/apps/space/README.md b/apps/space/README.md new file mode 100644 index 00000000000..fc22981018c --- /dev/null +++ b/apps/space/README.md @@ -0,0 +1,10 @@ +

+ +

+ + Plane Logo + +

+ +

Plane Space

+

Open-source, self-hosted project planning tool

diff --git a/apps/space/app/[workspace_project_slug]/page.tsx b/apps/space/app/[workspace_project_slug]/page.tsx new file mode 100644 index 00000000000..638d36e7726 --- /dev/null +++ b/apps/space/app/[workspace_project_slug]/page.tsx @@ -0,0 +1,9 @@ +import React from "react"; + +const WorkspaceProjectPage = () => ( +
+ Plane Workspace project Space +
+); + +export default WorkspaceProjectPage; diff --git a/apps/space/app/layout.tsx b/apps/space/app/layout.tsx new file mode 100644 index 00000000000..5c7de32ff2d --- /dev/null +++ b/apps/space/app/layout.tsx @@ -0,0 +1,12 @@ +// root styles +import "styles/globals.css"; + +const RootLayout = ({ children }: { children: React.ReactNode }) => ( + + +
{children}
+ + +); + +export default RootLayout; diff --git a/apps/space/app/page.tsx b/apps/space/app/page.tsx new file mode 100644 index 00000000000..bbfe9c3ea5c --- /dev/null +++ b/apps/space/app/page.tsx @@ -0,0 +1,7 @@ +import React from "react"; + +const HomePage = () => ( +
Plane Space
+); + +export default HomePage; diff --git a/apps/space/lib/mobx-store/root.ts b/apps/space/lib/mobx-store/root.ts new file mode 100644 index 00000000000..a1035682118 --- /dev/null +++ b/apps/space/lib/mobx-store/root.ts @@ -0,0 +1 @@ +export const init = {}; diff --git a/apps/space/next.config.js b/apps/space/next.config.js new file mode 100644 index 00000000000..398eb04004b --- /dev/null +++ b/apps/space/next.config.js @@ -0,0 +1,9 @@ +/** @type {import('next').NextConfig} */ + +const nextConfig = { + experimental: { + appDir: true, + }, +}; + +module.exports = nextConfig; diff --git a/apps/space/package.json b/apps/space/package.json new file mode 100644 index 00000000000..7ace168aaa3 --- /dev/null +++ b/apps/space/package.json @@ -0,0 +1,35 @@ +{ + "name": "plane-space", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@headlessui/react": "^1.7.13", + "@types/node": "18.14.1", + "@types/nprogress": "^0.2.0", + "@types/react": "18.0.28", + "@types/react-dom": "18.0.11", + "axios": "^1.3.4", + "eslint": "8.34.0", + "eslint-config-next": "13.2.1", + "js-cookie": "^3.0.1", + "next": "^13.4.13", + "nprogress": "^0.2.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "typescript": "4.9.5", + "uuid": "^9.0.0" + }, + "devDependencies": { + "@types/js-cookie": "^3.0.3", + "@types/uuid": "^9.0.1", + "autoprefixer": "^10.4.13", + "postcss": "^8.4.21", + "tailwindcss": "^3.2.7" + } +} diff --git a/apps/space/postcss.config.js b/apps/space/postcss.config.js new file mode 100644 index 00000000000..12a703d900d --- /dev/null +++ b/apps/space/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/apps/space/store/root.ts b/apps/space/store/root.ts new file mode 100644 index 00000000000..a1035682118 --- /dev/null +++ b/apps/space/store/root.ts @@ -0,0 +1 @@ +export const init = {}; diff --git a/apps/space/styles/globals.css b/apps/space/styles/globals.css new file mode 100644 index 00000000000..e493f0abc1c --- /dev/null +++ b/apps/space/styles/globals.css @@ -0,0 +1,6 @@ +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700;800&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@48,400,0,0&display=swap"); + +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/apps/space/tailwind.config.js b/apps/space/tailwind.config.js new file mode 100644 index 00000000000..145c65b5ac7 --- /dev/null +++ b/apps/space/tailwind.config.js @@ -0,0 +1,16 @@ +/** @type {import('tailwindcss').Config} */ + +module.exports = { + content: [ + "./app/**/*.{js,ts,jsx,tsx}", + "./pages/**/*.{js,ts,jsx,tsx}", + "./layouts/**/*.tsx", + "./components/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: { + colors: {}, + }, + }, + plugins: [], +}; diff --git a/apps/space/tsconfig.json b/apps/space/tsconfig.json new file mode 100644 index 00000000000..5404bd9fbf9 --- /dev/null +++ b/apps/space/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "baseUrl": ".", + "paths": {}, + "plugins": [{ "name": "next" }] + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "server.js", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +}