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"]}
+
+
+