resolved #31, resolved #32, resolved #33, resolved #35

This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2025-03-07 09:55:15 +03:00
parent 10af91a081
commit 7847d15da1
11 changed files with 1429 additions and 719 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
node_modules
vendor vendor

View File

@ -20,6 +20,7 @@
"require": { "require": {
"php": "^8.4", "php": "^8.4",
"ext-gd": "^8.4", "ext-gd": "^8.4",
"ext-intl": "^8.4",
"triagens/arangodb": "^3.8", "triagens/arangodb": "^3.8",
"mirzaev/minimal": "^3.4.0", "mirzaev/minimal": "^3.4.0",
"mirzaev/arangodb": "^2", "mirzaev/arangodb": "^2",

222
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "e4632693e41625716be26163a7e06ecc", "content-hash": "d59bfe9a2623bc1b6bd95caaf90e9127",
"packages": [ "packages": [
{ {
"name": "avadim/fast-excel-helper", "name": "avadim/fast-excel-helper",
@ -63,16 +63,16 @@
}, },
{ {
"name": "avadim/fast-excel-reader", "name": "avadim/fast-excel-reader",
"version": "v2.23.0", "version": "v2.24.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/aVadim483/fast-excel-reader.git", "url": "https://github.com/aVadim483/fast-excel-reader.git",
"reference": "581ca926d359f18043faec7dc7d8bea654b1d8e4" "reference": "8afafb92817705a6bfd1c9bc53b0083d9d36e7c1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/aVadim483/fast-excel-reader/zipball/581ca926d359f18043faec7dc7d8bea654b1d8e4", "url": "https://api.github.com/repos/aVadim483/fast-excel-reader/zipball/8afafb92817705a6bfd1c9bc53b0083d9d36e7c1",
"reference": "581ca926d359f18043faec7dc7d8bea654b1d8e4", "reference": "8afafb92817705a6bfd1c9bc53b0083d9d36e7c1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -114,9 +114,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/aVadim483/fast-excel-reader/issues", "issues": "https://github.com/aVadim483/fast-excel-reader/issues",
"source": "https://github.com/aVadim483/fast-excel-reader/tree/v2.23.0" "source": "https://github.com/aVadim483/fast-excel-reader/tree/v2.24.0"
}, },
"time": "2025-02-06T13:48:12+00:00" "time": "2025-02-27T13:29:39+00:00"
}, },
{ {
"name": "badfarm/zanzara", "name": "badfarm/zanzara",
@ -3585,16 +3585,16 @@
}, },
{ {
"name": "symfony/cache", "name": "symfony/cache",
"version": "v7.2.3", "version": "v7.2.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/cache.git", "url": "https://github.com/symfony/cache.git",
"reference": "8d773a575e446de220dca03d600b2d8e1c1c10ec" "reference": "d33cd9e14326e14a4145c21e600602eaf17cc9e7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/8d773a575e446de220dca03d600b2d8e1c1c10ec", "url": "https://api.github.com/repos/symfony/cache/zipball/d33cd9e14326e14a4145c21e600602eaf17cc9e7",
"reference": "8d773a575e446de220dca03d600b2d8e1c1c10ec", "reference": "d33cd9e14326e14a4145c21e600602eaf17cc9e7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3663,7 +3663,7 @@
"psr6" "psr6"
], ],
"support": { "support": {
"source": "https://github.com/symfony/cache/tree/v7.2.3" "source": "https://github.com/symfony/cache/tree/v7.2.4"
}, },
"funding": [ "funding": [
{ {
@ -3679,7 +3679,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-27T11:08:17+00:00" "time": "2025-02-26T09:57:54+00:00"
}, },
{ {
"name": "symfony/cache-contracts", "name": "symfony/cache-contracts",
@ -3834,16 +3834,16 @@
}, },
{ {
"name": "symfony/dependency-injection", "name": "symfony/dependency-injection",
"version": "v7.2.3", "version": "v7.2.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dependency-injection.git", "url": "https://github.com/symfony/dependency-injection.git",
"reference": "1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc" "reference": "f0a1614cccb4b8431a97076f9debc08ddca321ca"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc", "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f0a1614cccb4b8431a97076f9debc08ddca321ca",
"reference": "1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc", "reference": "f0a1614cccb4b8431a97076f9debc08ddca321ca",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3894,7 +3894,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application", "description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/dependency-injection/tree/v7.2.3" "source": "https://github.com/symfony/dependency-injection/tree/v7.2.4"
}, },
"funding": [ "funding": [
{ {
@ -3910,7 +3910,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-17T10:56:55+00:00" "time": "2025-02-21T09:47:16+00:00"
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
@ -3981,16 +3981,16 @@
}, },
{ {
"name": "symfony/error-handler", "name": "symfony/error-handler",
"version": "v7.2.3", "version": "v7.2.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/error-handler.git", "url": "https://github.com/symfony/error-handler.git",
"reference": "959a74d044a6db21f4caa6d695648dcb5584cb49" "reference": "aabf79938aa795350c07ce6464dd1985607d95d5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/959a74d044a6db21f4caa6d695648dcb5584cb49", "url": "https://api.github.com/repos/symfony/error-handler/zipball/aabf79938aa795350c07ce6464dd1985607d95d5",
"reference": "959a74d044a6db21f4caa6d695648dcb5584cb49", "reference": "aabf79938aa795350c07ce6464dd1985607d95d5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4036,7 +4036,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code", "description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/error-handler/tree/v7.2.3" "source": "https://github.com/symfony/error-handler/tree/v7.2.4"
}, },
"funding": [ "funding": [
{ {
@ -4052,7 +4052,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-07T09:39:55+00:00" "time": "2025-02-02T20:27:07+00:00"
}, },
{ {
"name": "symfony/event-dispatcher", "name": "symfony/event-dispatcher",
@ -4342,16 +4342,16 @@
}, },
{ {
"name": "symfony/framework-bundle", "name": "symfony/framework-bundle",
"version": "v7.2.3", "version": "v7.2.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/framework-bundle.git", "url": "https://github.com/symfony/framework-bundle.git",
"reference": "d37a43dd0b2079605fcab3056dac71934f06dc0f" "reference": "6d6614378cd8128eed0a037ce6ac51a26c5aaed5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/d37a43dd0b2079605fcab3056dac71934f06dc0f", "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/6d6614378cd8128eed0a037ce6ac51a26c5aaed5",
"reference": "d37a43dd0b2079605fcab3056dac71934f06dc0f", "reference": "6d6614378cd8128eed0a037ce6ac51a26c5aaed5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4472,7 +4472,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/framework-bundle/tree/v7.2.3" "source": "https://github.com/symfony/framework-bundle/tree/v7.2.4"
}, },
"funding": [ "funding": [
{ {
@ -4488,7 +4488,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-29T07:13:55+00:00" "time": "2025-02-26T08:19:39+00:00"
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
@ -4570,16 +4570,16 @@
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v7.2.3", "version": "v7.2.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b" "reference": "9f1103734c5789798fefb90e91de4586039003ed"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9f1103734c5789798fefb90e91de4586039003ed",
"reference": "caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b", "reference": "9f1103734c5789798fefb90e91de4586039003ed",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4664,7 +4664,7 @@
"description": "Provides a structured process for converting a Request into a Response", "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-kernel/tree/v7.2.3" "source": "https://github.com/symfony/http-kernel/tree/v7.2.4"
}, },
"funding": [ "funding": [
{ {
@ -4680,7 +4680,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-29T07:40:13+00:00" "time": "2025-02-26T11:01:22+00:00"
}, },
{ {
"name": "symfony/intl", "name": "symfony/intl",
@ -4927,82 +4927,6 @@
], ],
"time": "2024-09-09T11:45:10+00:00" "time": "2024-09-09T11:45:10+00:00"
}, },
{
"name": "symfony/polyfill-php81",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{ {
"name": "symfony/polyfill-php83", "name": "symfony/polyfill-php83",
"version": "v1.31.0", "version": "v1.31.0",
@ -5323,16 +5247,16 @@
}, },
{ {
"name": "symfony/twig-bridge", "name": "symfony/twig-bridge",
"version": "v7.2.2", "version": "v7.2.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/twig-bridge.git", "url": "https://github.com/symfony/twig-bridge.git",
"reference": "29e4c66de9618e67dc1f5f13bc667aca2a228f1e" "reference": "45c00afd4c9accf00a91215067c2858e5a9a3c4e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/29e4c66de9618e67dc1f5f13bc667aca2a228f1e", "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/45c00afd4c9accf00a91215067c2858e5a9a3c4e",
"reference": "29e4c66de9618e67dc1f5f13bc667aca2a228f1e", "reference": "45c00afd4c9accf00a91215067c2858e5a9a3c4e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5413,7 +5337,7 @@
"description": "Provides integration for Twig with various Symfony components", "description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/twig-bridge/tree/v7.2.2" "source": "https://github.com/symfony/twig-bridge/tree/v7.2.4"
}, },
"funding": [ "funding": [
{ {
@ -5429,7 +5353,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-19T14:25:03+00:00" "time": "2025-02-14T14:27:24+00:00"
}, },
{ {
"name": "symfony/twig-bundle", "name": "symfony/twig-bundle",
@ -5600,16 +5524,16 @@
}, },
{ {
"name": "symfony/var-exporter", "name": "symfony/var-exporter",
"version": "v7.2.0", "version": "v7.2.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-exporter.git", "url": "https://github.com/symfony/var-exporter.git",
"reference": "1a6a89f95a46af0f142874c9d650a6358d13070d" "reference": "4ede73aa7a73d81506002d2caadbbdad1ef5b69a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/1a6a89f95a46af0f142874c9d650a6358d13070d", "url": "https://api.github.com/repos/symfony/var-exporter/zipball/4ede73aa7a73d81506002d2caadbbdad1ef5b69a",
"reference": "1a6a89f95a46af0f142874c9d650a6358d13070d", "reference": "4ede73aa7a73d81506002d2caadbbdad1ef5b69a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5656,7 +5580,7 @@
"serialize" "serialize"
], ],
"support": { "support": {
"source": "https://github.com/symfony/var-exporter/tree/v7.2.0" "source": "https://github.com/symfony/var-exporter/tree/v7.2.4"
}, },
"funding": [ "funding": [
{ {
@ -5672,7 +5596,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-10-18T07:58:17+00:00" "time": "2025-02-13T10:27:23+00:00"
}, },
{ {
"name": "thecodingmachine/safe", "name": "thecodingmachine/safe",
@ -6006,20 +5930,20 @@
}, },
{ {
"name": "twig/extra-bundle", "name": "twig/extra-bundle",
"version": "v3.19.0", "version": "v3.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git", "url": "https://github.com/twigphp/twig-extra-bundle.git",
"reference": "9746573ca4bc1cd03a767a183faadaf84e0c31fa" "reference": "9df5e1dbb6a68c0665ae5603f6f2c20815647876"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/9746573ca4bc1cd03a767a183faadaf84e0c31fa", "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/9df5e1dbb6a68c0665ae5603f6f2c20815647876",
"reference": "9746573ca4bc1cd03a767a183faadaf84e0c31fa", "reference": "9df5e1dbb6a68c0665ae5603f6f2c20815647876",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0.2", "php": ">=8.1.0",
"symfony/framework-bundle": "^5.4|^6.4|^7.0", "symfony/framework-bundle": "^5.4|^6.4|^7.0",
"symfony/twig-bundle": "^5.4|^6.4|^7.0", "symfony/twig-bundle": "^5.4|^6.4|^7.0",
"twig/twig": "^3.2|^4.0" "twig/twig": "^3.2|^4.0"
@ -6064,7 +5988,7 @@
"twig" "twig"
], ],
"support": { "support": {
"source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.19.0" "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.20.0"
}, },
"funding": [ "funding": [
{ {
@ -6076,24 +6000,24 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-26T19:22:23+00:00" "time": "2025-02-08T09:47:15+00:00"
}, },
{ {
"name": "twig/intl-extra", "name": "twig/intl-extra",
"version": "v3.19.0", "version": "v3.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/intl-extra.git", "url": "https://github.com/twigphp/intl-extra.git",
"reference": "79a1bea7254783b540d51de10dc5e9f310110794" "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/intl-extra/zipball/79a1bea7254783b540d51de10dc5e9f310110794", "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/05bc5d46b9df9e62399eae53e7c0b0633298b146",
"reference": "79a1bea7254783b540d51de10dc5e9f310110794", "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0.2", "php": ">=8.1.0",
"symfony/intl": "^5.4|^6.4|^7.0", "symfony/intl": "^5.4|^6.4|^7.0",
"twig/twig": "^3.13|^4.0" "twig/twig": "^3.13|^4.0"
}, },
@ -6128,7 +6052,7 @@
"twig" "twig"
], ],
"support": { "support": {
"source": "https://github.com/twigphp/intl-extra/tree/v3.19.0" "source": "https://github.com/twigphp/intl-extra/tree/v3.20.0"
}, },
"funding": [ "funding": [
{ {
@ -6140,28 +6064,27 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-24T20:20:33+00:00" "time": "2025-01-31T20:45:36+00:00"
}, },
{ {
"name": "twig/twig", "name": "twig/twig",
"version": "v3.19.0", "version": "v3.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/Twig.git", "url": "https://github.com/twigphp/Twig.git",
"reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e" "reference": "3468920399451a384bef53cf7996965f7cd40183"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e", "url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
"reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e", "reference": "3468920399451a384bef53cf7996965f7cd40183",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0.2", "php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8", "symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3", "symfony/polyfill-mbstring": "^1.3"
"symfony/polyfill-php81": "^1.29"
}, },
"require-dev": { "require-dev": {
"phpstan/phpstan": "^2.0", "phpstan/phpstan": "^2.0",
@ -6208,7 +6131,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/twigphp/Twig/issues", "issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.19.0" "source": "https://github.com/twigphp/Twig/tree/v3.20.0"
}, },
"funding": [ "funding": [
{ {
@ -6220,7 +6143,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-29T07:06:14+00:00" "time": "2025-02-13T08:34:43+00:00"
}, },
{ {
"name": "wyrihaximus/composer-update-bin-autoload-path", "name": "wyrihaximus/composer-update-bin-autoload-path",
@ -6808,7 +6731,8 @@
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": "^8.4", "php": "^8.4",
"ext-gd": "^8.4" "ext-gd": "^8.4",
"ext-intl": "^8.4"
}, },
"platform-dev": {}, "platform-dev": {},
"plugin-api-version": "2.6.0" "plugin-api-version": "2.6.0"

View File

@ -9,10 +9,8 @@
}, },
"class": {}, "class": {},
"icon": { "icon": {
"style": { "style": {},
"rotate": "-135deg" "class": "house"
},
"class": "arrow circle"
}, },
"image": { "image": {
"storage": null "storage": null

View File

@ -674,13 +674,13 @@ final class telegram extends core
$symbol = ($account->currency ?? currency::rub)->symbol(); $symbol = ($account->currency ?? currency::rub)->symbol();
// Initializing delivery cost for message // Initializing delivery cost for message
$delivery_cost = $cart->buffer['delivery']['cost']; $delivery_cost = static::unmarkdown((string) $cart->buffer['delivery']['cost']);
// Initializing delivery days for message // Initializing delivery days for message
$delivery_days = $cart->buffer['delivery']['days']; $delivery_days = static::unmarkdown((string) $cart->buffer['delivery']['days']);
// Initializing delivery address for message // Initializing delivery address for message
$delivery_address = $cart->buffer['delivery']['location']['name'] . ', ' . $cart->buffer['delivery']['street']; $delivery_address = static::unmarkdown($cart->buffer['delivery']['location']['name'] . ', ' . $cart->buffer['delivery']['street']);
$ctx->sendMessage( $ctx->sendMessage(
<<<TXT <<<TXT

File diff suppressed because it is too large Load Diff

View File

@ -15,6 +15,11 @@ export default class loader {
*/ */
static type = "module"; static type = "module";
/**
* @name Actial URI
*/
static uri;
/** /**
* @name Load * @name Load
* *
@ -23,7 +28,7 @@ export default class loader {
* *
* @return {Promise} * @return {Promise}
*/ */
static async load(uri = "/", body) { static async load(uri = "/", body, back = false) {
if (typeof uri === "string") { if (typeof uri === "string") {
// Received and validated uri // Received and validated uri
@ -54,8 +59,27 @@ export default class loader {
} else { } else {
// Success (not received errors) // Success (not received errors)
// Writing to the browser history if (back) {
history.pushState({}, json.title ?? uri, uri); // Requested to go back
// Writing actual URI
this.uri = history.state?.previous;
// Deletimg from the browser history
history.back();
} else {
// Requested to go forward
// Writing to the browser history
history.pushState(
{ previous: this.uri },
json.title ?? uri,
uri,
);
// Writing actual URI
this.uri = uri;
}
/** /**
* The <title> * The <title>
@ -222,7 +246,10 @@ export default class loader {
// Found the last <section> element inside the <body> element // Found the last <section> element inside the <body> element
// Writing the <main> element after the last <section> element inside the <body> element // Writing the <main> element after the last <section> element inside the <body> element
body.insertBefore(core.main, section.nextElementSibling); body.insertBefore(
core.main,
section.nextElementSibling,
);
} else { } else {
// Not found section elements <section> inside the <body> element // Not found section elements <section> inside the <body> element

View File

@ -21,6 +21,11 @@ export default class telegram {
* @see {@link https://core.telegram.org/bots/webapps#initializing-mini-apps} * @see {@link https://core.telegram.org/bots/webapps#initializing-mini-apps}
*/ */
static api = window.Telegram.WebApp; static api = window.Telegram.WebApp;
/**
* @name List of BackButton events
*/
static back = [];
} }
// Connecting to the core // Connecting to the core

View File

@ -2,7 +2,7 @@
core.modules.connect(["telegram"]) core.modules.connect(["telegram"])
.then(() => { .then(() => {
// // Imported the telegram module
// Expanding the "Web App" window // Expanding the "Web App" window
// core.telegram.api.expand(); // core.telegram.api.expand();
@ -24,6 +24,20 @@ core.modules.connect(["telegram"])
document.documentElement.style.setProperty('--tg-theme-section-bg-color', 'var(--tg-theme-secondary-bg-color)'); document.documentElement.style.setProperty('--tg-theme-section-bg-color', 'var(--tg-theme-secondary-bg-color)');
} }
if (core.telegram.back.length > 0) {
// Initialized BackButton events
// Initializing the "Back Button" of the "Web App" window
core.telegram.api.BackButton.show();
for (const event of core.telegram.back) {
// Iterating over BackButton events
// Initializing the BackButton event listener
core.telegram.api.BackButton.onClick(event);
}
}
core.modules.connect(["session", "account"]) core.modules.connect(["session", "account"])
.then(() => { .then(() => {
// //

View File

@ -27,10 +27,16 @@ main>section#categories:last-child {
/* margin-bottom: unset; */ /* margin-bottom: unset; */
} }
main>section#categories>a.category[type="button"]:has(>img) { /* main>section#categories>a.category[type="button"]:has(>img) {
min-width: calc(50% - var(--padding) * 2); min-width: calc(50% - var(--padding) * 2);
height: 180px; height: 180px;
padding: unset; padding: unset;
} */
main>section#categories>a.category[type="button"] {
width: calc(50% - var(--padding) * 2);
height: 180px;
padding: unset;
} }
main>section#categories>a.category[type="button"]>img { main>section#categories>a.category[type="button"]>img {
@ -48,7 +54,8 @@ main>section#categories>a.category[type="button"]:is(:hover, :focus)>img {
filter: unset; filter: unset;
} }
main>section#categories>a.category[type="button"]:has(>img)>p { /* main>section#categories>a.category[type="button"]:has(>img)>p { */
main>section#categories>a.category[type="button"]>p {
position: absolute; position: absolute;
left: var(--padding); left: var(--padding);
bottom: var(--padding); bottom: var(--padding);

View File

@ -0,0 +1,52 @@
@charset "UTF-8";
i.icon.house {
position: relative;
margin-bottom: -2px;
width: 18px;
height: 14px;
display: block;
box-sizing: border-box;
border: 2px solid;
border-top: 0;
border-bottom: 0;
border-top-right-radius: 3px;
border-top-left-radius: 3px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
background:
linear-gradient(to left, currentColor 5px, transparent 0) no-repeat 0 bottom/4px 2px,
linear-gradient(to left, currentColor 5px, transparent 0) no-repeat right bottom/4px 2px;
}
i.icon.house::after,
i.icon.house::before {
content: "";
position: absolute;
display: block;
box-sizing: border-box;
}
i.icon.house::before {
left: 0;
top: -5px;
width: 14px;
height: 14px;
border-radius: 3px;
transform: rotate(45deg);
border-top: 2px solid;
border-left: 2px solid;
border-top-left-radius: 4px;
}
i.icon.house::after {
left: 3px;
bottom: 0;
width: 8px;
height: 10px;
border: 2px solid;
border-radius: 100px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-bottom: 0;
}