Canvas: Get ready for trial
Change-Id: I16088fa041dd0fb35ac801ddbbedf3c1c6e8563d
diff --git a/apps/canvas/front/src/components/actions.tsx b/apps/canvas/front/src/components/actions.tsx
index c7481c1..b8771b3 100644
--- a/apps/canvas/front/src/components/actions.tsx
+++ b/apps/canvas/front/src/components/actions.tsx
@@ -164,6 +164,9 @@
if (projectId == null) {
return;
}
+ if (!confirm("Are you sure you want to delete this project? This action cannot be undone.")) {
+ return;
+ }
const resp = await fetch(`/api/project/${projectId}`, {
method: "DELETE",
});
diff --git a/apps/canvas/front/src/components/resources.tsx b/apps/canvas/front/src/components/resources.tsx
index ddb68ac..1fd631a 100644
--- a/apps/canvas/front/src/components/resources.tsx
+++ b/apps/canvas/front/src/components/resources.tsx
@@ -3,7 +3,7 @@
import { useCallback, useState } from "react";
import { Accordion, AccordionTrigger } from "./ui/accordion";
import { AccordionContent, AccordionItem } from "@radix-ui/react-accordion";
-import { AppState, NodeType, useCategories, useStateStore } from "@/lib/state";
+import { AppState, NodeType, useCategories, useMode, useProjectId, useStateStore } from "@/lib/state";
import { CategoryItem } from "@/lib/categories";
import { Icon } from "./icon";
@@ -25,7 +25,8 @@
export function Resources() {
const store = useStateStore();
const categories = useCategories();
-
+ const projectId = useProjectId();
+ const mode = useMode();
const onResourceAdd = useCallback(
(item: CategoryItem<NodeType>) => {
return () => addResource(item, store);
@@ -48,6 +49,7 @@
key={item.title}
onClick={onResourceAdd(item)}
style={{ justifyContent: "flex-start" }}
+ disabled={projectId == null || mode !== "edit"}
>
<Icon type={item.type} />
{item.title}