AppManager: App installation status monitoring

Change-Id: I64f4ae0d27892b74f8827a275907cb75da09a758
diff --git a/apps/canvas/front/src/components/node-rect.tsx b/apps/canvas/front/src/components/node-rect.tsx
index ad0bee7..a568bc0 100644
--- a/apps/canvas/front/src/components/node-rect.tsx
+++ b/apps/canvas/front/src/components/node-rect.tsx
@@ -17,7 +17,7 @@
     const hasWarning = messages.some((m) => m.type === "WARNING");
     const [classes, setClasses] = useState<string[]>([]);
     useEffect(() => {
-        const classes = ["px-4", "py-2", "rounded-md", "bg-white"];
+        const classes = ["px-4", "py-2", "rounded-md"];
         if (hasFatal) {
             classes.push("border-red-500");
         } else if (hasWarning) {
@@ -30,8 +30,14 @@
         } else {
             classes.push("border");
         }
-        if (state === "running") {
+        if (state === "processing") {
             classes.push("animate-pulse");
+        } else if (state === "success") {
+            classes.push("bg-green-500");
+        } else if (state === "failure") {
+            classes.push("bg-red-500");
+        } else {
+            classes.push("bg-white");
         }
         setClasses(classes);
     }, [selected, hasFatal, hasWarning, state, setClasses]);
@@ -44,4 +50,4 @@
         </div>
     )
 
-}
\ No newline at end of file
+}