From 6ccb16641738701245a148dd576aa44c0ba0c0b3 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Tue, 24 Oct 2023 21:00:11 -0300 Subject: [PATCH] fix(market-card.tsx): change import statement to include useEffect from react to fix missing dependency warning feat(market-card.tsx): add useEffect hook to set the initial value of 'added' state based on whether the flow is already saved or not feat(market-card.tsx): add logic to handleInstall function to check if flowData.current exists before adding flow feat(market-card.tsx): add logic to handleInstall function to fetch component data and create a new flow if flowData.current is null --- .../pages/StorePage/components/market-card.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/pages/StorePage/components/market-card.tsx b/src/frontend/src/pages/StorePage/components/market-card.tsx index 1702ad633..741fada18 100644 --- a/src/frontend/src/pages/StorePage/components/market-card.tsx +++ b/src/frontend/src/pages/StorePage/components/market-card.tsx @@ -1,5 +1,5 @@ import { Link, ToyBrick } from "lucide-react"; -import { useContext, useRef, useState } from "react"; +import { useContext, useEffect, useRef, useState } from "react"; import IconComponent from "../../../components/genericIconComponent"; import { Badge } from "../../../components/ui/badge"; import { Button } from "../../../components/ui/button"; @@ -24,6 +24,10 @@ export const MarketCardComponent = ({ data }: { data: FlowComponent }) => { const { addFlow } = useContext(TabsContext); const flowData = useRef(); + useEffect(() => { + setAdded(savedFlows.has(data.id) ? true : false); + }, [added]); + function handleAdd() { getComponent(data.id).then( (res) => { @@ -47,7 +51,16 @@ export const MarketCardComponent = ({ data }: { data: FlowComponent }) => { } function handleInstall() { - addFlow(true, flowData.current!); + if (flowData.current) { + addFlow(true, flowData.current!); + } else { + getComponent(data.id).then((res) => { + console.log(res); + const newFLow = cloneFLowWithParent(res, res.id, data.is_component); + flowData.current = newFLow; + addFlow(true, newFLow); + }); + } } function handleFork(flowId: string, is_component: boolean) {