diff --git a/.eslintrc.js b/.eslintrc.js
index 463c86901c0..c229c095269 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -4,7 +4,7 @@ module.exports = {
extends: ["custom"],
settings: {
next: {
- rootDir: ["apps/*"],
+ rootDir: ["web/", "space/"],
},
},
};
diff --git a/.github/workflows/Build_Test_Pull_Request.yml b/.github/workflows/Build_Test_Pull_Request.yml
index 0dbca646a88..438bdbef39d 100644
--- a/.github/workflows/Build_Test_Pull_Request.yml
+++ b/.github/workflows/Build_Test_Pull_Request.yml
@@ -29,9 +29,9 @@ jobs:
apiserver:
- apiserver/**
web:
- - apps/app/**
+ - web/**
deploy:
- - apps/space/**
+ - space/**
- name: Setup .npmrc for repository
run: |
@@ -40,15 +40,15 @@ jobs:
- name: Build Plane's Main App
if: steps.changed-files.outputs.web_any_changed == 'true'
run: |
- mv ./.npmrc ./apps/app
- cd apps/app
+ mv ./.npmrc ./web
+ cd web
yarn
yarn build
- name: Build Plane's Deploy App
if: steps.changed-files.outputs.deploy_any_changed == 'true'
run: |
- cd apps/space
+ cd space
yarn
yarn build
diff --git a/.github/workflows/Update_Docker_Images.yml b/.github/workflows/Update_Docker_Images.yml
index 8e27e098f98..57dbb4a6717 100644
--- a/.github/workflows/Update_Docker_Images.yml
+++ b/.github/workflows/Update_Docker_Images.yml
@@ -62,7 +62,7 @@ jobs:
uses: docker/build-push-action@v4.0.0
with:
context: .
- file: ./apps/app/Dockerfile.web
+ file: ./web/Dockerfile.web
platforms: linux/amd64
tags: ${{ steps.metaFrontend.outputs.tags }}
push: true
@@ -88,7 +88,7 @@ jobs:
uses: docker/build-push-action@v4.0.0
with:
context: .
- file: ./apps/space/Dockerfile.space
+ file: ./space/Dockerfile.space
platforms: linux/amd64
push: true
tags: ${{ steps.metaDeploy.outputs.tags }}
diff --git a/.husky/pre-push b/.husky/pre-push
new file mode 100755
index 00000000000..0e7d3240bf4
--- /dev/null
+++ b/.husky/pre-push
@@ -0,0 +1,23 @@
+#!/bin/sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+changed_files=$(git diff --name-only HEAD~1)
+
+web_changed=$(echo "$changed_files" | grep -E '^web/' || true)
+space_changed=$(echo "$changed_files" | grep -E '^space/' || true)
+echo $web_changed
+echo $space_changed
+
+if [ -n "$web_changed" ] && [ -n "$space_changed" ]; then
+ echo "Changes detected in both web and space. Building..."
+ yarn run lint
+ yarn run build
+elif [ -n "$web_changed" ]; then
+ echo "Changes detected in web app. Building..."
+ yarn run lint --filter=web
+ yarn run build --filter=web
+elif [ -n "$space_changed" ]; then
+ echo "Changes detected in space app. Building..."
+ yarn run lint --filter=space
+ yarn run build --filter=space
+fi
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 294dc1c0eb9..cd74b612133 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
-* Demonstrating empathy and kindness toward other people
-* Being respectful of differing opinions, viewpoints, and experiences
-* Giving and gracefully accepting constructive feedback
-* Accepting responsibility and apologizing to those affected by our mistakes,
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
-* Focusing on what is best not just for us as individuals, but for the
+- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
-* The use of sexualized language or imagery, and sexual attention or
+- The use of sexualized language or imagery, and sexual attention or
advances of any kind
-* Trolling, insulting or derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or email
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email
address, without their explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
+- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
-standards, including sustained inappropriate behavior, harassment of an
+standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
@@ -125,4 +125,4 @@ enforcement ladder](https://github.com/mozilla/diversity).
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
-https://www.contributor-covenant.org/translations.
\ No newline at end of file
+https://www.contributor-covenant.org/translations.
diff --git a/README.md b/README.md
index 2bc2764f3bc..a5a7ddd87d8 100644
--- a/README.md
+++ b/README.md
@@ -35,12 +35,10 @@
Meet [Plane](https://plane.so). An open-source software development tool to manage issues, sprints, and product roadmaps with peace of mind 🧘♀️.
-
> Plane is still in its early days, not everything will be perfect yet, and hiccups may happen. Please let us know of any suggestions, ideas, or bugs that you encounter on our [Discord](https://discord.com/invite/A92xrEGCge) or GitHub issues, and we will use your feedback to improve on our upcoming releases.
The easiest way to get started with Plane is by creating a [Plane Cloud](https://app.plane.so) account. Plane Cloud offers a hosted solution for Plane. If you prefer to self-host Plane, please refer to our [deployment documentation](https://docs.plane.so/self-hosting).
-
## ⚡️ Quick start with Docker Compose
### Docker Compose Setup
@@ -56,7 +54,7 @@ chmod +x setup.sh
- Run setup.sh
```bash
-./setup.sh http://localhost
+./setup.sh http://localhost
```
> If running in a cloud env replace localhost with public facing IP address of the VM
@@ -65,31 +63,32 @@ chmod +x setup.sh
Visit [Tiptap Pro](https://collab.tiptap.dev/pro-extensions) and signup (it is free).
- Create a **`.npmrc`** file, copy the following and replace your registry token generated from Tiptap Pro.
+ Create a **`.npmrc`** file, copy the following and replace your registry token generated from Tiptap Pro.
```
@tiptap-pro:registry=https://registry.tiptap.dev/
//registry.tiptap.dev/:_authToken=YOUR_REGISTRY_TOKEN
```
+
- Run Docker compose up
```bash
docker compose up -d
```
-You can use the default email and password for your first login `captain@plane.so` and `password123`.
+You can use the default email and password for your first login `captain@plane.so` and `password123`.
## 🚀 Features
-* **Issue Planning and Tracking**: Quickly create issues and add details using a powerful rich text editor that supports file uploads. Add sub-properties and references to issues for better organization and tracking.
-* **Issue Attachments**: Collaborate effectively by attaching files to issues, making it easy for your team to find and share important project-related documents.
-* **Layouts**: Customize your project view with your preferred layout - choose from List, Kanban, or Calendar to visualize your project in a way that makes sense to you.
-* **Cycles**: Plan sprints with Cycles to keep your team on track and productive. Gain insights into your project's progress with burn-down charts and other useful features.
-* **Modules**: Break down your large projects into smaller, more manageable modules. Assign modules between teams to easily track and plan your project's progress.
-* **Views**: Create custom filters to display only the issues that matter to you. Save and share your filters in just a few clicks.
-* **Pages**: Plane pages function as an AI-powered notepad, allowing you to easily document issues, cycle plans, and module details, and then synchronize them with your issues.
-* **Command K**: Enjoy a better user experience with the new Command + K menu. Easily manage and navigate through your projects from one convenient location.
-* **GitHub Sync**: Streamline your planning process by syncing your GitHub issues with Plane. Keep all your issues in one place for better tracking and collaboration.
+- **Issue Planning and Tracking**: Quickly create issues and add details using a powerful rich text editor that supports file uploads. Add sub-properties and references to issues for better organization and tracking.
+- **Issue Attachments**: Collaborate effectively by attaching files to issues, making it easy for your team to find and share important project-related documents.
+- **Layouts**: Customize your project view with your preferred layout - choose from List, Kanban, or Calendar to visualize your project in a way that makes sense to you.
+- **Cycles**: Plan sprints with Cycles to keep your team on track and productive. Gain insights into your project's progress with burn-down charts and other useful features.
+- **Modules**: Break down your large projects into smaller, more manageable modules. Assign modules between teams to easily track and plan your project's progress.
+- **Views**: Create custom filters to display only the issues that matter to you. Save and share your filters in just a few clicks.
+- **Pages**: Plane pages function as an AI-powered notepad, allowing you to easily document issues, cycle plans, and module details, and then synchronize them with your issues.
+- **Command K**: Enjoy a better user experience with the new Command + K menu. Easily manage and navigate through your projects from one convenient location.
+- **GitHub Sync**: Streamline your planning process by syncing your GitHub issues with Plane. Keep all your issues in one place for better tracking and collaboration.
## 📸 Screenshots
@@ -150,7 +149,6 @@ docker compose up -d
+
+
>
diff --git a/apps/space/components/issues/peek-overview/side-peek-view.tsx b/space/components/issues/peek-overview/side-peek-view.tsx
similarity index 100%
rename from apps/space/components/issues/peek-overview/side-peek-view.tsx
rename to space/components/issues/peek-overview/side-peek-view.tsx
diff --git a/apps/space/components/tiptap/bubble-menu/index.tsx b/space/components/tiptap/bubble-menu/index.tsx
similarity index 100%
rename from apps/space/components/tiptap/bubble-menu/index.tsx
rename to space/components/tiptap/bubble-menu/index.tsx
diff --git a/apps/app/components/tiptap/bubble-menu/link-selector.tsx b/space/components/tiptap/bubble-menu/link-selector.tsx
similarity index 92%
rename from apps/app/components/tiptap/bubble-menu/link-selector.tsx
rename to space/components/tiptap/bubble-menu/link-selector.tsx
index 16072f4be27..559521db66f 100644
--- a/apps/app/components/tiptap/bubble-menu/link-selector.tsx
+++ b/space/components/tiptap/bubble-menu/link-selector.tsx
@@ -6,10 +6,9 @@ import isValidHttpUrl from "./utils/link-validator";
interface LinkSelectorProps {
editor: Editor;
isOpen: boolean;
- setIsOpen: Dispatch>
+ setIsOpen: Dispatch>;
}
-
export const LinkSelector: FC = ({ editor, isOpen, setIsOpen }) => {
const inputRef = useRef(null);
@@ -76,7 +75,9 @@ export const LinkSelector: FC = ({ editor, isOpen, setIsOpen
) : (
-
)}
{projectStore?.activeBoard === "kanban" && (
-
+
)}
diff --git a/apps/space/constants/data.ts b/space/constants/data.ts
similarity index 100%
rename from apps/space/constants/data.ts
rename to space/constants/data.ts
diff --git a/apps/space/constants/helpers.ts b/space/constants/helpers.ts
similarity index 100%
rename from apps/space/constants/helpers.ts
rename to space/constants/helpers.ts
diff --git a/apps/space/constants/seo.ts b/space/constants/seo.ts
similarity index 100%
rename from apps/space/constants/seo.ts
rename to space/constants/seo.ts
diff --git a/apps/space/constants/workspace.ts b/space/constants/workspace.ts
similarity index 100%
rename from apps/space/constants/workspace.ts
rename to space/constants/workspace.ts
diff --git a/apps/space/contexts/toast.context.tsx b/space/contexts/toast.context.tsx
similarity index 100%
rename from apps/space/contexts/toast.context.tsx
rename to space/contexts/toast.context.tsx
diff --git a/apps/space/helpers/date-time.helper.ts b/space/helpers/date-time.helper.ts
similarity index 100%
rename from apps/space/helpers/date-time.helper.ts
rename to space/helpers/date-time.helper.ts
diff --git a/apps/space/helpers/emoji.helper.tsx b/space/helpers/emoji.helper.tsx
similarity index 100%
rename from apps/space/helpers/emoji.helper.tsx
rename to space/helpers/emoji.helper.tsx
diff --git a/apps/space/helpers/string.helper.ts b/space/helpers/string.helper.ts
similarity index 100%
rename from apps/space/helpers/string.helper.ts
rename to space/helpers/string.helper.ts
diff --git a/apps/space/hooks/use-outside-click.tsx b/space/hooks/use-outside-click.tsx
similarity index 100%
rename from apps/space/hooks/use-outside-click.tsx
rename to space/hooks/use-outside-click.tsx
diff --git a/apps/app/hooks/use-timer.tsx b/space/hooks/use-timer.tsx
similarity index 100%
rename from apps/app/hooks/use-timer.tsx
rename to space/hooks/use-timer.tsx
diff --git a/apps/app/hooks/use-toast.tsx b/space/hooks/use-toast.tsx
similarity index 100%
rename from apps/app/hooks/use-toast.tsx
rename to space/hooks/use-toast.tsx
diff --git a/apps/space/layouts/project-layout.tsx b/space/layouts/project-layout.tsx
similarity index 52%
rename from apps/space/layouts/project-layout.tsx
rename to space/layouts/project-layout.tsx
index 2147e845e7e..1a0b7899e77 100644
--- a/apps/space/layouts/project-layout.tsx
+++ b/space/layouts/project-layout.tsx
@@ -3,6 +3,7 @@ import Image from "next/image";
// mobx
import { observer } from "mobx-react-lite";
+import planeLogo from "public/plane-logo.svg";
// components
import IssueNavbar from "components/issues/navbar";
@@ -12,18 +13,20 @@ const ProjectLayout = ({ children }: { children: React.ReactNode }) => (
diff --git a/apps/app/components/issues/peek-overview/side-peek-view.tsx b/web/components/issues/peek-overview/side-peek-view.tsx
similarity index 100%
rename from apps/app/components/issues/peek-overview/side-peek-view.tsx
rename to web/components/issues/peek-overview/side-peek-view.tsx
diff --git a/apps/app/components/issues/select/assignee.tsx b/web/components/issues/select/assignee.tsx
similarity index 100%
rename from apps/app/components/issues/select/assignee.tsx
rename to web/components/issues/select/assignee.tsx
diff --git a/apps/app/components/issues/select/date.tsx b/web/components/issues/select/date.tsx
similarity index 100%
rename from apps/app/components/issues/select/date.tsx
rename to web/components/issues/select/date.tsx
diff --git a/apps/app/components/issues/select/estimate.tsx b/web/components/issues/select/estimate.tsx
similarity index 100%
rename from apps/app/components/issues/select/estimate.tsx
rename to web/components/issues/select/estimate.tsx
diff --git a/apps/app/components/issues/select/index.ts b/web/components/issues/select/index.ts
similarity index 100%
rename from apps/app/components/issues/select/index.ts
rename to web/components/issues/select/index.ts
diff --git a/apps/app/components/issues/select/label.tsx b/web/components/issues/select/label.tsx
similarity index 100%
rename from apps/app/components/issues/select/label.tsx
rename to web/components/issues/select/label.tsx
diff --git a/apps/app/components/issues/select/priority.tsx b/web/components/issues/select/priority.tsx
similarity index 100%
rename from apps/app/components/issues/select/priority.tsx
rename to web/components/issues/select/priority.tsx
diff --git a/apps/app/components/issues/select/project.tsx b/web/components/issues/select/project.tsx
similarity index 100%
rename from apps/app/components/issues/select/project.tsx
rename to web/components/issues/select/project.tsx
diff --git a/apps/app/components/issues/select/state.tsx b/web/components/issues/select/state.tsx
similarity index 100%
rename from apps/app/components/issues/select/state.tsx
rename to web/components/issues/select/state.tsx
diff --git a/apps/app/components/issues/sidebar-select/assignee.tsx b/web/components/issues/sidebar-select/assignee.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/assignee.tsx
rename to web/components/issues/sidebar-select/assignee.tsx
diff --git a/apps/app/components/issues/sidebar-select/blocked.tsx b/web/components/issues/sidebar-select/blocked.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/blocked.tsx
rename to web/components/issues/sidebar-select/blocked.tsx
diff --git a/apps/app/components/issues/sidebar-select/blocker.tsx b/web/components/issues/sidebar-select/blocker.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/blocker.tsx
rename to web/components/issues/sidebar-select/blocker.tsx
diff --git a/apps/app/components/issues/sidebar-select/cycle.tsx b/web/components/issues/sidebar-select/cycle.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/cycle.tsx
rename to web/components/issues/sidebar-select/cycle.tsx
diff --git a/apps/app/components/issues/sidebar-select/estimate.tsx b/web/components/issues/sidebar-select/estimate.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/estimate.tsx
rename to web/components/issues/sidebar-select/estimate.tsx
diff --git a/apps/app/components/issues/sidebar-select/index.ts b/web/components/issues/sidebar-select/index.ts
similarity index 100%
rename from apps/app/components/issues/sidebar-select/index.ts
rename to web/components/issues/sidebar-select/index.ts
diff --git a/apps/app/components/issues/sidebar-select/label.tsx b/web/components/issues/sidebar-select/label.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/label.tsx
rename to web/components/issues/sidebar-select/label.tsx
diff --git a/apps/app/components/issues/sidebar-select/module.tsx b/web/components/issues/sidebar-select/module.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/module.tsx
rename to web/components/issues/sidebar-select/module.tsx
diff --git a/apps/app/components/issues/sidebar-select/parent.tsx b/web/components/issues/sidebar-select/parent.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/parent.tsx
rename to web/components/issues/sidebar-select/parent.tsx
diff --git a/apps/app/components/issues/sidebar-select/priority.tsx b/web/components/issues/sidebar-select/priority.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/priority.tsx
rename to web/components/issues/sidebar-select/priority.tsx
diff --git a/apps/app/components/issues/sidebar-select/state.tsx b/web/components/issues/sidebar-select/state.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar-select/state.tsx
rename to web/components/issues/sidebar-select/state.tsx
diff --git a/apps/app/components/issues/sidebar.tsx b/web/components/issues/sidebar.tsx
similarity index 100%
rename from apps/app/components/issues/sidebar.tsx
rename to web/components/issues/sidebar.tsx
diff --git a/apps/app/components/issues/sub-issues-list.tsx b/web/components/issues/sub-issues-list.tsx
similarity index 100%
rename from apps/app/components/issues/sub-issues-list.tsx
rename to web/components/issues/sub-issues-list.tsx
diff --git a/apps/app/components/issues/view-select/assignee.tsx b/web/components/issues/view-select/assignee.tsx
similarity index 100%
rename from apps/app/components/issues/view-select/assignee.tsx
rename to web/components/issues/view-select/assignee.tsx
diff --git a/apps/app/components/issues/view-select/due-date.tsx b/web/components/issues/view-select/due-date.tsx
similarity index 100%
rename from apps/app/components/issues/view-select/due-date.tsx
rename to web/components/issues/view-select/due-date.tsx
diff --git a/apps/app/components/issues/view-select/estimate.tsx b/web/components/issues/view-select/estimate.tsx
similarity index 100%
rename from apps/app/components/issues/view-select/estimate.tsx
rename to web/components/issues/view-select/estimate.tsx
diff --git a/apps/app/components/issues/view-select/index.ts b/web/components/issues/view-select/index.ts
similarity index 100%
rename from apps/app/components/issues/view-select/index.ts
rename to web/components/issues/view-select/index.ts
diff --git a/apps/app/components/issues/view-select/label.tsx b/web/components/issues/view-select/label.tsx
similarity index 100%
rename from apps/app/components/issues/view-select/label.tsx
rename to web/components/issues/view-select/label.tsx
diff --git a/apps/app/components/issues/view-select/priority.tsx b/web/components/issues/view-select/priority.tsx
similarity index 100%
rename from apps/app/components/issues/view-select/priority.tsx
rename to web/components/issues/view-select/priority.tsx
diff --git a/apps/app/components/issues/view-select/start-date.tsx b/web/components/issues/view-select/start-date.tsx
similarity index 100%
rename from apps/app/components/issues/view-select/start-date.tsx
rename to web/components/issues/view-select/start-date.tsx
diff --git a/apps/app/components/issues/view-select/state.tsx b/web/components/issues/view-select/state.tsx
similarity index 100%
rename from apps/app/components/issues/view-select/state.tsx
rename to web/components/issues/view-select/state.tsx
diff --git a/apps/app/components/labels/create-label-modal.tsx b/web/components/labels/create-label-modal.tsx
similarity index 100%
rename from apps/app/components/labels/create-label-modal.tsx
rename to web/components/labels/create-label-modal.tsx
diff --git a/apps/app/components/labels/create-update-label-inline.tsx b/web/components/labels/create-update-label-inline.tsx
similarity index 100%
rename from apps/app/components/labels/create-update-label-inline.tsx
rename to web/components/labels/create-update-label-inline.tsx
diff --git a/apps/app/components/labels/delete-label-modal.tsx b/web/components/labels/delete-label-modal.tsx
similarity index 100%
rename from apps/app/components/labels/delete-label-modal.tsx
rename to web/components/labels/delete-label-modal.tsx
diff --git a/apps/app/components/labels/index.ts b/web/components/labels/index.ts
similarity index 100%
rename from apps/app/components/labels/index.ts
rename to web/components/labels/index.ts
diff --git a/apps/app/components/labels/labels-list-modal.tsx b/web/components/labels/labels-list-modal.tsx
similarity index 100%
rename from apps/app/components/labels/labels-list-modal.tsx
rename to web/components/labels/labels-list-modal.tsx
diff --git a/apps/app/components/labels/single-label-group.tsx b/web/components/labels/single-label-group.tsx
similarity index 100%
rename from apps/app/components/labels/single-label-group.tsx
rename to web/components/labels/single-label-group.tsx
diff --git a/apps/app/components/labels/single-label.tsx b/web/components/labels/single-label.tsx
similarity index 100%
rename from apps/app/components/labels/single-label.tsx
rename to web/components/labels/single-label.tsx
diff --git a/apps/app/components/modules/delete-module-modal.tsx b/web/components/modules/delete-module-modal.tsx
similarity index 100%
rename from apps/app/components/modules/delete-module-modal.tsx
rename to web/components/modules/delete-module-modal.tsx
diff --git a/apps/app/components/modules/form.tsx b/web/components/modules/form.tsx
similarity index 100%
rename from apps/app/components/modules/form.tsx
rename to web/components/modules/form.tsx
diff --git a/apps/app/components/modules/gantt-chart/blocks.tsx b/web/components/modules/gantt-chart/blocks.tsx
similarity index 100%
rename from apps/app/components/modules/gantt-chart/blocks.tsx
rename to web/components/modules/gantt-chart/blocks.tsx
diff --git a/apps/app/components/modules/gantt-chart/index.ts b/web/components/modules/gantt-chart/index.ts
similarity index 100%
rename from apps/app/components/modules/gantt-chart/index.ts
rename to web/components/modules/gantt-chart/index.ts
diff --git a/apps/app/components/modules/gantt-chart/module-issues-layout.tsx b/web/components/modules/gantt-chart/module-issues-layout.tsx
similarity index 79%
rename from apps/app/components/modules/gantt-chart/module-issues-layout.tsx
rename to web/components/modules/gantt-chart/module-issues-layout.tsx
index 9c0b05078c9..c350232e91b 100644
--- a/apps/app/components/modules/gantt-chart/module-issues-layout.tsx
+++ b/web/components/modules/gantt-chart/module-issues-layout.tsx
@@ -7,6 +7,7 @@ import useIssuesView from "hooks/use-issues-view";
import useUser from "hooks/use-user";
import useGanttChartModuleIssues from "hooks/gantt-chart/module-issues-view";
import { updateGanttIssue } from "components/gantt-chart/hooks/block-update";
+import useProjectDetails from "hooks/use-project-details";
// components
import { GanttChartRoot, renderIssueBlocksStructure } from "components/gantt-chart";
import { IssueGanttBlock, IssueGanttSidebarBlock } from "components/issues";
@@ -22,6 +23,7 @@ export const ModuleIssuesGanttChartView: FC = ({}) => {
const { orderBy } = useIssuesView();
const { user } = useUser();
+ const { projectDetails } = useProjectDetails();
const { ganttIssues, mutateGanttIssues } = useGanttChartModuleIssues(
workspaceSlug as string,
@@ -29,6 +31,8 @@ export const ModuleIssuesGanttChartView: FC = ({}) => {
moduleId as string
);
+ const isAllowed = projectDetails?.member_role === 20 || projectDetails?.member_role === 15;
+
return (
);
diff --git a/apps/app/components/modules/index.ts b/web/components/modules/index.ts
similarity index 100%
rename from apps/app/components/modules/index.ts
rename to web/components/modules/index.ts
diff --git a/apps/app/components/modules/modal.tsx b/web/components/modules/modal.tsx
similarity index 100%
rename from apps/app/components/modules/modal.tsx
rename to web/components/modules/modal.tsx
diff --git a/apps/app/components/modules/select/index.ts b/web/components/modules/select/index.ts
similarity index 100%
rename from apps/app/components/modules/select/index.ts
rename to web/components/modules/select/index.ts
diff --git a/apps/app/components/modules/select/lead.tsx b/web/components/modules/select/lead.tsx
similarity index 100%
rename from apps/app/components/modules/select/lead.tsx
rename to web/components/modules/select/lead.tsx
diff --git a/apps/app/components/modules/select/members.tsx b/web/components/modules/select/members.tsx
similarity index 100%
rename from apps/app/components/modules/select/members.tsx
rename to web/components/modules/select/members.tsx
diff --git a/apps/app/components/modules/select/status.tsx b/web/components/modules/select/status.tsx
similarity index 100%
rename from apps/app/components/modules/select/status.tsx
rename to web/components/modules/select/status.tsx
diff --git a/apps/app/components/modules/sidebar-select/index.ts b/web/components/modules/sidebar-select/index.ts
similarity index 100%
rename from apps/app/components/modules/sidebar-select/index.ts
rename to web/components/modules/sidebar-select/index.ts
diff --git a/apps/app/components/modules/sidebar-select/select-lead.tsx b/web/components/modules/sidebar-select/select-lead.tsx
similarity index 100%
rename from apps/app/components/modules/sidebar-select/select-lead.tsx
rename to web/components/modules/sidebar-select/select-lead.tsx
diff --git a/apps/app/components/modules/sidebar-select/select-members.tsx b/web/components/modules/sidebar-select/select-members.tsx
similarity index 100%
rename from apps/app/components/modules/sidebar-select/select-members.tsx
rename to web/components/modules/sidebar-select/select-members.tsx
diff --git a/apps/app/components/modules/sidebar-select/select-status.tsx b/web/components/modules/sidebar-select/select-status.tsx
similarity index 100%
rename from apps/app/components/modules/sidebar-select/select-status.tsx
rename to web/components/modules/sidebar-select/select-status.tsx
diff --git a/apps/app/components/modules/sidebar.tsx b/web/components/modules/sidebar.tsx
similarity index 100%
rename from apps/app/components/modules/sidebar.tsx
rename to web/components/modules/sidebar.tsx
diff --git a/apps/app/components/modules/single-module-card.tsx b/web/components/modules/single-module-card.tsx
similarity index 100%
rename from apps/app/components/modules/single-module-card.tsx
rename to web/components/modules/single-module-card.tsx
diff --git a/apps/app/components/notifications/index.ts b/web/components/notifications/index.ts
similarity index 100%
rename from apps/app/components/notifications/index.ts
rename to web/components/notifications/index.ts
diff --git a/apps/app/components/notifications/notification-card.tsx b/web/components/notifications/notification-card.tsx
similarity index 99%
rename from apps/app/components/notifications/notification-card.tsx
rename to web/components/notifications/notification-card.tsx
index 9bb0715a854..29fe579a88e 100644
--- a/apps/app/components/notifications/notification-card.tsx
+++ b/web/components/notifications/notification-card.tsx
@@ -210,7 +210,7 @@ export const NotificationCard: React.FC = (props) => {
{
+ menuButtonOnClick={(e: { stopPropagation: () => void }) => {
e.stopPropagation();
}}
customButton={
diff --git a/apps/app/components/notifications/notification-header.tsx b/web/components/notifications/notification-header.tsx
similarity index 100%
rename from apps/app/components/notifications/notification-header.tsx
rename to web/components/notifications/notification-header.tsx
diff --git a/apps/app/components/notifications/notification-popover.tsx b/web/components/notifications/notification-popover.tsx
similarity index 100%
rename from apps/app/components/notifications/notification-popover.tsx
rename to web/components/notifications/notification-popover.tsx
diff --git a/apps/app/components/notifications/select-snooze-till-modal.tsx b/web/components/notifications/select-snooze-till-modal.tsx
similarity index 100%
rename from apps/app/components/notifications/select-snooze-till-modal.tsx
rename to web/components/notifications/select-snooze-till-modal.tsx
diff --git a/apps/app/components/onboarding/index.ts b/web/components/onboarding/index.ts
similarity index 100%
rename from apps/app/components/onboarding/index.ts
rename to web/components/onboarding/index.ts
diff --git a/apps/app/components/onboarding/invite-members.tsx b/web/components/onboarding/invite-members.tsx
similarity index 100%
rename from apps/app/components/onboarding/invite-members.tsx
rename to web/components/onboarding/invite-members.tsx
diff --git a/apps/app/components/onboarding/join-workspaces.tsx b/web/components/onboarding/join-workspaces.tsx
similarity index 100%
rename from apps/app/components/onboarding/join-workspaces.tsx
rename to web/components/onboarding/join-workspaces.tsx
diff --git a/apps/app/components/onboarding/tour/index.ts b/web/components/onboarding/tour/index.ts
similarity index 100%
rename from apps/app/components/onboarding/tour/index.ts
rename to web/components/onboarding/tour/index.ts
diff --git a/apps/app/components/onboarding/tour/root.tsx b/web/components/onboarding/tour/root.tsx
similarity index 100%
rename from apps/app/components/onboarding/tour/root.tsx
rename to web/components/onboarding/tour/root.tsx
diff --git a/apps/app/components/onboarding/tour/sidebar.tsx b/web/components/onboarding/tour/sidebar.tsx
similarity index 100%
rename from apps/app/components/onboarding/tour/sidebar.tsx
rename to web/components/onboarding/tour/sidebar.tsx
diff --git a/apps/app/components/onboarding/user-details.tsx b/web/components/onboarding/user-details.tsx
similarity index 100%
rename from apps/app/components/onboarding/user-details.tsx
rename to web/components/onboarding/user-details.tsx
diff --git a/apps/app/components/onboarding/workspace.tsx b/web/components/onboarding/workspace.tsx
similarity index 100%
rename from apps/app/components/onboarding/workspace.tsx
rename to web/components/onboarding/workspace.tsx
diff --git a/apps/app/components/pages/create-block.tsx b/web/components/pages/create-block.tsx
similarity index 100%
rename from apps/app/components/pages/create-block.tsx
rename to web/components/pages/create-block.tsx
diff --git a/apps/app/components/pages/create-update-block-inline.tsx b/web/components/pages/create-update-block-inline.tsx
similarity index 100%
rename from apps/app/components/pages/create-update-block-inline.tsx
rename to web/components/pages/create-update-block-inline.tsx
diff --git a/apps/app/components/pages/create-update-page-modal.tsx b/web/components/pages/create-update-page-modal.tsx
similarity index 100%
rename from apps/app/components/pages/create-update-page-modal.tsx
rename to web/components/pages/create-update-page-modal.tsx
diff --git a/apps/app/components/pages/delete-page-modal.tsx b/web/components/pages/delete-page-modal.tsx
similarity index 100%
rename from apps/app/components/pages/delete-page-modal.tsx
rename to web/components/pages/delete-page-modal.tsx
diff --git a/apps/app/components/pages/index.ts b/web/components/pages/index.ts
similarity index 100%
rename from apps/app/components/pages/index.ts
rename to web/components/pages/index.ts
diff --git a/apps/app/components/pages/page-form.tsx b/web/components/pages/page-form.tsx
similarity index 100%
rename from apps/app/components/pages/page-form.tsx
rename to web/components/pages/page-form.tsx
diff --git a/apps/app/components/pages/pages-list/all-pages-list.tsx b/web/components/pages/pages-list/all-pages-list.tsx
similarity index 100%
rename from apps/app/components/pages/pages-list/all-pages-list.tsx
rename to web/components/pages/pages-list/all-pages-list.tsx
diff --git a/apps/app/components/pages/pages-list/favorite-pages-list.tsx b/web/components/pages/pages-list/favorite-pages-list.tsx
similarity index 100%
rename from apps/app/components/pages/pages-list/favorite-pages-list.tsx
rename to web/components/pages/pages-list/favorite-pages-list.tsx
diff --git a/apps/app/components/pages/pages-list/index.ts b/web/components/pages/pages-list/index.ts
similarity index 100%
rename from apps/app/components/pages/pages-list/index.ts
rename to web/components/pages/pages-list/index.ts
diff --git a/apps/app/components/pages/pages-list/my-pages-list.tsx b/web/components/pages/pages-list/my-pages-list.tsx
similarity index 100%
rename from apps/app/components/pages/pages-list/my-pages-list.tsx
rename to web/components/pages/pages-list/my-pages-list.tsx
diff --git a/apps/app/components/pages/pages-list/other-pages-list.tsx b/web/components/pages/pages-list/other-pages-list.tsx
similarity index 100%
rename from apps/app/components/pages/pages-list/other-pages-list.tsx
rename to web/components/pages/pages-list/other-pages-list.tsx
diff --git a/apps/app/components/pages/pages-list/recent-pages-list.tsx b/web/components/pages/pages-list/recent-pages-list.tsx
similarity index 100%
rename from apps/app/components/pages/pages-list/recent-pages-list.tsx
rename to web/components/pages/pages-list/recent-pages-list.tsx
diff --git a/apps/app/components/pages/pages-list/types.ts b/web/components/pages/pages-list/types.ts
similarity index 100%
rename from apps/app/components/pages/pages-list/types.ts
rename to web/components/pages/pages-list/types.ts
diff --git a/apps/app/components/pages/pages-view.tsx b/web/components/pages/pages-view.tsx
similarity index 100%
rename from apps/app/components/pages/pages-view.tsx
rename to web/components/pages/pages-view.tsx
diff --git a/apps/app/components/pages/single-page-block.tsx b/web/components/pages/single-page-block.tsx
similarity index 100%
rename from apps/app/components/pages/single-page-block.tsx
rename to web/components/pages/single-page-block.tsx
diff --git a/apps/app/components/pages/single-page-detailed-item.tsx b/web/components/pages/single-page-detailed-item.tsx
similarity index 100%
rename from apps/app/components/pages/single-page-detailed-item.tsx
rename to web/components/pages/single-page-detailed-item.tsx
diff --git a/apps/app/components/pages/single-page-list-item.tsx b/web/components/pages/single-page-list-item.tsx
similarity index 100%
rename from apps/app/components/pages/single-page-list-item.tsx
rename to web/components/pages/single-page-list-item.tsx
diff --git a/apps/app/components/profile/index.ts b/web/components/profile/index.ts
similarity index 100%
rename from apps/app/components/profile/index.ts
rename to web/components/profile/index.ts
diff --git a/apps/app/components/profile/navbar.tsx b/web/components/profile/navbar.tsx
similarity index 100%
rename from apps/app/components/profile/navbar.tsx
rename to web/components/profile/navbar.tsx
diff --git a/apps/app/components/profile/overview/activity.tsx b/web/components/profile/overview/activity.tsx
similarity index 100%
rename from apps/app/components/profile/overview/activity.tsx
rename to web/components/profile/overview/activity.tsx
diff --git a/apps/app/components/profile/overview/index.ts b/web/components/profile/overview/index.ts
similarity index 100%
rename from apps/app/components/profile/overview/index.ts
rename to web/components/profile/overview/index.ts
diff --git a/apps/app/components/profile/overview/priority-distribution.tsx b/web/components/profile/overview/priority-distribution.tsx
similarity index 100%
rename from apps/app/components/profile/overview/priority-distribution.tsx
rename to web/components/profile/overview/priority-distribution.tsx
diff --git a/apps/app/components/profile/overview/state-distribution.tsx b/web/components/profile/overview/state-distribution.tsx
similarity index 100%
rename from apps/app/components/profile/overview/state-distribution.tsx
rename to web/components/profile/overview/state-distribution.tsx
diff --git a/apps/app/components/profile/overview/stats.tsx b/web/components/profile/overview/stats.tsx
similarity index 100%
rename from apps/app/components/profile/overview/stats.tsx
rename to web/components/profile/overview/stats.tsx
diff --git a/apps/app/components/profile/overview/workload.tsx b/web/components/profile/overview/workload.tsx
similarity index 100%
rename from apps/app/components/profile/overview/workload.tsx
rename to web/components/profile/overview/workload.tsx
diff --git a/apps/app/components/profile/profile-issues-view-options.tsx b/web/components/profile/profile-issues-view-options.tsx
similarity index 100%
rename from apps/app/components/profile/profile-issues-view-options.tsx
rename to web/components/profile/profile-issues-view-options.tsx
diff --git a/apps/app/components/profile/profile-issues-view.tsx b/web/components/profile/profile-issues-view.tsx
similarity index 100%
rename from apps/app/components/profile/profile-issues-view.tsx
rename to web/components/profile/profile-issues-view.tsx
diff --git a/apps/app/components/profile/sidebar.tsx b/web/components/profile/sidebar.tsx
similarity index 100%
rename from apps/app/components/profile/sidebar.tsx
rename to web/components/profile/sidebar.tsx
diff --git a/apps/app/components/project/confirm-project-member-remove.tsx b/web/components/project/confirm-project-member-remove.tsx
similarity index 100%
rename from apps/app/components/project/confirm-project-member-remove.tsx
rename to web/components/project/confirm-project-member-remove.tsx
diff --git a/apps/app/components/project/create-project-modal.tsx b/web/components/project/create-project-modal.tsx
similarity index 100%
rename from apps/app/components/project/create-project-modal.tsx
rename to web/components/project/create-project-modal.tsx
diff --git a/apps/app/components/project/delete-project-modal.tsx b/web/components/project/delete-project-modal.tsx
similarity index 100%
rename from apps/app/components/project/delete-project-modal.tsx
rename to web/components/project/delete-project-modal.tsx
diff --git a/apps/app/components/project/index.ts b/web/components/project/index.ts
similarity index 87%
rename from apps/app/components/project/index.ts
rename to web/components/project/index.ts
index e5ece39559a..a2fed74b845 100644
--- a/apps/app/components/project/index.ts
+++ b/web/components/project/index.ts
@@ -1,7 +1,7 @@
export * from "./create-project-modal";
export * from "./delete-project-modal";
export * from "./sidebar-list";
-export * from "./settings-header"
+export * from "./settings-header";
export * from "./single-integration-card";
export * from "./single-project-card";
export * from "./single-sidebar-project";
diff --git a/apps/app/components/project/join-project-modal.tsx b/web/components/project/join-project-modal.tsx
similarity index 100%
rename from apps/app/components/project/join-project-modal.tsx
rename to web/components/project/join-project-modal.tsx
diff --git a/apps/app/components/project/publish-project/modal.tsx b/web/components/project/publish-project/modal.tsx
similarity index 57%
rename from apps/app/components/project/publish-project/modal.tsx
rename to web/components/project/publish-project/modal.tsx
index b22a496f5d9..173a5242c32 100644
--- a/apps/app/components/project/publish-project/modal.tsx
+++ b/web/components/project/publish-project/modal.tsx
@@ -6,7 +6,14 @@ import { Controller, useForm } from "react-hook-form";
// headless ui
import { Dialog, Transition } from "@headlessui/react";
// ui components
-import { ToggleSwitch, PrimaryButton, SecondaryButton, Icon, DangerButton } from "components/ui";
+import {
+ ToggleSwitch,
+ PrimaryButton,
+ SecondaryButton,
+ Icon,
+ DangerButton,
+ Loader,
+} from "components/ui";
import { CustomPopover } from "./popover";
// mobx react lite
import { observer } from "mobx-react-lite";
@@ -146,22 +153,14 @@ export const PublishProjectModal: React.FC = observer(() => {
const projectId = projectPublish.project_id;
return projectPublish
- .createProjectSettingsAsync(
- workspaceSlug.toString(),
- projectId?.toString() ?? "",
- payload,
- user
- )
- .then((response) => {
+ .publishProject(workspaceSlug.toString(), projectId?.toString() ?? "", payload, user)
+ .then((res) => {
mutateProjectDetails();
handleClose();
if (projectId) window.open(`${plane_deploy_url}/${workspaceSlug}/${projectId}`, "_blank");
- return response;
+ return res;
})
- .catch((error) => {
- console.error("error", error);
- return error;
- });
+ .catch((err) => err);
};
const handleUpdatePublishSettings = async (payload: IProjectPublishSettings) => {
@@ -199,7 +198,7 @@ export const PublishProjectModal: React.FC = observer(() => {
setIsUnpublishing(true);
projectPublish
- .deleteProjectSettingsAsync(
+ .unPublishProject(
workspaceSlug.toString(),
projectPublish.project_id as string,
publishId,
@@ -329,7 +328,7 @@ export const PublishProjectModal: React.FC = observer(() => {
{/* heading */}