This commit is contained in:
you 2024-11-23 15:25:40 +03:00
parent 766aee45dd
commit 79cc78d772
4 changed files with 545 additions and 37 deletions

229
package-lock.json generated
View File

@ -8,9 +8,11 @@
"name": "svelte-platform-admin-valera",
"version": "0.0.1",
"dependencies": {
"@highcharts/svelte": "^1.1.1",
"axios": "^1.7.2",
"date-fns": "^3.6.0",
"jwt-decode": "^4.0.0",
"ol": "^10.2.1",
"serialize-error": "^11.0.3",
"svelte-feather-icons": "^4.1.0"
},
@ -49,7 +51,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
"integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
@ -457,6 +458,19 @@
"dev": true,
"license": "MIT"
},
"node_modules/@highcharts/svelte": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@highcharts/svelte/-/svelte-1.1.1.tgz",
"integrity": "sha512-PFbVguEn4dH0yCbFZNzvB52i12aeszgFHfoLpX7vryuVyiWAg/RlNgwzpaWIKbxOQoaImA/RSi2Y2WCCbJbuDA==",
"license": "https://www.highcharts.com/license",
"dependencies": {
"lodash.clonedeep": "^4.5.0"
},
"peerDependencies": {
"highcharts": ">11.0.0",
"svelte": ">=3.0.0"
}
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
@ -479,7 +493,6 @@
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
@ -494,7 +507,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6.0.0"
@ -504,7 +516,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6.0.0"
@ -514,14 +525,12 @@
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
"dev": true,
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
@ -573,6 +582,12 @@
"node": ">= 8"
}
},
"node_modules/@petamoriken/float16": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.9.0.tgz",
"integrity": "sha512-rYUZ+VFjPHD0NT2JYKj64NxXxrV642IiyaUxxorTEj0S3hT7B5Ixezyc9Fn+XvSk0ETEBp5VWjGIErzh0ug0Xw==",
"license": "MIT"
},
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@ -923,7 +938,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/pug": {
@ -933,6 +947,12 @@
"dev": true,
"license": "MIT"
},
"node_modules/@types/rbush": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/rbush/-/rbush-3.0.3.tgz",
"integrity": "sha512-lX55lR0iYCgapxD3IrgujpQA1zDxwZI5qMRelKvmKAsSMplFVr7wmMpG7/6+Op2tjrgEex8o3vjg8CRDrRNYxg==",
"license": "MIT"
},
"node_modules/@zerodevx/svelte-toast": {
"version": "0.9.5",
"resolved": "https://registry.npmjs.org/@zerodevx/svelte-toast/-/svelte-toast-0.9.5.tgz",
@ -947,7 +967,6 @@
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz",
"integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==",
"dev": true,
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
@ -1014,7 +1033,6 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"dequal": "^2.0.3"
@ -1079,7 +1097,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz",
"integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"dequal": "^2.0.3"
@ -1232,7 +1249,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
"integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15",
@ -1262,6 +1278,40 @@
"dev": true,
"license": "MIT"
},
"node_modules/color-parse": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz",
"integrity": "sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==",
"license": "MIT",
"dependencies": {
"color-name": "^2.0.0"
}
},
"node_modules/color-parse/node_modules/color-name": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-2.0.0.tgz",
"integrity": "sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow==",
"license": "MIT",
"engines": {
"node": ">=12.20"
}
},
"node_modules/color-rgba": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-3.0.0.tgz",
"integrity": "sha512-PPwZYkEY3M2THEHHV6Y95sGUie77S7X8v+h1r6LSAPF3/LL2xJ8duUXSrkic31Nzc4odPwHgUbiX/XuTYzQHQg==",
"license": "MIT",
"dependencies": {
"color-parse": "^2.0.0",
"color-space": "^2.0.0"
}
},
"node_modules/color-space": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-space/-/color-space-2.0.1.tgz",
"integrity": "sha512-nKqUYlo0vZATVOFHY810BSYjmCARrG7e5R3UE3CQlyjJTvv5kSSmPG1kzm/oDyyqjehM+lW1RnEt9It9GNa5JA==",
"license": "MIT"
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@ -1331,7 +1381,6 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
"integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
"dev": true,
"license": "MIT",
"dependencies": {
"mdn-data": "2.0.30",
@ -1435,7 +1484,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@ -1472,6 +1520,12 @@
"dev": true,
"license": "MIT"
},
"node_modules/earcut": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.0.tgz",
"integrity": "sha512-41Fs7Q/PLq1SDbqjsgcY7GA42T0jvaCNGXgGtsNdvg+Yv8eIu06bxv4/PoREkZ9nMDNwnUSG9OFB9+yv8eKhDg==",
"license": "ISC"
},
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@ -1560,7 +1614,6 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
"integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "^1.0.0"
@ -1710,6 +1763,25 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/geotiff": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/geotiff/-/geotiff-2.1.3.tgz",
"integrity": "sha512-PT6uoF5a1+kbC3tHmZSUsLHBp2QJlHasxxxxPW47QIY1VBKpFB+FcDvX+MxER6UzgLQZ0xDzJ9s48B9JbOCTqA==",
"license": "MIT",
"dependencies": {
"@petamoriken/float16": "^3.4.7",
"lerc": "^3.0.0",
"pako": "^2.0.4",
"parse-headers": "^2.0.2",
"quick-lru": "^6.1.1",
"web-worker": "^1.2.0",
"xml-utils": "^1.0.2",
"zstddec": "^0.1.0"
},
"engines": {
"node": ">=10.19"
}
},
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@ -1779,6 +1851,13 @@
"node": ">= 0.4"
}
},
"node_modules/highcharts": {
"version": "11.4.8",
"resolved": "https://registry.npmjs.org/highcharts/-/highcharts-11.4.8.tgz",
"integrity": "sha512-5Tke9LuzZszC4osaFisxLIcw7xgNGz4Sy3Jc9pRMV+ydm6sYqsPYdU8ELOgpzGNrbrRNDRBtveoR5xS3SzneEA==",
"license": "https://www.highcharts.com/license",
"peer": true
},
"node_modules/import-meta-resolve": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
@ -1885,7 +1964,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
"integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "*"
@ -1946,6 +2024,12 @@
"node": ">=6"
}
},
"node_modules/lerc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz",
"integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==",
"license": "Apache-2.0"
},
"node_modules/lilconfig": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
@ -1967,7 +2051,12 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
"integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
"dev": true,
"license": "MIT"
},
"node_modules/lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
"license": "MIT"
},
"node_modules/lru-cache": {
@ -1984,7 +2073,6 @@
"version": "0.30.10",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
"integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
@ -1994,7 +2082,6 @@
"version": "2.0.30",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
"dev": true,
"license": "CC0-1.0"
},
"node_modules/merge2": {
@ -2203,6 +2290,25 @@
"node": ">= 6"
}
},
"node_modules/ol": {
"version": "10.2.1",
"resolved": "https://registry.npmjs.org/ol/-/ol-10.2.1.tgz",
"integrity": "sha512-2bB/y2vEnmzjqynP0NA7Cp8k86No3Psn63Dueicep3E3i09axWRVIG5IS/bylEAGfWQx0QXD/uljkyFoY60Wig==",
"license": "BSD-2-Clause",
"dependencies": {
"@types/rbush": "3.0.3",
"color-rgba": "^3.0.0",
"color-space": "^2.0.1",
"earcut": "^3.0.0",
"geotiff": "^2.0.7",
"pbf": "4.0.1",
"rbush": "^4.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/openlayers"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@ -2220,6 +2326,18 @@
"dev": true,
"license": "BlueOak-1.0.0"
},
"node_modules/pako": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
"license": "(MIT AND Zlib)"
},
"node_modules/parse-headers": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz",
"integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==",
"license": "MIT"
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@ -2264,11 +2382,22 @@
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/pbf": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz",
"integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==",
"license": "BSD-3-Clause",
"dependencies": {
"resolve-protobuf-schema": "^2.1.0"
},
"bin": {
"pbf": "bin/pbf"
}
},
"node_modules/periscopic": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
"integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "^1.0.0",
@ -2473,6 +2602,12 @@
"dev": true,
"license": "MIT"
},
"node_modules/protocol-buffers-schema": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz",
"integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==",
"license": "MIT"
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@ -2500,6 +2635,33 @@
],
"license": "MIT"
},
"node_modules/quick-lru": {
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz",
"integrity": "sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==",
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/quickselect": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz",
"integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==",
"license": "ISC"
},
"node_modules/rbush": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.1.tgz",
"integrity": "sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==",
"license": "MIT",
"dependencies": {
"quickselect": "^3.0.0"
}
},
"node_modules/read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@ -2541,6 +2703,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/resolve-protobuf-schema": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz",
"integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==",
"license": "MIT",
"dependencies": {
"protocol-buffers-schema": "^3.3.1"
}
},
"node_modules/reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@ -2745,7 +2916,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
@ -2958,7 +3128,6 @@
"version": "4.2.18",
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.18.tgz",
"integrity": "sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.1",
@ -3345,6 +3514,12 @@
}
}
},
"node_modules/web-worker": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz",
"integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==",
"license": "Apache-2.0"
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@ -3466,6 +3641,12 @@
"dev": true,
"license": "ISC"
},
"node_modules/xml-utils": {
"version": "1.10.1",
"resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.10.1.tgz",
"integrity": "sha512-Dn6vJ1Z9v1tepSjvnCpwk5QqwIPcEFKdgnjqfYOABv1ngSofuAhtlugcUC3ehS1OHdgDWSG6C5mvj+Qm15udTQ==",
"license": "CC0-1.0"
},
"node_modules/yaml": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
@ -3478,6 +3659,12 @@
"engines": {
"node": ">= 14"
}
},
"node_modules/zstddec": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz",
"integrity": "sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==",
"license": "MIT AND BSD-3-Clause"
}
}
}

View File

@ -27,9 +27,11 @@
},
"type": "module",
"dependencies": {
"@highcharts/svelte": "^1.1.1",
"axios": "^1.7.2",
"date-fns": "^3.6.0",
"jwt-decode": "^4.0.0",
"ol": "^10.2.1",
"serialize-error": "^11.0.3",
"svelte-feather-icons": "^4.1.0"
}

View File

@ -0,0 +1,304 @@
<script>
// @ts-nocheck
import Highcharts from "highcharts";
import ExportingModule from "highcharts/modules/exporting";
import { Chart } from "@highcharts/svelte";
import { onMount } from "svelte";
import { makePost } from "$lib/tools/requests/requests";
import { getAuthInfo, makeAuthHeaderForAxios } from "$lib/auth/Auth";
export let currencyCode;
export let merchantId;
const bgChartMap = {
dark: "#1c2229",
forest: "#171212",
halloween: "#212121",
light: "#fff",
cmyk: "#fff",
lofi: "#fff",
};
let chartTheme = "";
const darkTheme = {
chart: {
backgroundColor: "#000", // темный фон
style: {
fontFamily: "Onest, sans-serif",
},
},
title: {
style: {
color: "#e0e0e3", // светлый цвет заголовка
fontSize: "20px",
},
},
subtitle: {
style: {
color: "#e0e0e3", // светлый цвет подзаголовка
fontSize: "16px",
},
},
xAxis: {
lineColor: "#707073",
tickColor: "#707073",
labels: {
style: {
color: "#e0e0e3",
},
},
title: {
style: {
color: "#e0e0e3",
},
},
},
yAxis: {
gridLineColor: "rgba(255, 255, 255, 0.1)", // полупрозрачная сетка
labels: {
style: {
color: "#e0e0e3",
},
},
title: {
style: {
color: "#e0e0e3",
},
},
},
tooltip: {
backgroundColor: "rgba(33, 33, 55, 0.85)", // полупрозрачный фон
style: {
color: "#f0f0f3",
},
borderColor: "#1f1f2e",
},
legend: {
backgroundColor: "transparent",
itemStyle: {
color: "#e0e0e3",
},
itemHoverStyle: {
color: "#ffffff",
},
itemHiddenStyle: {
color: "#606063",
},
},
plotOptions: {
series: {
dataLabels: {
color: "#e0e0e3", // яркие подписи на точках данных
},
marker: {
lineColor: "#333",
},
},
line: {
color: "#00e5ff", // неоновый голубой цвет линий
lineWidth: 2,
},
column: {
borderColor: "#1f1f2e",
},
},
colors: [
"#00e5ff", // неоновый голубой
"#ff4081", // неоновый розовый
"#ffea00", // неоновый желтый
"#76ff03", // неоновый зеленый
"#ff1744", // неоновый красный
"#2979ff", // яркий синий
"#b388ff", // светло-фиолетовый
"#8d6e63", // светло-коричневый
],
};
const lightTheme = {
chart: {
backgroundColor: "#ffffff",
style: { fontFamily: "Arial, sans-serif" },
},
title: {
style: { color: "#333333", fontSize: "20px" },
},
xAxis: {
lineColor: "#333333",
labels: { style: { color: "#333333" } },
},
yAxis: {
gridLineColor: "#e6e6e6",
labels: { style: { color: "#333333" } },
},
colors: ["#007bff", "#ff5733", "#28a745", "#ffc107"],
legend: {
backgroundColor: "transparent",
itemStyle: {
color: "#000",
},
itemHoverStyle: {
color: "#000",
},
itemHiddenStyle: {
color: "#606063",
},
},
};
function listener(data) {
chartTheme = data.detail;
console.log(data.detail);
if (
data.detail === "dark" ||
data.detail === "forest" ||
data.detail === "halloween"
) {
chartTheme = data.detail;
darkTheme.chart.backgroundColor = bgChartMap[chartTheme];
Highcharts.setOptions(darkTheme);
} else {
chartTheme = "light";
Highcharts.setOptions(lightTheme);
}
}
onMount(() => {
window.addEventListener("theme-changed", listener);
listener({ detail: document.documentElement.getAttribute("data-theme") });
// console.log(chartTheme);
return () => {
window.removeEventListener("theme-changed", listener);
};
});
let opts = {
chart: {
type: "area",
},
title: {
text: "Объем",
},
xAxis: {
allowDecimals: true,
categories: [],
},
yAxis: {
title: {
text: "",
},
},
tooltip: {
pointFormat: "{series.name} {point.y} " + currencyCode,
},
plotOptions: {
area: {
marker: {
enabled: false,
symbol: "circle",
radius: 2,
states: {
hover: {
enabled: true,
},
},
},
},
},
series: [
{
name: "Объем",
data: [0, 1, 2],
},
],
};
let selectedPeriod = "week";
let showLoading = false;
$: if (selectedPeriod) {
getData();
}
let noData = false;
async function getData() {
showLoading = true;
const res = await makePost(
"admin/merchants/geo/volume",
{
interval:
selectedPeriod === "day"
? "1"
: selectedPeriod === "week"
? "7"
: "30",
code: currencyCode,
merchant_id: merchantId,
},
makeAuthHeaderForAxios(getAuthInfo()?.a)
);
console.log(res);
if (res.error) {
showLoading = true;
return;
}
if (res.status === 204) {
noData = true;
return;
}
opts.series[0].data = [];
opts.xAxis.categories = [];
res.data?.data.forEach((element) => {
opts.series[0].data.push(Number(element.amount));
opts.xAxis.categories.push(element.day);
});
showLoading = false;
}
</script>
<div class="flex flex-col bg-base-300 p-4 rounded-lg gap-2">
<div class="w-full flex justify-start md:justify-end items-center gap-2">
<!-- <button
on:click={() => {
selectedPeriod = "day";
}}
class={"btn btn-sm " +
(selectedPeriod === "day" ? "btn-secondary" : "btn-info")}>День</button
> -->
<button
on:click={() => {
selectedPeriod = "week";
}}
class={"btn btn-sm " +
(selectedPeriod === "week" ? "btn-secondary" : "btn-info")}
>Неделя</button
>
<button
on:click={() => {
selectedPeriod = "month";
}}
class={"btn btn-sm " +
(selectedPeriod === "month" ? "btn-secondary" : "btn-info")}
>Месяц</button
>
</div>
{#if noData}
<div class="flex h-[400px] w-full justify-center items-center">
<p class="text-center font-bold text-warning">Данных нет :(</p>
</div>
{:else if showLoading}
<div class="flex h-[400px] w-full justify-center items-center">
<div class="loading"></div>
</div>
{:else if chartTheme === "dark"}
<Chart options={opts} highcharts={Highcharts} />
{:else if chartTheme === "forest"}
<Chart options={opts} highcharts={Highcharts} />
{:else if chartTheme === "halloween"}
<Chart options={opts} highcharts={Highcharts} />
{:else}
<Chart options={opts} highcharts={Highcharts} />
{/if}
</div>

View File

@ -14,6 +14,7 @@
CopyIcon,
} from "svelte-feather-icons";
import { se } from "date-fns/locale";
import Chart1 from "$lib/ui-components/chart1.svelte";
let merchants = [];
let value_merchantsFilter = "true";
@ -33,7 +34,7 @@
// id: Number(value_geoMerchants),
active: value_merchantsFilter === "true",
},
makeAuthHeaderForAxios(getAuthInfo()?.a),
makeAuthHeaderForAxios(getAuthInfo()?.a)
);
// console.log(res);
merchants = res.data.data;
@ -80,15 +81,19 @@
date_to: new Date(value_endTime).toISOString().replace(".000Z", "Z"),
merchant_id: Number(selectedMerchant),
},
makeAuthHeaderForAxios(getAuthInfo()?.a),
makeAuthHeaderForAxios(getAuthInfo()?.a)
);
statsResult = res.data;
res = await makePost("admin/merchantsGeo", {
id: Number(selectedMerchant)
}, makeAuthHeaderForAxios(getAuthInfo()?.a));
res = await makePost(
"admin/merchantsGeo",
{
id: Number(selectedMerchant),
},
makeAuthHeaderForAxios(getAuthInfo()?.a)
);
merchantsGeos = res.data.data;
console.log('geos', merchantsGeos);
console.log("geos", merchantsGeos);
showStats = true;
}
@ -104,7 +109,7 @@
id: selectedMerchant,
amount: value_sumMerchant + "",
},
makeAuthHeaderForAxios(getAuthInfo()?.a),
makeAuthHeaderForAxios(getAuthInfo()?.a)
);
// console.log(res);
if (res.error) {
@ -148,7 +153,7 @@
page: settlesCurrentPage,
status: settlesFilter === "-1" ? undefined : settlesFilter,
},
makeAuthHeaderForAxios(getAuthInfo()?.a),
makeAuthHeaderForAxios(getAuthInfo()?.a)
);
if (res.error) {
@ -177,7 +182,7 @@
amount: selectedSettleNewSum.toString(),
tx_hash: selectedSettleNewHash,
},
makeAuthHeaderForAxios(getAuthInfo()?.a),
makeAuthHeaderForAxios(getAuthInfo()?.a)
);
if (res.error) {
@ -208,7 +213,7 @@
<option selected value="1">Киргизстан</option>
<option value="false">Неактивные</option>
</select> -->
</div>
</div>
<div class="flex flex-col p-2">
<p>Статус</p>
<select
@ -289,8 +294,11 @@
{#each merchantsGeos as merch}
<tr>
<td class="font-semibold">{merch["code"]}</td>
<td>{merch["is_active"] === "t" ? "Активен":"Отключен"}</td>
<td>{merch["balance"]} {merch["balance_type"] === "0" ? "USDT":merch["code"]}</td>
<td>{merch["is_active"] === "t" ? "Активен" : "Отключен"}</td>
<td
>{merch["balance"]}
{merch["balance_type"] === "0" ? "USDT" : merch["code"]}</td
>
<!-- <td>{merch["balance_type"] === "0" ? "crypto":"fiat"}</td> -->
<td>{merch["payin"]}%</td>
<td>{merch["payout"]}%</td>
@ -298,7 +306,14 @@
{/each}
</tbody>
</table>
<p class="mt-4">Показать статистику за период для ID: {selectedMerchant}</p>
<div class="mt-4"></div>
{#each merchantsGeos as merch}
<p class="text-2xl font-bold">Объем для региона {merch["code"]}:</p>
<Chart1 currencyCode={merch["code"]} merchantId={selectedMerchant} />
{/each}
<p class="mt-4 text-2xl font-bold">
Показать статистику за период для ID: {selectedMerchant}
</p>
<div class="mt-3">
C: <input
bind:value={value_startTime}
@ -343,7 +358,7 @@
{/if}
</button> -->
</div>
<p class="text-xl font-bold mt-4">Сеттлы</p>
<p class="text-2xl font-bold mt-4">Сеттлы</p>
<select
bind:value={settlesFilter}
class="select select-bordered max-w-[320px] self-center my-2"
@ -402,7 +417,7 @@
<button
on:click={() => {
navigator.clipboard.writeText(
settle["settle_address"],
settle["settle_address"]
);
sayInfo("Скопировано");
}}