Canvas: Get ready for trial

Change-Id: I16088fa041dd0fb35ac801ddbbedf3c1c6e8563d
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}