diff --git a/services/frontend/src/App.tsx b/services/frontend/src/App.tsx
index 23a0499..7985f6f 100644
--- a/services/frontend/src/App.tsx
+++ b/services/frontend/src/App.tsx
@@ -82,7 +82,7 @@ export default function App() {
}
}
})
- .catch(() => {
+ .catch((err) => {
localStorage.removeItem(LOCAL_STORAGE);
navigate("/login");
});
diff --git a/services/frontend/src/components/Project/index.tsx b/services/frontend/src/components/Project/index.tsx
deleted file mode 100644
index cef0146..0000000
--- a/services/frontend/src/components/Project/index.tsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import { useParams } from "react-router-dom";
-import Spinner from "../global/Spinner";
-import { useProject } from "../../hooks/useProject";
-import KubernetesProject from "./kubernetes";
-import DockerComposeProject from "./docker-compose";
-import { useTitle } from "../../hooks";
-
-interface IProjectProps {
- isAuthenticated: boolean;
-}
-
-const Project = (props: IProjectProps) => {
- const { isAuthenticated } = props;
- const { uuid } = useParams<{ uuid: string }>();
- const { data, error, isFetching } = useProject(uuid);
-
- useTitle(
- [
- isFetching ? "" : data ? data.name : "New project",
- "Container Toolkit"
- ].join(" | ")
- );
-
- if (!isFetching && !error) {
- if (data.project_type === 0) {
- return (
-
- );
- }
-
- if (data.project_type === 1) {
- return (
-
- );
- }
- }
-
- if (error) {
- return (
-
-
- {(error as any)?.response.status === 404 ? <>404> : <>Oops...>}
-
-
- Either this project does not exist, it is private or the link is
- wrong.
-
-
- );
- }
-
- return (
- <>
- {isFetching && (
-
-
-
- )}
- >
- );
-};
-
-export default Project;
diff --git a/services/frontend/src/components/Project/kubernetes/index.tsx b/services/frontend/src/components/Project/kubernetes/index.tsx
index 6cdbcda..e09c9b2 100644
--- a/services/frontend/src/components/Project/kubernetes/index.tsx
+++ b/services/frontend/src/components/Project/kubernetes/index.tsx
@@ -142,6 +142,14 @@ export default function KubernetesProject(props: IProjectProps) {
setCanvasPosition(canvasData.canvas.position);
}, [data]);
+ const debouncedOnCodeChange = useMemo(
+ () =>
+ debounce((code: string) => {
+ //formik.setFieldValue("code", e, false);
+ }, 700),
+ []
+ );
+
const debouncedOnGraphUpdate = useMemo(
() =>
debounce((payload) => {
@@ -163,6 +171,10 @@ export default function KubernetesProject(props: IProjectProps) {
[]
);
+ const onCodeUpdate = (code: string) => {
+ debouncedOnCodeChange(code);
+ };
+
const onGraphUpdate = (graphData: any) => {
const data = { ...graphData };
const payload = generateKubernetesPayload(data);
@@ -496,8 +508,8 @@ export default function KubernetesProject(props: IProjectProps) {
{
- return;
+ onChange={(e: any) => {
+ onCodeUpdate(e);
}}
disabled={true}
lineWrapping={false}
diff --git a/services/frontend/src/components/Projects/PreviewBlock.tsx b/services/frontend/src/components/Projects/PreviewBlock.tsx
index 9840361..1458e1c 100644
--- a/services/frontend/src/components/Projects/PreviewBlock.tsx
+++ b/services/frontend/src/components/Projects/PreviewBlock.tsx
@@ -25,8 +25,14 @@ const PreviewBlock = (props: IPreviewBlockProps) => {
setIsHovering(false);
};
- const handleClick = () => {
- navigate(`/projects/${project.uuid}`);
+ const handleClick = (e: any) => {
+ if (project.project_type === 0) {
+ navigate(`/projects/docker-compose/${project.uuid}`);
+ }
+
+ if (project.project_type === 1) {
+ navigate(`/projects/kubernetes/${project.uuid}`);
+ }
};
const onDelete = (e: any) => {