sort by modtime

Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
Hadi
2025-09-29 21:38:40 +02:00
parent 6b0bf83c97
commit 81ff9804bb
2 changed files with 33 additions and 24 deletions

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import type { Dataleak } from "$src/lib/types";
import { Database, Replace, Search } from "@lucide/svelte";
import { Search } from "@lucide/svelte";
import FaviconOrIcon from "../../favicon-or-icon.svelte";
let {
@@ -15,33 +15,41 @@
let page = $state(1);
let filter = $state("");
let filteredDataleaks = $state<Dataleak[]>(dataleaks);
let filteredDataleaks = $state<Dataleak[]>([]);
let paginatedDataleaks = $state<Dataleak[]>([]);
let totalPages = $state(0);
$effect(() => {
if (filter.trim() === "") {
filteredDataleaks = dataleaks;
} else {
const lowerFilter = filter.toLowerCase();
filteredDataleaks = dataleaks.filter((item) =>
item.Name.toLowerCase().includes(lowerFilter),
);
}
page = 1;
});
  function sortByModTime(arr: Dataleak[]): Dataleak[] {
    return arr.slice().sort((a, b) => {
      return new Date(b.ModTime).getTime() - new Date(a.ModTime).getTime();
    });
  }
$effect(() => {
if (filteredDataleaks) {
totalPages = Math.ceil(filteredDataleaks.length / perPage);
const start = (page - 1) * perPage;
const end = start + perPage;
paginatedDataleaks = filteredDataleaks.slice(start, end);
if (page > totalPages) {
page = totalPages > 0 ? totalPages : 1;
}
}
});
  $effect(() => {
    const sortedData = sortByModTime(dataleaks);
    if (filter.trim() === "") {
      filteredDataleaks = sortedData;
    } else {
      const lowerFilter = filter.toLowerCase();
      filteredDataleaks = sortedData.filter((item) =>
        item.Name.toLowerCase().includes(lowerFilter),
      );
    }
    page = 1;
  });
  $effect(() => {
    if (filteredDataleaks) {
      totalPages = Math.ceil(filteredDataleaks.length / perPage);
      const start = (page - 1) * perPage;
      const end = start + perPage;
      paginatedDataleaks = filteredDataleaks.slice(start, end);
      if (page > totalPages) {
        page = totalPages > 0 ? totalPages : 1;
      }
    }
  });
function getDomain(dataleakName: string) {
const firstPart = dataleakName.split(" ")[0].toLowerCase();

View File

@@ -81,4 +81,5 @@ export type Dataleak = {
Columns: string[];
Length: number;
Size: number;
ModTime: string;
};