diff --git a/app/pages/bonus-system/index.vue b/app/pages/bonus-system/index.vue index 3ba22ba..950c82a 100644 --- a/app/pages/bonus-system/index.vue +++ b/app/pages/bonus-system/index.vue @@ -2,11 +2,9 @@ import { useQuery } from '@vue/apollo-composable'; import { ManagerBonusBalancesDocument, - ManagerReferralLinksDocument, ManagerUsersDocument, ManagerWithdrawalRequestsDocument, type ManagerBonusBalancesQuery, - type ManagerReferralLinksQuery, type ManagerUsersQuery, type ManagerWithdrawalRequestsQuery, } from '~/composables/graphql/generated'; @@ -19,7 +17,6 @@ definePageMeta({ }); type BalanceItem = ManagerBonusBalancesQuery['managerBonusBalances'][number]; -type ReferralLinkItem = ManagerReferralLinksQuery['managerReferralLinks'][number]; type ManagerUserItem = ManagerUsersQuery['managerUsers'][number]; type WithdrawalItem = ManagerWithdrawalRequestsQuery['managerWithdrawalRequests'][number]; type ProductCard = { @@ -33,7 +30,6 @@ type ProductCard = { const route = useRoute(); const search = ref(''); const balancesQuery = useQuery(ManagerBonusBalancesDocument); -const referralLinksQuery = useQuery(ManagerReferralLinksDocument); const usersQuery = useQuery(ManagerUsersDocument); const withdrawalsQuery = useQuery(ManagerWithdrawalRequestsDocument, { status: 'PENDING', @@ -95,34 +91,15 @@ const productCards: ProductCard[] = [ ]; const balances = computed(() => balancesQuery.result.value?.managerBonusBalances ?? []); -const referralLinks = computed(() => referralLinksQuery.result.value?.managerReferralLinks ?? []); const users = computed(() => usersQuery.result.value?.managerUsers ?? []); const withdrawals = computed(() => withdrawalsQuery.result.value?.managerWithdrawalRequests ?? []); const usersById = computed(() => new Map(users.value.map((user) => [user.id, user]))); -const referralLinksByReferrer = computed(() => { - const grouped = new Map(); - - for (const link of referralLinks.value) { - const existing = grouped.get(link.referrerId) ?? []; - existing.push(link); - grouped.set(link.referrerId, existing); - } - - return grouped; -}); - const filteredBalances = computed(() => { const query = search.value.trim().toLowerCase(); return balances.value .filter((item) => { - const links = referralLinksByReferrer.value.get(item.userId); - - if (!links?.length) { - return false; - } - if (!query) { return true; } @@ -132,22 +109,11 @@ const filteredBalances = computed(() => { item.email, item.companyName || '', String(item.balance), - ...links.flatMap((link) => [ - link.refereeName, - link.refereeEmail, - link.refereeCompanyName || '', - String(link.bonusPercent), - ]), + String(item.transactionsCount), ] .join(' ') .toLowerCase() .includes(query); - }) - .slice() - .sort((left, right) => { - const leftLatest = referralLinksByReferrer.value.get(left.userId)?.[0]?.createdAt ?? ''; - const rightLatest = referralLinksByReferrer.value.get(right.userId)?.[0]?.createdAt ?? ''; - return rightLatest.localeCompare(leftLatest); }); }); @@ -321,7 +287,7 @@ function compactProductTitle(product: ProductCard) {