edit referrals page, add referrals fetch functions
This commit is contained in:
@@ -17,38 +17,34 @@ import DropDownList from '@/app/components/DropDownList';
|
||||
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
||||
import { toast } from 'sonner';
|
||||
import { pluralize } from '@/app/lib/pluralize';
|
||||
import { fetchReferralInvitees } from '@/app/actions/referralsActions';
|
||||
|
||||
type FileItem = {
|
||||
type InviteesType = {
|
||||
status?: string;
|
||||
email?: string;
|
||||
registrationData: number;
|
||||
};
|
||||
|
||||
type ApiFile = {
|
||||
status?: string;
|
||||
type InviteType = {
|
||||
active?: string;
|
||||
email?: string;
|
||||
registrationData: string;
|
||||
regDate: number;
|
||||
};
|
||||
|
||||
type ApiResponse = {
|
||||
files?: ApiFile[];
|
||||
};
|
||||
|
||||
|
||||
export default function InvitationsTable() {
|
||||
const {
|
||||
data: testData,
|
||||
data: referralInvitees,
|
||||
isLoading,
|
||||
isError,
|
||||
error,
|
||||
} = useQuery<ApiResponse, Error, FileItem[], ['testData']>({
|
||||
queryKey: ['testData'],
|
||||
} = useQuery<InviteType[], Error, InviteesType[], ['referralInvitees']>({
|
||||
queryKey: ['referralInvitees'],
|
||||
queryFn: () => {
|
||||
return {}
|
||||
return fetchReferralInvitees();
|
||||
},
|
||||
|
||||
select: (data: ApiResponse): FileItem[] => {
|
||||
if (!data?.files) return [
|
||||
select: (data: InviteType[]): InviteesType[] => {
|
||||
if (!data) return [
|
||||
{
|
||||
status: 'string1',
|
||||
email: 'string1',
|
||||
@@ -66,11 +62,11 @@ export default function InvitationsTable() {
|
||||
}
|
||||
];
|
||||
|
||||
return data.files.map((item: ApiFile) => {
|
||||
return data.map((item: InviteType) => {
|
||||
return {
|
||||
status: 'string',
|
||||
email: 'string',
|
||||
registrationData: 40
|
||||
status: item.active,
|
||||
email: item.email,
|
||||
registrationData: item.regDate
|
||||
};
|
||||
});
|
||||
},
|
||||
@@ -92,7 +88,7 @@ export default function InvitationsTable() {
|
||||
const locale = useLocale();
|
||||
|
||||
// Определение колонок
|
||||
const columns = useMemo<ColumnDef<FileItem>[]>(
|
||||
const columns = useMemo<ColumnDef<InviteesType>[]>(
|
||||
() => [
|
||||
{
|
||||
accessorKey: 'email',
|
||||
@@ -207,7 +203,7 @@ export default function InvitationsTable() {
|
||||
|
||||
// Фильтрация по типу файла и дате
|
||||
const filteredData = useMemo(() => {
|
||||
let result = testData;
|
||||
let result = referralInvitees;
|
||||
if (!result) {
|
||||
return [];
|
||||
}
|
||||
@@ -263,7 +259,7 @@ export default function InvitationsTable() {
|
||||
}
|
||||
|
||||
return result;
|
||||
}, [testData, statusFilter, dateFilter]);
|
||||
}, [referralInvitees, statusFilter, dateFilter]);
|
||||
|
||||
useEffect(() => {
|
||||
const currentPageRows = table.getRowModel().rows;
|
||||
|
||||
Reference in New Issue
Block a user