diff --git a/src/frontend/src/pages/MainPage/components/saved-components/index.tsx b/src/frontend/src/pages/MainPage/components/saved-components/index.tsx index 3e629ddfa..f81ea939a 100644 --- a/src/frontend/src/pages/MainPage/components/saved-components/index.tsx +++ b/src/frontend/src/pages/MainPage/components/saved-components/index.tsx @@ -1,11 +1,13 @@ import { useContext, useEffect, useState } from "react"; -import PaginatorComponent from "../../../../components/PaginatorComponent"; import { SkeletonCardComponent } from "../../../../components/skeletonCardComponent"; import { alertContext } from "../../../../contexts/alertContext"; import { AuthContext } from "../../../../contexts/authContext"; import { TabsContext } from "../../../../contexts/tabsContext"; -import { getStoreComponents } from "../../../../controllers/API"; +import { + getStoreComponents, + getStoreSavedComponents, +} from "../../../../controllers/API"; import { storeComponent } from "../../../../types/store"; import { MarketCardComponent } from "../../../StorePage/components/market-card"; @@ -22,9 +24,6 @@ export default function SavedComponents(): JSX.Element { const [loading, setLoading] = useState(false); const [filteredCategories, setFilteredCategories] = useState(new Set()); const { setErrorData } = useContext(alertContext); - const [totalRowsCount, setTotalRowsCount] = useState(0); - const [size, setPageSize] = useState(10); - const [index, setPageIndex] = useState(1); useEffect(() => { handleGetComponents(); @@ -32,11 +31,9 @@ export default function SavedComponents(): JSX.Element { const handleGetComponents = () => { setLoading(true); - getStoreComponents(index - 1, 10000) + getStoreComponents(0, 10000) .then((res) => { - setTotalRowsCount(res.length); - setData(res); - setLoading(false); + handleAddedOnly(res); }) .catch((err) => { setLoading(false); @@ -47,13 +44,12 @@ export default function SavedComponents(): JSX.Element { }); }; - function handleChangePagination(pageIndex: number, pageSize: number) { - setLoading(true); - getStoreComponents(pageIndex, pageSize) + function handleAddedOnly(components: storeComponent[]) { + getStoreSavedComponents() .then((res) => { - setData(res); - setPageIndex(pageIndex); - setPageSize(pageSize); + const idSet = new Set(res.map((item) => item.id)); + const filteredArray = components.filter((item) => idSet.has(item.id)); + setData(filteredArray); setLoading(false); }) .catch((err) => { @@ -65,8 +61,6 @@ export default function SavedComponents(): JSX.Element { }); } - const renderPagination = data.length > 0 && !loading; - return ( <> {loading ? ( @@ -92,20 +86,6 @@ export default function SavedComponents(): JSX.Element { )} - - {renderPagination && ( -
- { - handleChangePagination(pageIndex, pageSize); - }} - > -
- )} ); } diff --git a/src/frontend/src/pages/StorePage/components/market-card.tsx b/src/frontend/src/pages/StorePage/components/market-card.tsx index 5b73dad91..4cb38d90b 100644 --- a/src/frontend/src/pages/StorePage/components/market-card.tsx +++ b/src/frontend/src/pages/StorePage/components/market-card.tsx @@ -77,6 +77,10 @@ export const MarketCardComponent = ({ data }: { data: storeComponent }) => { } } + const totalComponentsMetadata = () => { + return data?.metadata ? data.metadata["total"] : 0; + }; + return (
@@ -147,7 +151,7 @@ export const MarketCardComponent = ({ data }: { data: storeComponent }) => { - 123 + {totalComponentsMetadata()} diff --git a/src/frontend/src/pages/StorePage/index.tsx b/src/frontend/src/pages/StorePage/index.tsx index b8c83a3f2..790f44588 100644 --- a/src/frontend/src/pages/StorePage/index.tsx +++ b/src/frontend/src/pages/StorePage/index.tsx @@ -15,7 +15,6 @@ import { SelectTrigger, SelectValue, } from "../../components/ui/select"; -import { Switch } from "../../components/ui/switch"; import { alertContext } from "../../contexts/alertContext"; import { StoreContext } from "../../contexts/storeContext"; import { TabsContext } from "../../contexts/tabsContext"; @@ -47,9 +46,12 @@ export default function StorePage(): JSX.Element { const [size, setPageSize] = useState(10); const [index, setPageIndex] = useState(1); const [errorApiKey, setErrorApiKey] = useState(false); - const { setSavedFlows } = useContext(StoreContext); + const { setSavedFlows, savedFlows } = useContext(StoreContext); const [tags, setTags] = useState([]); const tagListId = useRef<{ id: string; name: string }[]>([]); + const [renderPagination, setRenderPagination] = useState( + searchData?.length > 0 && !loading && !search + ); useEffect(() => { getStoreTags().then((res) => { @@ -59,6 +61,10 @@ export default function StorePage(): JSX.Element { }); }, []); + useEffect(() => { + setRenderPagination(searchData?.length > 0 && !loading && !search); + }, [loading, search]); + async function getSavedComponents() { setLoading(true); const result = await getStoreSavedComponents(); @@ -110,8 +116,10 @@ export default function StorePage(): JSX.Element { setLoading(true); searchComponent(inputText).then( (res) => { - setLoading(false); setSearchData(res); + setData(res); + setRenderPagination(false); + setLoading(false); }, (error) => { setLoading(false); @@ -124,9 +132,11 @@ export default function StorePage(): JSX.Element { getStoreComponents(pageIndex, pageSize) .then((res) => { setData(res); + setSearchData(res); setPageIndex(pageIndex); setPageSize(pageSize); setLoading(false); + setRenderPagination(true); }) .catch((err) => { setSearchData([]); @@ -138,8 +148,6 @@ export default function StorePage(): JSX.Element { }); } - const renderPagination = searchData.length > 0 && !loading && !search; - return ( <>
@@ -171,9 +179,6 @@ export default function StorePage(): JSX.Element {
-
- Added Only -
- { + setFilteredCategories(new Set()); + if (value === "Flow") { + setSearchData(data.filter((f) => f.is_component === false)); + setRenderPagination(false); + } else if (value === "Component") { + setSearchData(data.filter((f) => f.is_component === true)); + setRenderPagination(false); + } else { + setSearchData(data); + setRenderPagination(true); + } + }} + > @@ -264,7 +283,7 @@ export default function StorePage(): JSX.Element {
{renderPagination && ( -
+