feat: global ui & functional update

This commit is contained in:
ivannoskov
2026-01-21 22:43:54 +03:00
parent 8958d89d12
commit 619fd5c1ef
32 changed files with 3803 additions and 1325 deletions

View File

@@ -165,18 +165,18 @@ export const useDemoSpendingAnalytics = (
if (projectId) {
// Filter by project
const projectPlacements = demoPlacements.filter(
(p) => p.project_id === projectId && p.status === "active"
(p) => p.project_id === projectId && p.status !== "Отмена" && p.status !== "Неактуально"
);
const totalCost = projectPlacements.reduce(
(sum, p) => sum + (p.cost || 0),
(sum, p) => sum + (p.details?.cost?.value || 0),
0
);
const totalSubs = projectPlacements.reduce(
(sum, p) => sum + (p.subscriptions_count || 0),
(sum, p) => sum + (p.placement_post?.subscriptions_count || 0),
0
);
const totalViews = projectPlacements.reduce(
(sum, p) => sum + (p.views_count || 0),
(sum, p) => sum + (p.placement_post?.views_count || 0),
0
);
@@ -188,6 +188,7 @@ export const useDemoSpendingAnalytics = (
avg_cpf: totalSubs > 0 ? totalCost / totalSubs : null,
avg_cpm: totalViews > 0 ? (totalCost / totalViews) * 1000 : null,
chart_data: demoSpendingAnalytics.chart_data.slice(0, 3),
placements_count: 12,
},
isDemo: true,
};
@@ -250,7 +251,7 @@ export const useDemoChannelAnalytics = (
const projectPlacementChannelIds = new Set(
demoPlacements
.filter((p) => p.project_id === projectId)
.map((p) => p.placement_channel_id)
.map((p) => p.channel.id)
);
items = items.filter((a) => projectPlacementChannelIds.has(a.channel_id));
}