Fixed adding

This commit is contained in:
Lucas Oliveira 2023-11-16 22:25:22 -03:00
commit 4e7a0fcc32
4 changed files with 73 additions and 81 deletions

View file

@ -1,5 +1,4 @@
import { useContext, useState } from "react"; import { useContext, useState } from "react";
import { useNavigate } from "react-router-dom";
import { alertContext } from "../../contexts/alertContext"; import { alertContext } from "../../contexts/alertContext";
import { FlowsContext } from "../../contexts/flowsContext"; import { FlowsContext } from "../../contexts/flowsContext";
import { StoreContext } from "../../contexts/storeContext"; import { StoreContext } from "../../contexts/storeContext";
@ -45,16 +44,21 @@ export default function CollectionCardComponent({
const name = data.is_component ? "Component" : "Flow"; const name = data.is_component ? "Component" : "Flow";
const navigate = useNavigate();
function handleInstall() { function handleInstall() {
setLoading(true); setLoading(true);
getComponent(data.id).then((res) => { getComponent(data.id).then((res) => {
const newFlow = cloneFLowWithParent(res, res.id, data.is_component); const newFlow = cloneFLowWithParent(res, res.id, data.is_component);
addFlow(true, newFlow).then((id) => { addFlow(true, newFlow)
.then((id) => {
setSuccessData({ title: `${name} Installed` }); setSuccessData({ title: `${name} Installed` });
setLoading(false); setLoading(false);
if (!data.is_component) navigate("/flow/" + id); })
.catch((error) => {
setLoading(false);
setErrorData({
title: `There was an error installing the ${name}`,
list: [error["response"]["data"]["detail"]],
});
}); });
}); });
} }
@ -70,26 +74,19 @@ export default function CollectionCardComponent({
} else { } else {
setLikes_count((prev) => prev - 1); setLikes_count((prev) => prev - 1);
} }
console.log(data.id);
postLikeComponent(data.id) postLikeComponent(data.id)
.then((response) => { .then((response) => {
setLoadingLike(false); setLoadingLike(false);
setLikes_count(response.likes_count); setLikes_count(response.data.likes_count);
setLiked_by_user(response.liked_by_user); setLiked_by_user(response.data.liked_by_user);
}) })
.catch((error) => { .catch((error) => {
setLoadingLike(false); setLoadingLike(false);
setLikes_count(tempNum); setLikes_count(tempNum);
setLiked_by_user(temp); setLiked_by_user(temp);
if (error.response.status === 403 || error.response.status === 401) {
setValidApiKey(false); setValidApiKey(false);
} else {
console.error(error); console.error(error);
setErrorData({
title: `Error liking ${name}.`,
list: [error["response"]["data"]["detail"]],
});
}
}); });
} }
} }

View file

@ -554,6 +554,7 @@ export function FlowsProvider({ children }: { children: ReactNode }) {
}; };
const updateEdges = (edges: Edge[]) => { const updateEdges = (edges: Edge[]) => {
if (edges)
edges.forEach((edge) => { edges.forEach((edge) => {
const targetHandleObject: targetHandleType = scapeJSONParse( const targetHandleObject: targetHandleType = scapeJSONParse(
edge.targetHandle! edge.targetHandle!

View file

@ -789,16 +789,6 @@ export async function getStoreTags() {
} }
} }
export async function postLikeComponent(componentId: string) { export const postLikeComponent = (componentId: string) => {
try { return api.post(`${BASE_URL_API}store/users/likes/${componentId}`);
const res = await api.post( };
`${BASE_URL_API}store/users/likes/${componentId}`
);
if (res.status === 200) {
return res.data;
}
} catch (error) {
console.log("Error:", error);
throw error;
}
}

View file

@ -163,15 +163,19 @@ export function updateIds(
) { ) {
let idsMap = {}; let idsMap = {};
if (newFlow.nodes)
newFlow.nodes.forEach((node: NodeType) => { newFlow.nodes.forEach((node: NodeType) => {
// Generate a unique node ID // Generate a unique node ID
let newId = getNodeId(node.data.node?.flow ? "GroupNode" : node.data.type); let newId = getNodeId(
node.data.node?.flow ? "GroupNode" : node.data.type
);
idsMap[node.id] = newId; idsMap[node.id] = newId;
node.id = newId; node.id = newId;
node.data.id = newId; node.data.id = newId;
// Add the new node to the list of nodes in state // Add the new node to the list of nodes in state
}); });
if (newFlow.edges)
newFlow.edges.forEach((edge: Edge) => { newFlow.edges.forEach((edge: Edge) => {
edge.source = idsMap[edge.source]; edge.source = idsMap[edge.source];
edge.target = idsMap[edge.target]; edge.target = idsMap[edge.target];