From 94d9acf9717ee91219d3d30281d2cb5ebe0e242a Mon Sep 17 00:00:00 2001 From: you Date: Fri, 5 Jul 2024 17:57:45 +0300 Subject: [PATCH] fixes --- package-lock.json | 11 + package.json | 1 + src/lib/auth/Auth.js | 8 +- src/lib/ui-components/navbar.svelte | 8 +- src/lib/ui-components/pagination.svelte | 29 ++ src/routes/+layout.js | 2 + src/routes/+layout.svelte | 2 +- src/routes/+page.svelte | 9 + src/routes/disputes/+page.svelte | 304 ++++++++++++++++++ src/routes/home/+page.svelte | 1 - .../edit/req/[userToken]/[reqID]/+page.js | 14 + .../edit/req/[userToken]/[reqID]/+page.svelte | 143 ++++++++ src/routes/user/neworder/[userToken]/+page.js | 12 + .../user/neworder/[userToken]/+page.svelte | 49 +++ .../user/profile/[userToken]/+page.svelte | 9 +- svelte.config.js | 37 ++- 16 files changed, 623 insertions(+), 16 deletions(-) create mode 100644 src/lib/ui-components/pagination.svelte create mode 100644 src/routes/+layout.js create mode 100644 src/routes/disputes/+page.svelte delete mode 100644 src/routes/home/+page.svelte create mode 100644 src/routes/user/edit/req/[userToken]/[reqID]/+page.js create mode 100644 src/routes/user/edit/req/[userToken]/[reqID]/+page.svelte create mode 100644 src/routes/user/neworder/[userToken]/+page.js create mode 100644 src/routes/user/neworder/[userToken]/+page.svelte diff --git a/package-lock.json b/package-lock.json index 3b46e6c..14d289b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@fontsource/fira-mono": "^4.5.10", "@neoconfetti/svelte": "^1.0.0", "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-static": "^3.0.2", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "@zerodevx/svelte-toast": "^0.9.5", @@ -826,6 +827,16 @@ "@sveltejs/kit": "^2.0.0" } }, + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.2.tgz", + "integrity": "sha512-/EBFydZDwfwFfFEuF1vzUseBoRziwKP7AoHAwv+Ot3M084sE/HTVBHf9mCmXfdM9ijprY5YEugZjleflncX5fQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, "node_modules/@sveltejs/kit": { "version": "2.5.18", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.18.tgz", diff --git a/package.json b/package.json index ede6c59..a44bbc3 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@fontsource/fira-mono": "^4.5.10", "@neoconfetti/svelte": "^1.0.0", "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/adapter-static": "^3.0.2", "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0", "@zerodevx/svelte-toast": "^0.9.5", diff --git a/src/lib/auth/Auth.js b/src/lib/auth/Auth.js index 5324369..11cf0bd 100644 --- a/src/lib/auth/Auth.js +++ b/src/lib/auth/Auth.js @@ -27,8 +27,12 @@ export async function checkAuth() { export function checkAuthSync() { let result = getAuthInfo(); if (!result) return false; - let decoded = jwtDecode(result.a); - return !(isPast(parseISO(new Date(decoded.exp*1000).toISOString()))); + try { + let decoded = jwtDecode(result.a); + return !isPast(parseISO(new Date(decoded.exp * 1000).toISOString())); + } catch (e) { + return false; + } } export const makeAuthHeaderForAxios = (jwt) => { diff --git a/src/lib/ui-components/navbar.svelte b/src/lib/ui-components/navbar.svelte index 87cb443..0c844cd 100644 --- a/src/lib/ui-components/navbar.svelte +++ b/src/lib/ui-components/navbar.svelte @@ -1,6 +1,7 @@ @@ -51,6 +52,9 @@ diff --git a/src/lib/ui-components/pagination.svelte b/src/lib/ui-components/pagination.svelte new file mode 100644 index 0000000..cff560f --- /dev/null +++ b/src/lib/ui-components/pagination.svelte @@ -0,0 +1,29 @@ + + +
+ + + +
diff --git a/src/routes/+layout.js b/src/routes/+layout.js new file mode 100644 index 0000000..d2c0be2 --- /dev/null +++ b/src/routes/+layout.js @@ -0,0 +1,2 @@ +export const prerender = true; +export const ssr = false; \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 00439fc..c306817 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -24,7 +24,7 @@ {#if loggedIn} -
+
{/if} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index e69de29..b6e62d2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/routes/disputes/+page.svelte b/src/routes/disputes/+page.svelte new file mode 100644 index 0000000..7111a30 --- /dev/null +++ b/src/routes/disputes/+page.svelte @@ -0,0 +1,304 @@ + + +
+
+
+

Споры

+
+
+
+ { + currentPageDisputes = n; + getDisputes(); + }} + disableButtons={disablePagesDisputes} + css={"btn-neutral"} + /> +

+ Всего страниц: {numOfPagesDisputes} +

+
+
+ {#if !disablePagesDisputes} + + + + + + + + + + + + + + + + + + {#each disputes as dispute} + + + + + + + + + + + + {/each} + +
IDСтатусСБПКартаТелефонКурсСуммаВремя созданияОпции
{dispute["order_id"]}{disputesStatusMap[dispute["order_status"]]}{dispute["is_sbp"] === "t" ? "да" : "нет"}{dispute["requisite_cardnumber"]}{dispute["requisite_phone"]}{dispute["order_rate"]}{dispute["amount"]}{dispute["order_creationtime"]} { + selectedDispute = dispute; + showFullInfo = true; + }} + class="flex gap-2" + > + +
+ {:else} + + {/if} +
+
+
+ +{#if showFullInfo} +
+
+

ID: {selectedDispute.order_id}

+

+ {disputesStatusMap[selectedDispute["order_status"]]} +

+

{selectedDispute.order_creationtime}

+
+

{selectedDispute.name}

+

Карта: {selectedDispute.requisite_cardnumber}

+

Телефон: {selectedDispute.requisite_phone}

+
+
+

Курс

+

{selectedDispute.order_rate} RUB

+
+
+

Сумма по факту

+

+ {Number(selectedDispute.order_rate) * Number(selectedDispute.amount)} RUB +

+
+ {#if selectedDispute["order_status"] === "4"} + + + {/if} + {#if selectedDispute["order_status"] !== "4"} + + {/if} + +
+
+{/if} diff --git a/src/routes/home/+page.svelte b/src/routes/home/+page.svelte deleted file mode 100644 index 6fd04ab..0000000 --- a/src/routes/home/+page.svelte +++ /dev/null @@ -1 +0,0 @@ -

BOO1

\ No newline at end of file diff --git a/src/routes/user/edit/req/[userToken]/[reqID]/+page.js b/src/routes/user/edit/req/[userToken]/[reqID]/+page.js new file mode 100644 index 0000000..6b70881 --- /dev/null +++ b/src/routes/user/edit/req/[userToken]/[reqID]/+page.js @@ -0,0 +1,14 @@ +import { browser } from "$app/environment"; +import { getAuthInfo, makeAuthHeaderForAxios } from "$lib/auth/Auth"; +import { makePost } from "$lib/tools/requests/requests"; +import { sayError } from "$lib/tools/toaster/Toaster"; + +export async function load({ params }) { + if(!browser) return; + const { userToken } = params; + const { reqID } = params; + return { + token: userToken, + reqID: reqID + }; +} \ No newline at end of file diff --git a/src/routes/user/edit/req/[userToken]/[reqID]/+page.svelte b/src/routes/user/edit/req/[userToken]/[reqID]/+page.svelte new file mode 100644 index 0000000..cfd715c --- /dev/null +++ b/src/routes/user/edit/req/[userToken]/[reqID]/+page.svelte @@ -0,0 +1,143 @@ + + +
+
+
+

Изменение реквизита (ID: {reqID})

+
+
+ {#each reqInfo as req} + + + +
+

Активный:

+ +
+ + + {/each} +
+
diff --git a/src/routes/user/neworder/[userToken]/+page.js b/src/routes/user/neworder/[userToken]/+page.js new file mode 100644 index 0000000..2b81760 --- /dev/null +++ b/src/routes/user/neworder/[userToken]/+page.js @@ -0,0 +1,12 @@ +import { browser } from "$app/environment"; +import { getAuthInfo, makeAuthHeaderForAxios } from "$lib/auth/Auth"; +import { makePost } from "$lib/tools/requests/requests"; +import { sayError } from "$lib/tools/toaster/Toaster"; + +export async function load({ params }) { + if(!browser) return; + const { userToken } = params; + return { + token: userToken, + }; +} \ No newline at end of file diff --git a/src/routes/user/neworder/[userToken]/+page.svelte b/src/routes/user/neworder/[userToken]/+page.svelte new file mode 100644 index 0000000..8d57ed0 --- /dev/null +++ b/src/routes/user/neworder/[userToken]/+page.svelte @@ -0,0 +1,49 @@ + + +
+
+
+

Создание заявок

+
+
+ + {#each { length: numOfOrders } as _, index} +
+

Заявка #{index+1}

+ + +
+ {/each} +
+
diff --git a/src/routes/user/profile/[userToken]/+page.svelte b/src/routes/user/profile/[userToken]/+page.svelte index d9aa741..2937d55 100644 --- a/src/routes/user/profile/[userToken]/+page.svelte +++ b/src/routes/user/profile/[userToken]/+page.svelte @@ -44,7 +44,7 @@ if (userResult.status === 401) { userInfoReloading = false; sayError("Данные авторизации устарели"); - window.location.href = "/"; + redirect("/"); return; } if (userResult.error) { @@ -84,6 +84,7 @@ return; } userOrders = result.data.data; + if(!Array.isArray(userOrders)) userOrders = []; numPagesUserOrders = Number(result.data?.pages); if (numPagesUserOrders === 0) numPagesUserOrders = 1; console.log(result.data); @@ -101,7 +102,7 @@ ); if (result.status === 401) { sayError("Данные авторизации устарели"); - window.location.href = "/"; + redirect("/"); return; } if (result.error) { @@ -109,6 +110,7 @@ return; } userRequisites = result.data; + if(!Array.isArray(userDeposits)) userRequisites = []; console.log(result.data); } @@ -134,7 +136,7 @@ ); if (result.status === 401) { sayError("Данные авторизации устарели"); - window.location.href = "/"; + redirect("/"); disablePagesUserDeposits = false; return; } @@ -144,6 +146,7 @@ return; } userDeposits = result.data.deposits; + if(!Array.isArray(userDeposits)) userDeposits = []; numPagesUserOrders = result.data.pages; disablePagesUserDeposits = false; // console.log(result.data, 'depos'); diff --git a/svelte.config.js b/svelte.config.js index 2ca5922..b8ef852 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,13 +1,36 @@ -import adapter from '@sveltejs/adapter-auto'; +// import adapter from '@sveltejs/adapter-auto'; +import adapter from "@sveltejs/adapter-static"; +// import { prerendering } from 'svelte/internal'; /** @type {import('@sveltejs/kit').Config} */ const config = { - kit: { - // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. - // If your environment is not supported, or you settled on a specific environment, switch out the adapter. - // See https://kit.svelte.dev/docs/adapters for more information about adapters. - adapter: adapter() - } + kit: { + // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. + // If your environment is not supported, or you settled on a specific environment, switch out the adapter. + // See https://kit.svelte.dev/docs/adapters for more information about adapters. + adapter: adapter({ + // default options are shown. On some platforms + // these options are set automatically — see below + pages: "build", + assets: "build", + fallback: undefined, + precompress: false, + strict: true, + }), + prerender: { + // default: true, + entries: [ + "/user/change/sampleToken", + "/user/edit/req/sampleToken/sampleReqID", + "/user/neworder/sampleToken", + "/user/profile/sampleToken", + "/", + "/login", + "/newuser", + "/userslist", + ], + }, + }, }; export default config;