parent
750d1b43d7
commit
0066736527
src
lib/components/PaginationTable
routes/admin
@ -1,6 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { onMount, tick } from 'svelte';
|
||||
import { sleep } from '$lib/components/utils';
|
||||
|
||||
export let onUpdate: () => Promise<any> = Promise.resolve;
|
||||
|
||||
|
@ -25,17 +25,20 @@
|
||||
let reportFilter = { draft: false, status: null, reporter: null, reported: null };
|
||||
let activeReport: typeof Report.prototype.dataValues | null = null;
|
||||
|
||||
async function fetchReports(
|
||||
filter?: typeof reportFilter | { hash: string }
|
||||
): Promise<{ reports: typeof reports; count: number }> {
|
||||
async function fetchReports(extendedFilter?: {
|
||||
hash?: string;
|
||||
limit?: number;
|
||||
from?: number;
|
||||
}): Promise<{ reports: typeof reports; count: number }> {
|
||||
if (!browser) return { reports: [], count: 0 };
|
||||
|
||||
const response = await fetch(`${env.PUBLIC_BASE_PATH}/admin/reports`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
...(filter ?? reportFilter),
|
||||
limit: reportsPerRequest,
|
||||
from: reports.length
|
||||
...reportFilter,
|
||||
limit: extendedFilter?.limit ?? reportsPerRequest,
|
||||
from: extendedFilter?.from ?? reports.length,
|
||||
hash: extendedFilter?.hash
|
||||
})
|
||||
});
|
||||
|
||||
@ -92,7 +95,7 @@
|
||||
let saveActiveReportChangesModal: HTMLDialogElement;
|
||||
let newReportModal: HTMLDialogElement;
|
||||
|
||||
$: if (reportFilter) fetchReports().then((r) => (reports = r.reports));
|
||||
$: if (reportFilter) fetchReports({ from: 0 }).then((r) => (reports = r.reports));
|
||||
</script>
|
||||
|
||||
<div class="h-full flex flex-row">
|
||||
|
@ -22,14 +22,21 @@
|
||||
let userTableContainerElement: HTMLDivElement;
|
||||
let newUserModal: HTMLDialogElement;
|
||||
|
||||
async function fetchUsers(): Promise<typeof users> {
|
||||
async function fetchUsers(extendedFilter?: {
|
||||
limit?: number;
|
||||
from?: number;
|
||||
}): Promise<typeof users> {
|
||||
if (!browser) return [];
|
||||
|
||||
if (userTableContainerElement) userTableContainerElement.scrollTop = 0;
|
||||
|
||||
const response = await fetch(`${env.PUBLIC_BASE_PATH}/admin/users`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ ...userFilter, limit: usersPerRequest, from: users.length })
|
||||
body: JSON.stringify({
|
||||
...userFilter,
|
||||
limit: extendedFilter?.limit ?? usersPerRequest,
|
||||
from: extendedFilter?.from ?? users.length
|
||||
})
|
||||
});
|
||||
|
||||
return await response.json();
|
||||
@ -58,7 +65,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
$: if (userFilter) fetchUsers().then((u) => (users = u));
|
||||
$: if (userFilter) fetchUsers({ from: 0 }).then((u) => (users = u));
|
||||
</script>
|
||||
|
||||
<div class="h-full flex flex-col overflow-hidden">
|
||||
|
Loading…
x
Reference in New Issue
Block a user