e.key === 'Enter' && applyFilters()} class="w-full rounded-md border border-input bg-background py-2 pl-9 pr-3 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring" />
applyFilters()}> {statusOptions.find((o) => o.value === statusFilter)?.label || 'All statuses'} {#each statusOptions as option} {/each} {#if data.filters.search || data.filters.status} {/if}
{#if data.reports.length === 0}
No reports found There are no bug reports matching your current filters. {#if data.filters.search || data.filters.status} {:else} {/if}
{:else}
ID Hostname User Reporter Status Files Created {#each data.reports as report (report.id)} goto(`/reports/${report.id}`)} > #{report.id} {report.hostname || '—'} {report.os_user || '—'}
{report.name}
{report.email}
{statusLabels[report.status]} {#if report.file_count > 0} {report.file_count} {:else} {/if} {formatDate(report.created_at)}
{/each}
{/if} {#if data.pagination.totalPages > 1}

Showing {(data.pagination.page - 1) * data.pagination.pageSize + 1} to {Math.min( data.pagination.page * data.pagination.pageSize, data.pagination.total )} of {data.pagination.total} reports

{#each Array.from({ length: data.pagination.totalPages }, (_, i) => i + 1) as p} {#if p === 1 || p === data.pagination.totalPages || (p >= data.pagination.page - 1 && p <= data.pagination.page + 1)} {:else if p === data.pagination.page - 2 || p === data.pagination.page + 2} ... {/if} {/each}
{/if}