From 3991efd03046498607813c31408df050eca5a5e6 Mon Sep 17 00:00:00 2001 From: FIRST_NAME LAST_NAME Date: Sun, 2 Feb 2025 12:11:07 +0300 Subject: [PATCH] added search in payouts --- src/lib/ui-components/navbar.svelte | 41 +++--- src/routes/payouts/+page.svelte | 198 ++++++++++++++++++++++------ 2 files changed, 184 insertions(+), 55 deletions(-) diff --git a/src/lib/ui-components/navbar.svelte b/src/lib/ui-components/navbar.svelte index 1180aaf..ac48bba 100644 --- a/src/lib/ui-components/navbar.svelte +++ b/src/lib/ui-components/navbar.svelte @@ -5,7 +5,7 @@ import { AuthStorage } from "$lib/tools/storages/auth-storage"; import { redirect } from "$lib/tools/url/URLTools"; import { jwtDecode } from "jwt-decode"; - import { ChevronRightIcon } from "svelte-feather-icons"; + import { ChevronRightIcon, LogOutIcon, XIcon } from "svelte-feather-icons"; let showMenu = false; @@ -18,22 +18,26 @@ showMenu = !showMenu; }} tabindex="0" - class="btn btn-ghost lg:hidden" + class="btn btn-ghost lg:hidden w-[54px] max-w-[54px] p-1" > - - - + {#if !showMenu} + + + + {:else} + + {/if} HostaPay @@ -70,8 +74,11 @@ }); redirect("/admin/login"); }} - class="btn btn-error btn-outline">Выход + Выход + + diff --git a/src/routes/payouts/+page.svelte b/src/routes/payouts/+page.svelte index 97b2ca6..0abb08b 100644 --- a/src/routes/payouts/+page.svelte +++ b/src/routes/payouts/+page.svelte @@ -12,7 +12,7 @@ import { redirect } from "$lib/tools/url/URLTools"; import axios from "axios"; import { isStringEmptyOrSpaces } from "$lib/tools/strings/Strings"; - import { SearchIcon } from "svelte-feather-icons"; + import { CopyIcon, SearchIcon, XCircleIcon } from "svelte-feather-icons"; const payoutsStatusMap = { "0": "Открыта", @@ -37,37 +37,104 @@ let currentPagePayouts = 1; let disablePagesPayouts = false; let currentPayoutsFilter = -1; + let searchFilter = ""; + let searchNoResults = false; async function getPayouts() { disablePagesPayouts = true; - const result = await makePost( - "admin/payouts", - { - type: 0, - page: currentPagePayouts - 1, - filter: currentPayoutsFilter, - }, - // @ts-ignore - makeAuthHeaderForAxios(getAuthInfo()?.a) - ); - console.log(result); - if (result.status === 401) { - sayError("Данные авторизации устарели"); - redirect("/admin/"); + + if (searchFilter === "") { + const result = await makePost( + "admin/payouts", + { + type: 0, + page: currentPagePayouts - 1, + filter: currentPayoutsFilter, + }, + // @ts-ignore + makeAuthHeaderForAxios(getAuthInfo()?.a) + ); + console.log(result); + if (result.status === 401) { + sayError("Данные авторизации устарели"); + redirect("/admin/"); + disablePagesPayouts = false; + // disablePagesUserDeposits = false; + return; + } + if (result.error) { + sayError("Не удалось получить выплаты"); + disablePagesPayouts = false; + // disablePagesUserDeposits = false; + return; + } + payouts = result.data.payouts; + console.log(payouts); + numOfPagesPayouts = result.data.pages === 0 ? 1 : result.data?.pages; disablePagesPayouts = false; - // disablePagesUserDeposits = false; - return; + } else { + currentPagePayouts = 1; + let s = searchFilter.trim(); + let useUUID = s.includes("-") && s.length === 36; + if (useUUID) { + const result = await makePost( + "admin/payout/search", + { + page: currentPagePayouts, + uuid: s, + }, + // @ts-ignore + makeAuthHeaderForAxios(getAuthInfo()?.a) + ); + console.log(result); + if (result.error) { + payouts = []; + numOfPagesPayouts = 1; + disablePagesPayouts = false; + sayError("Ошибка поиска"); + return; + } + if (typeof result.data !== "string") { + payouts = result.data.data; + numOfPagesPayouts = result.data.pages === 0 ? 1 : result.data?.pages; + disablePagesPayouts = false; + } else { + payouts = []; + numOfPagesPayouts = 1; + disablePagesPayouts = false; + } + } else if ((s.length === 16 || s.length === 22) && /^\d+$/.test(s)) { + const result = await makePost( + "admin/payout/search", + { + page: currentPagePayouts, + requisite: s, + }, + // @ts-ignore + makeAuthHeaderForAxios(getAuthInfo()?.a) + ); + console.log(result); + if (result.error) { + payouts = []; + numOfPagesPayouts = 1; + disablePagesPayouts = false; + sayError("Ошибка поиска"); + return; + } + if (typeof result.data !== "string") { + payouts = result.data.data; + numOfPagesPayouts = result.data.pages === 0 ? 1 : result.data?.pages; + disablePagesPayouts = false; + } else { + payouts = []; + numOfPagesPayouts = 1; + disablePagesPayouts = false; + } + } else { + sayError("Проверьте данные для поиска"); + disablePagesPayouts = false; + } } - if (result.error) { - sayError("Не удалось получить выплаты"); - disablePagesPayouts = false; - // disablePagesUserDeposits = false; - return; - } - payouts = result.data.payouts; - console.log(payouts); - numOfPagesPayouts = result.data.pages === 0 ? 1 : result.data?.pages; - disablePagesPayouts = false; } getPayouts(); @@ -412,23 +479,45 @@

Выплаты

-
+
- +
+ + +
-
+
{ @@ -507,7 +596,9 @@ class="fixed inset-0 overflow-auto flex flex-col items-center md:p-32 p-8 pt-[68px] bg-black bg-opacity-50" >
-

ID: {selectedPayout.uuid}

+

+ ID: {selectedPayout.uuid} +

{selectedPayout.creation_time}

-

IP заказчика: {selectedPayout.customer_ip}

-

Карта: {selectedPayout.pan}

+

+ IP заказчика: {selectedPayout.customer_ip} +

+

+ Карта: {selectedPayout.pan} +

-

Сумма

+

Сумма

{selectedPayout.amount} {selectedPayout.code}

+
+

Заказчик

+

+ {selectedPayout.customer_name} + {selectedPayout.customer_surname} +

+
+
+

Команда трейдеров

+

+ {selectedPayout.name} +

+
+

{selectedPayout["trader_uuid"]}

+ +
+