From c68001fcc1227df22817aecaa7d31c902332d6f3 Mon Sep 17 00:00:00 2001 From: Untone Date: Sun, 4 Feb 2024 12:17:02 +0300 Subject: [PATCH] fmt-lint --- package-lock.json | 100 ++++++++++++++++++++++++----- package.json | 1 + src/components/Discours/Donate.tsx | 60 +++++++++-------- 3 files changed, 120 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 97ba42f1..ecb1857a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "discoursio-webapp", - "version": "0.9.1", + "version": "0.9.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "discoursio-webapp", - "version": "0.9.1", + "version": "0.9.2", "hasInstallScript": true, "license": "MIT", "dependencies": { "@authorizerdev/authorizer-js": "2.0.0", "@solid-primitives/pagination": "0.2.10", + "cloudpayments": "6.0.1", "cropperjs": "1.6.1", "form-data": "4.0.0", "ga-gtag": "1.2.0", @@ -5614,17 +5615,30 @@ "version": "20.9.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", - "dev": true, "dependencies": { "undici-types": "~5.26.4" } }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, + "node_modules/@types/object-hash": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-2.2.1.tgz", + "integrity": "sha512-i/rtaJFCsPljrZvP/akBqEwUP2y5cZLOmvO+JaYnz01aPknrQ+hB5MRcO7iqCUsFaYfTG8kGfKUyboA07xeDHQ==" + }, "node_modules/@types/object.omit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/object.omit/-/object.omit-3.0.3.tgz", @@ -5637,6 +5651,11 @@ "integrity": "sha512-5PjwB0uP2XDp3nt5u5NJAG2DORHIRClPzWT/TTZhJ2Ekwe8M5bA9tvPdi9NO/n2uvu2/ictat8kgqvLfcIE1SA==", "dev": true }, + "node_modules/@types/qs": { + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" + }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", @@ -6397,7 +6416,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "dev": true, "dependencies": { "function-bind": "^1.1.2", "get-intrinsic": "^1.2.1", @@ -6793,6 +6811,25 @@ "node": ">=0.8" } }, + "node_modules/cloudpayments": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cloudpayments/-/cloudpayments-6.0.1.tgz", + "integrity": "sha512-JxYTw8mY+K7i1a9s6T1E1Z7SglghRP2up3XDG5pwW3nQtvSekZbljEvqyDRIZSz2NSXoeRd//Zrd+b0xu22ogQ==", + "dependencies": { + "@types/node": "^16.4.6", + "@types/node-fetch": "^2.5.12", + "@types/object-hash": "^2.1.1", + "@types/qs": "^6.9.7", + "node-fetch": "^2.6.0", + "object-hash": "^2.2.0", + "qs": "^6.10.1" + } + }, + "node_modules/cloudpayments/node_modules/@types/node": { + "version": "16.18.79", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.79.tgz", + "integrity": "sha512-Qd7jdLR5zmnIyMhfDrfPqN5tUCvreVpP3Qrf2oSM+F7SNzlb/MwHISGUkdFHtevfkPJ3iAGyeQI/jsbh9EStgQ==" + }, "node_modules/clsx": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", @@ -7237,7 +7274,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dev": true, "dependencies": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", @@ -7892,7 +7928,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7924,7 +7959,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "dev": true, "dependencies": { "function-bind": "^1.1.2", "has-proto": "^1.0.1", @@ -8074,7 +8108,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -8400,7 +8433,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dev": true, "dependencies": { "get-intrinsic": "^1.2.2" }, @@ -8412,7 +8444,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -8424,7 +8455,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -8436,7 +8466,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -12749,6 +12778,22 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -13665,6 +13710,20 @@ "node": ">=6.0.0" } }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -14086,7 +14145,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "dev": true, "dependencies": { "define-data-property": "^1.1.1", "get-intrinsic": "^1.2.1", @@ -14133,6 +14191,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -15221,8 +15292,7 @@ "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/uniqolor": { "version": "1.1.0", diff --git a/package.json b/package.json index e31858aa..eb8b6982 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "dependencies": { "@authorizerdev/authorizer-js": "2.0.0", "@solid-primitives/pagination": "0.2.10", + "cloudpayments": "6.0.1", "cropperjs": "1.6.1", "form-data": "4.0.0", "ga-gtag": "1.2.0", diff --git a/src/components/Discours/Donate.tsx b/src/components/Discours/Donate.tsx index 785dc311..aa4421fc 100644 --- a/src/components/Discours/Donate.tsx +++ b/src/components/Discours/Donate.tsx @@ -7,6 +7,9 @@ import { showModal } from '../../stores/ui' import styles from './Donate.module.scss' +// biome-ignore lint/suspicious/noExplicitAny: +type DWindow = Window & { cp: any } + export const Donate = () => { const { t } = useLocalize() const once = '' @@ -29,33 +32,38 @@ export const Donate = () => { } = useSnackbar() const initiated = () => { - const CloudPayments = window.cp // Checkout(cpOptions) - setWidget(new CloudPayments()) - console.log('[donate] payments initiated') - setCustomerReciept({ - Items: [ - //товарные позиции - { - label: cpOptions.description, //наименование товара - price: amount() || 0, //цена - quantity: 1, //количество - amount: amount() || 0, //сумма - vat: 20, //ставка НДС - method: 0, // тег-1214 признак способа расчета - признак способа расчета - object: 0, // тег-1212 признак предмета расчета - признак предмета товара, работы, услуги, платежа, выплаты, иного предмета расчета + try { + const { cp: CloudPayments } = window as unknown as DWindow + + setWidget(new CloudPayments()) + console.log('[donate] payments initiated') + setCustomerReciept({ + Items: [ + //товарные позиции + { + label: cpOptions.description, //наименование товара + price: amount() || 0, //цена + quantity: 1, //количество + amount: amount() || 0, //сумма + vat: 20, //ставка НДС + method: 0, // тег-1214 признак способа расчета - признак способа расчета + object: 0, // тег-1212 признак предмета расчета - признак предмета товара, работы, услуги, платежа, выплаты, иного предмета расчета + }, + ], + // taxationSystem: 0, //система налогообложения; необязательный, если у вас одна система налогообложения + // email: 'user@example.com', //e-mail покупателя, если нужно отправить письмо с чеком + // phone: '', //телефон покупателя в любом формате, если нужно отправить сообщение со ссылкой на чек + isBso: false, //чек является бланком строгой отчетности + amounts: { + electronic: amount(), // Сумма оплаты электронными деньгами + advancePayment: 0, // Сумма из предоплаты (зачетом аванса) (2 знака после запятой) + credit: 0, // Сумма постоплатой(в кредит) (2 знака после запятой) + provision: 0, // Сумма оплаты встречным предоставлением (сертификаты, др. мат.ценности) (2 знака после запятой) }, - ], - // taxationSystem: 0, //система налогообложения; необязательный, если у вас одна система налогообложения - // email: 'user@example.com', //e-mail покупателя, если нужно отправить письмо с чеком - // phone: '', //телефон покупателя в любом формате, если нужно отправить сообщение со ссылкой на чек - isBso: false, //чек является бланком строгой отчетности - amounts: { - electronic: amount(), // Сумма оплаты электронными деньгами - advancePayment: 0, // Сумма из предоплаты (зачетом аванса) (2 знака после запятой) - credit: 0, // Сумма постоплатой(в кредит) (2 знака после запятой) - provision: 0, // Сумма оплаты встречным предоставлением (сертификаты, др. мат.ценности) (2 знака после запятой) - }, - }) + }) + } catch (error) { + console.error(error) + } } onMount(() => {