Commit fd11d555 authored by Max Alekseenko's avatar Max Alekseenko

fix marketplace categories

parent c15859e2
import { useQuery } from '@tanstack/react-query'; import { useQuery } from '@tanstack/react-query';
import _groudBy from 'lodash/groupBy';
import React from 'react'; import React from 'react';
import type { MarketplaceAppOverview } from 'types/client/marketplace'; import type { MarketplaceAppOverview } from 'types/client/marketplace';
...@@ -31,7 +30,16 @@ export default function useMarketplaceCategories(apps: Array<MarketplaceAppOverv ...@@ -31,7 +30,16 @@ export default function useMarketplaceCategories(apps: Array<MarketplaceAppOverv
} }
let categoryNames: Array<string> = []; let categoryNames: Array<string> = [];
const grouped = _groudBy(apps, app => app.categories); const grouped: { [key: string]: number } = {};
apps?.forEach(app => {
app.categories.forEach(category => {
if (grouped[category] === undefined) {
grouped[category] = 0;
}
grouped[category]++;
});
});
if (data?.length && !isPlaceholderData && isExperiment) { if (data?.length && !isPlaceholderData && isExperiment) {
categoryNames = data; categoryNames = data;
...@@ -40,7 +48,7 @@ export default function useMarketplaceCategories(apps: Array<MarketplaceAppOverv ...@@ -40,7 +48,7 @@ export default function useMarketplaceCategories(apps: Array<MarketplaceAppOverv
} }
return categoryNames return categoryNames
.map(category => ({ name: category, count: grouped[category]?.length || 0 })) .map(category => ({ name: category, count: grouped[category] || 0 }))
.filter(c => c.count > 0); .filter(c => c.count > 0);
}, [ apps, isAppsPlaceholderData, data, isPlaceholderData, isExperiment ]); }, [ apps, isAppsPlaceholderData, data, isPlaceholderData, isExperiment ]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment