feat: redesign referral network with scope selector

- Replace full graph with scoped view (campaign/partner/user)
- ScopeSelector component with tabs and searchable dropdown
- Store resets all state on scope change (selection, hover, filters)
- Remove dead NetworkSearch component and graphInstance globals
- i18n keys for scope selector in all 4 locales
This commit is contained in:
Fringg
2026-03-20 01:50:09 +03:00
parent 2adb0047dd
commit a6faf702ec
13 changed files with 549 additions and 288 deletions

View File

@@ -4,11 +4,19 @@ import type {
NetworkUserDetail,
NetworkCampaignDetail,
NetworkSearchResult,
ScopeOptionsData,
} from '@/types/referralNetwork';
export const referralNetworkApi = {
getNetworkGraph: async (): Promise<NetworkGraphData> => {
const response = await apiClient.get('/cabinet/admin/referral-network/');
getScopeOptions: async (): Promise<ScopeOptionsData> => {
const response = await apiClient.get('/cabinet/admin/referral-network/scope-options');
return response.data;
},
getScopedGraph: async (scope: string, id: number): Promise<NetworkGraphData> => {
const response = await apiClient.get('/cabinet/admin/referral-network/scoped', {
params: { scope, id },
});
return response.data;
},