Merge branch 'master' of https://github.com/brkcvn/akaunting into new-plans

This commit is contained in:
Burak Civan 2022-09-22 09:17:47 +03:00
commit 10f07efb87
33 changed files with 369 additions and 178 deletions

View File

@ -44,6 +44,7 @@ abstract class BulkAction
'enable' => 'check_circle', 'enable' => 'check_circle',
'disable' => 'hide_source', 'disable' => 'hide_source',
'delete' => 'delete', 'delete' => 'delete',
'duplicate' => 'file_copy',
'export' => 'file_download', 'export' => 'file_download',
'reconcile' => 'published_with_changes', 'reconcile' => 'published_with_changes',
'unreconcile' => 'layers_clear', 'unreconcile' => 'layers_clear',

View File

@ -4,8 +4,10 @@ namespace App\Utilities;
use App\Models\Auth\User; use App\Models\Auth\User;
use App\Models\Common\Company; use App\Models\Common\Company;
use App\Models\Common\Contact;
use App\Models\Document\Document;
use Composer\InstalledVersions; use Composer\InstalledVersions;
use DB; use Illuminate\Support\Facades\DB;
class Info class Info
{ {
@ -13,8 +15,11 @@ class Info
{ {
return array_merge(static::versions(), [ return array_merge(static::versions(), [
'api_key' => setting('apps.api_key'), 'api_key' => setting('apps.api_key'),
'ip' => static::ip(),
'companies' => Company::count(), 'companies' => Company::count(),
'users' => User::count(), 'users' => User::count(),
'invoices' => Document::invoice()->count(),
'customers' => Contact::customer()->count(),
'php_extensions' => static::phpExtensions(), 'php_extensions' => static::phpExtensions(),
]); ]);
} }
@ -23,10 +28,12 @@ class Info
{ {
return [ return [
'akaunting' => version('short'), 'akaunting' => version('short'),
'laravel' => app()->version(), 'laravel' => InstalledVersions::getPrettyVersion('laravel/framework'),
'php' => static::phpVersion(), 'php' => static::phpVersion(),
'mysql' => static::mysqlVersion(), 'mysql' => static::mysqlVersion(),
'guzzle' => InstalledVersions::getPrettyVersion('guzzlehttp/guzzle'),
'livewire' => InstalledVersions::getPrettyVersion('livewire/livewire'), 'livewire' => InstalledVersions::getPrettyVersion('livewire/livewire'),
'omnipay' => InstalledVersions::getPrettyVersion('league/omnipay'),
]; ];
} }
@ -54,4 +61,11 @@ class Info
return 'N/A'; return 'N/A';
} }
public static function ip()
{
return request()->header('CF_CONNECTING_IP')
? request()->header('CF_CONNECTING_IP')
: request()->ip();
}
} }

View File

@ -34,11 +34,11 @@ class Menu extends Presenter
*/ */
public function getMenuWithoutDropdownWrapper($item) public function getMenuWithoutDropdownWrapper($item)
{ {
return '<li class="group relative pb-2.5"> return '<li class="group relative pb-2.5 text-sm">
<a id="' . $this->getId($item) . '" class="' . $this->getClass($item) . '" href="' . $item->getUrl() . '" ' . $item->getAttributes() . '> <a id="' . $this->getId($item) . '" class="' . $this->getClass($item) . ''. $this->getActiveState($item) . '" href="' . $item->getUrl() . '" ' . $item->getAttributes() . '>
' . $this->getIcon($item) . ' ' . $this->getIcon($item) . '
<span class="text-sm ltr:ml-2 rtl:mr-2' . $this->getActiveState($item) . '">' . $item->title . '</span> ' . $item->title . '
<span class="bg-purple absolute h-5 -right-5 rounded-tl-lg rounded-bl-lg opacity-0 group-hover:opacity-100 transition-all" style="width: 5px;"></span> <span class="bg-purple absolute h-5 -right-5 rounded-tl-lg rounded-bl-lg opacity-0 group-hover:opacity-100 transition-all pointer-events-none" style="width: 5px;"></span>
</a> </a>
</li>' </li>'
. PHP_EOL; . PHP_EOL;
@ -104,9 +104,9 @@ class Menu extends Presenter
return ' return '
<details ' . $this->getActiveStateOnChild($item) . '> <details ' . $this->getActiveStateOnChild($item) . '>
<summary class="block" href="#navbar-' . $id . '"> <summary class="block" href="#navbar-' . $id . '">
<div class="relative pb-2.5 flex items-center cursor-pointer text-purple"> <div class="relative pb-2.5 flex items-center cursor-pointer text-purple text-sm">
' . $this->getIcon($item) . ' ' . $this->getIcon($item) . '
<span class="text-sm ltr:ml-2 rtl:mr-2">' . $item->title . '</span> ' . $item->title . '
' . $this->getChevron($item) . ' ' . $this->getChevron($item) . '
</div> </div>
</summary> </summary>
@ -132,10 +132,10 @@ class Menu extends Presenter
return '<details class="relative"> return '<details class="relative">
<summary class="' . $this->getClass($item). '" href="#navbar-' . $id . '" aria-controls="navbar-' . $id . '"> <summary class="' . $this->getClass($item). '" href="#navbar-' . $id . '" aria-controls="navbar-' . $id . '">
<div class="pb-2.5 flex items-center cursor-pointer text-purple"> <div class="pb-2.5 flex items-center cursor-pointer text-purple text-sm '. $this->getActiveState($item) .'">
' . $this->getIcon($item) . ' ' . $this->getIcon($item) . '
<span class="text-sm ltr:ml-2 rtl:mr-2'. $this->getActiveState($item) .'">' . $item->title . '</span> ' . $item->title . '
<span class="bg-purple absolute h-5 -right-5 rounded-tl-lg rounded-bl-lg opacity-0 group-hover:opacity-100 transition-all" style="width: 5px;"></span> <span class="bg-purple absolute h-5 -right-5 rounded-tl-lg rounded-bl-lg opacity-0 group-hover:opacity-100 transition-all pointer-events-none" style="width: 5px;"></span>
' . $this->getChevron($item) . ' ' . $this->getChevron($item) . '
</div> </div>
</summary> </summary>
@ -226,7 +226,7 @@ class Menu extends Presenter
$icon_content = '<span class="material-icons' . $state . ' text-purple text-2xl">' . $item->icon . '</span>'; $icon_content = '<span class="material-icons' . $state . ' text-purple text-2xl">' . $item->icon . '</span>';
} }
return '<div class="w-8 h-8 flex items-center justify-center"> return '<div class="w-8 h-8 flex items-center justify-center ltr:mr-2 rtl:ml-2 pointer-events-none">
' . $icon_content . ' ' . $icon_content . '
</div>' . PHP_EOL; </div>' . PHP_EOL;
} }

View File

@ -28,6 +28,7 @@
"ext-xml": "*", "ext-xml": "*",
"ext-zip": "*", "ext-zip": "*",
"akaunting/laravel-apexcharts": "^2.0", "akaunting/laravel-apexcharts": "^2.0",
"akaunting/laravel-debugbar-collector": "^2.0",
"akaunting/laravel-firewall": "^2.0", "akaunting/laravel-firewall": "^2.0",
"akaunting/laravel-language": "^1.0", "akaunting/laravel-language": "^1.0",
"akaunting/laravel-menu": "^2.0", "akaunting/laravel-menu": "^2.0",
@ -37,7 +38,6 @@
"akaunting/laravel-setting": "^1.2", "akaunting/laravel-setting": "^1.2",
"akaunting/laravel-sortable": "^1.0", "akaunting/laravel-sortable": "^1.0",
"akaunting/laravel-version": "^1.0", "akaunting/laravel-version": "^1.0",
"akaunting/laravel-debugbar-collector": "^2.0",
"akaunting/module-offline-payments": "^3.0", "akaunting/module-offline-payments": "^3.0",
"akaunting/module-paypal-standard": "^3.0", "akaunting/module-paypal-standard": "^3.0",
"barryvdh/laravel-debugbar": "^3.6", "barryvdh/laravel-debugbar": "^3.6",

253
composer.lock generated
View File

@ -907,16 +907,16 @@
}, },
{ {
"name": "aws/aws-sdk-php", "name": "aws/aws-sdk-php",
"version": "3.235.8", "version": "3.235.12",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/aws/aws-sdk-php.git", "url": "https://github.com/aws/aws-sdk-php.git",
"reference": "cc33d53d735a3835adff212598f2a20ee9ac9531" "reference": "e0ebecfb0284dc44dc99a172cd9c68c40739904c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cc33d53d735a3835adff212598f2a20ee9ac9531", "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/e0ebecfb0284dc44dc99a172cd9c68c40739904c",
"reference": "cc33d53d735a3835adff212598f2a20ee9ac9531", "reference": "e0ebecfb0284dc44dc99a172cd9c68c40739904c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -995,9 +995,9 @@
"support": { "support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues", "issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.235.8" "source": "https://github.com/aws/aws-sdk-php/tree/3.235.12"
}, },
"time": "2022-09-14T18:18:31+00:00" "time": "2022-09-20T18:18:07+00:00"
}, },
{ {
"name": "balping/json-raw-encoder", "name": "balping/json-raw-encoder",
@ -2455,20 +2455,30 @@
}, },
{ {
"name": "ezyang/htmlpurifier", "name": "ezyang/htmlpurifier",
"version": "v4.14.0", "version": "v4.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/ezyang/htmlpurifier.git", "url": "https://github.com/ezyang/htmlpurifier.git",
"reference": "12ab42bd6e742c70c0a52f7b82477fcd44e64b75" "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/12ab42bd6e742c70c0a52f7b82477fcd44e64b75", "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8",
"reference": "12ab42bd6e742c70c0a52f7b82477fcd44e64b75", "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.2" "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0"
},
"require-dev": {
"cerdic/css-tidy": "^1.7 || ^2.0",
"simpletest/simpletest": "dev-master"
},
"suggest": {
"cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.",
"ext-bcmath": "Used for unit conversion and imagecrash protection",
"ext-iconv": "Converts text to and from non-UTF-8 encodings",
"ext-tidy": "Used for pretty-printing HTML"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -2500,9 +2510,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/ezyang/htmlpurifier/issues", "issues": "https://github.com/ezyang/htmlpurifier/issues",
"source": "https://github.com/ezyang/htmlpurifier/tree/v4.14.0" "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0"
}, },
"time": "2021-12-25T01:21:49+00:00" "time": "2022-09-18T07:06:19+00:00"
}, },
{ {
"name": "fruitcake/laravel-cors", "name": "fruitcake/laravel-cors",
@ -4479,16 +4489,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v9.30.0", "version": "v9.31.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "2ca2b168a3e995a8ec6ea2805906379095d20080" "reference": "75013d4fffe3b24748d313fbbea53206351214f7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/2ca2b168a3e995a8ec6ea2805906379095d20080", "url": "https://api.github.com/repos/laravel/framework/zipball/75013d4fffe3b24748d313fbbea53206351214f7",
"reference": "2ca2b168a3e995a8ec6ea2805906379095d20080", "reference": "75013d4fffe3b24748d313fbbea53206351214f7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4518,6 +4528,7 @@
"symfony/mime": "^6.0", "symfony/mime": "^6.0",
"symfony/process": "^6.0", "symfony/process": "^6.0",
"symfony/routing": "^6.0", "symfony/routing": "^6.0",
"symfony/uid": "^6.0",
"symfony/var-dumper": "^6.0", "symfony/var-dumper": "^6.0",
"tijsverkoyen/css-to-inline-styles": "^2.2.2", "tijsverkoyen/css-to-inline-styles": "^2.2.2",
"vlucas/phpdotenv": "^5.4.1", "vlucas/phpdotenv": "^5.4.1",
@ -4660,7 +4671,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2022-09-13T14:06:14+00:00" "time": "2022-09-20T13:32:50+00:00"
}, },
{ {
"name": "laravel/sanctum", "name": "laravel/sanctum",
@ -5239,16 +5250,16 @@
}, },
{ {
"name": "league/flysystem", "name": "league/flysystem",
"version": "3.3.0", "version": "3.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/flysystem.git", "url": "https://github.com/thephpleague/flysystem.git",
"reference": "d8295793b3e2f91aa39e1feb2d5bfce772891ae2" "reference": "f14993c6e394450ac4649da35264df0544d0234e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d8295793b3e2f91aa39e1feb2d5bfce772891ae2", "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f14993c6e394450ac4649da35264df0544d0234e",
"reference": "d8295793b3e2f91aa39e1feb2d5bfce772891ae2", "reference": "f14993c6e394450ac4649da35264df0544d0234e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5310,7 +5321,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/thephpleague/flysystem/issues", "issues": "https://github.com/thephpleague/flysystem/issues",
"source": "https://github.com/thephpleague/flysystem/tree/3.3.0" "source": "https://github.com/thephpleague/flysystem/tree/3.5.1"
}, },
"funding": [ "funding": [
{ {
@ -5326,20 +5337,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-09-09T11:11:42+00:00" "time": "2022-09-18T18:23:19+00:00"
}, },
{ {
"name": "league/flysystem-aws-s3-v3", "name": "league/flysystem-aws-s3-v3",
"version": "3.3.0", "version": "3.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git",
"reference": "c9402e0b8d89d36b1b88ecf88c2a80b6d61fd114" "reference": "adb6633f325c934c15a099c363dc5362bdcb07a2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/c9402e0b8d89d36b1b88ecf88c2a80b6d61fd114", "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/adb6633f325c934c15a099c363dc5362bdcb07a2",
"reference": "c9402e0b8d89d36b1b88ecf88c2a80b6d61fd114", "reference": "adb6633f325c934c15a099c363dc5362bdcb07a2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5380,7 +5391,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues",
"source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.3.0" "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.5.0"
}, },
"funding": [ "funding": [
{ {
@ -5396,7 +5407,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-09-09T10:03:42+00:00" "time": "2022-09-17T21:00:35+00:00"
}, },
{ {
"name": "league/mime-type-detection", "name": "league/mime-type-detection",
@ -8576,16 +8587,16 @@
}, },
{ {
"name": "ramsey/uuid", "name": "ramsey/uuid",
"version": "4.5.0", "version": "4.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/ramsey/uuid.git", "url": "https://github.com/ramsey/uuid.git",
"reference": "ef842484ba57f163c6d465ab744bfecb872a11d4" "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/ef842484ba57f163c6d465ab744bfecb872a11d4", "url": "https://api.github.com/repos/ramsey/uuid/zipball/a161a26d917604dc6d3aa25100fddf2556e9f35d",
"reference": "ef842484ba57f163c6d465ab744bfecb872a11d4", "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8654,7 +8665,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/ramsey/uuid/issues", "issues": "https://github.com/ramsey/uuid/issues",
"source": "https://github.com/ramsey/uuid/tree/4.5.0" "source": "https://github.com/ramsey/uuid/tree/4.5.1"
}, },
"funding": [ "funding": [
{ {
@ -8666,7 +8677,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2022-09-15T01:44:53+00:00" "time": "2022-09-16T03:22:46+00:00"
}, },
{ {
"name": "riverskies/laravel-mobile-detect", "name": "riverskies/laravel-mobile-detect",
@ -10645,6 +10656,88 @@
], ],
"time": "2022-05-24T11:49:31+00:00" "time": "2022-05-24T11:49:31+00:00"
}, },
{
"name": "symfony/polyfill-uuid",
"version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-uuid.git",
"reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/a41886c1c81dc075a09c71fe6db5b9d68c79de23",
"reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-uuid": "*"
},
"suggest": {
"ext-uuid": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Uuid\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Grégoire Pineau",
"email": "lyrixx@lyrixx.info"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for uuid functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"uuid"
],
"support": {
"source": "https://github.com/symfony/polyfill-uuid/tree/v1.26.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": "2022-05-24T11:49:31+00:00"
},
{ {
"name": "symfony/process", "name": "symfony/process",
"version": "v6.0.11", "version": "v6.0.11",
@ -11134,6 +11227,80 @@
], ],
"time": "2022-06-27T17:10:44+00:00" "time": "2022-06-27T17:10:44+00:00"
}, },
{
"name": "symfony/uid",
"version": "v6.0.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
"reference": "7ae9cb6ad0728f9a425499112929575c0b2cc09f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/uid/zipball/7ae9cb6ad0728f9a425499112929575c0b2cc09f",
"reference": "7ae9cb6ad0728f9a425499112929575c0b2cc09f",
"shasum": ""
},
"require": {
"php": ">=8.0.2",
"symfony/polyfill-uuid": "^1.15"
},
"require-dev": {
"symfony/console": "^5.4|^6.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Uid\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Grégoire Pineau",
"email": "lyrixx@lyrixx.info"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Provides an object-oriented API to generate and represent UIDs",
"homepage": "https://symfony.com",
"keywords": [
"UID",
"ulid",
"uuid"
],
"support": {
"source": "https://github.com/symfony/uid/tree/v6.0.11"
},
"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": "2022-07-20T13:45:53+00:00"
},
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
"version": "v6.0.11", "version": "v6.0.11",
@ -13880,27 +14047,27 @@
}, },
{ {
"name": "spatie/laravel-ignition", "name": "spatie/laravel-ignition",
"version": "1.4.1", "version": "1.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/laravel-ignition.git", "url": "https://github.com/spatie/laravel-ignition.git",
"reference": "29deea5d9cf921590184be6956e657c4f4566440" "reference": "192962f4d84526f6868c512530c00633e3165749"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/29deea5d9cf921590184be6956e657c4f4566440", "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/192962f4d84526f6868c512530c00633e3165749",
"reference": "29deea5d9cf921590184be6956e657c4f4566440", "reference": "192962f4d84526f6868c512530c00633e3165749",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-curl": "*", "ext-curl": "*",
"ext-json": "*", "ext-json": "*",
"ext-mbstring": "*", "ext-mbstring": "*",
"illuminate/support": "^8.77|^9.0", "illuminate/support": "^8.77|^9.27",
"monolog/monolog": "^2.3", "monolog/monolog": "^2.3",
"php": "^8.0", "php": "^8.0",
"spatie/flare-client-php": "^1.0.1", "spatie/flare-client-php": "^1.0.1",
"spatie/ignition": "^1.2.4", "spatie/ignition": "^1.4.1",
"symfony/console": "^5.0|^6.0", "symfony/console": "^5.0|^6.0",
"symfony/var-dumper": "^5.0|^6.0" "symfony/var-dumper": "^5.0|^6.0"
}, },
@ -13966,7 +14133,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2022-09-01T11:31:14+00:00" "time": "2022-09-16T13:45:54+00:00"
}, },
{ {
"name": "theseer/tokenizer", "name": "theseer/tokenizer",

View File

@ -6,8 +6,8 @@
<div class="w-full h-33 bg-white hover:bg-gray-100 rounded-lg border border-light-gray disabled:bg-gray-200 mt-1 text-purple font-medium" :class="[{'border-red': error}]"> <div class="w-full h-33 bg-white hover:bg-gray-100 rounded-lg border border-light-gray disabled:bg-gray-200 mt-1 text-purple font-medium" :class="[{'border-red': error}]">
<div class="text-black h-full"> <div class="text-black h-full">
<button type="button" class="w-full h-full flex flex-col items-center justify-center" @click="onContactList"> <button type="button" class="w-full h-full flex flex-col items-center justify-center" @click="onContactList">
<span class="material-icons-outlined text-7xl text-black-400">person_add</span> <span class="material-icons-outlined text-7xl text-black-400 pointer-events-none">person_add</span>
<span class="text-add-contact"> {{ addContactText }} </span> <span class="text-add-contact pointer-events-none"> {{ addContactText }} </span>
</button> </button>
</div> </div>
</div> </div>
@ -26,9 +26,9 @@
autocapitalize="default" autocorrect="ON" autocapitalize="default" autocorrect="ON"
:placeholder="placeholder" :placeholder="placeholder"
:ref="'input-contact-field-' + _uid" :ref="'input-contact-field-' + _uid"
v-model="search" :value="search"
@input="onInput" @input="onInput($event)"
@keyup.enter="onInput" @keyup.enter="onInput($event)"
/> />
</div> </div>
@ -304,7 +304,9 @@ export default {
}); });
}, },
onInput() { onInput(event) {
this.search = event.target.value;
window.axios.get(this.searchRoute + '?search="' + this.search + '" enabled:1 limit:10') window.axios.get(this.searchRoute + '?search="' + this.search + '" enabled:1 limit:10')
.then(response => { .then(response => {
this.contact_list = []; this.contact_list = [];

View File

@ -18,8 +18,8 @@
autocapitalize="default" autocapitalize="default"
autocorrect="ON" autocorrect="ON"
:placeholder="placeholder" :placeholder="placeholder"
v-model="search" :value="search"
@input="onInput" @input="onInput($event)"
:ref="'input-item-field-' + _uid" :ref="'input-item-field-' + _uid"
/> />
</div> </div>
@ -213,7 +213,9 @@ export default {
}.bind(this), 100); }.bind(this), 100);
}, },
onInput() { onInput(event) {
this.search = event.target.value;
//to optimize performance we kept the condition that checks for if search exists or not //to optimize performance we kept the condition that checks for if search exists or not
if (!this.search) { if (!this.search) {
return; return;

View File

@ -16,8 +16,8 @@
autocapitalize="default" autocapitalize="default"
autocorrect="ON" autocorrect="ON"
:placeholder="placeholder" :placeholder="placeholder"
v-model="search" :value="search"
@input="onInput" @input="onInput($event)"
:ref="'input-item-field-' + _uid" :ref="'input-item-field-' + _uid"
@keydown.enter="inputEnterEvent" @keydown.enter="inputEnterEvent"
/> />
@ -282,7 +282,9 @@ export default {
}.bind(this), 100); }.bind(this), 100);
}, },
onInput() { onInput(event) {
this.search = event.target.value;
this.isItemMatched = false; this.isItemMatched = false;
//to optimize performance we kept the condition that checks for if search exists or not //to optimize performance we kept the condition that checks for if search exists or not
if (!this.search) { if (!this.search) {

View File

@ -62,7 +62,7 @@ export default class BulkAction {
} }
change(type) { change(type) {
let action = document.getElementById('button-bulk-action-' + type); let action = document.getElementById('index-bulk-actions-' + type);
this.value = type; this.value = type;

View File

@ -227,7 +227,7 @@
<div v-if="currencies.length && ! new_datas" class="w-full border-b hover:bg-gray-100" style="height:53px;"> <div v-if="currencies.length && ! new_datas" class="w-full border-b hover:bg-gray-100" style="height:53px;">
<button type="button" class="w-full h-full flex items-center justify-center text-purple font-medium disabled:bg-gray-200" @click="onAddItem()"> <button type="button" class="w-full h-full flex items-center justify-center text-purple font-medium disabled:bg-gray-200" @click="onAddItem()">
<span class="material-icons-outlined text-base font-bold ltr:mr-1 rtl:ml-1">add</span> <span class="material-icons-outlined text-base font-bold ltr:mr-1 rtl:ml-1 pointer-events-none">add</span>
<span class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize">{{ translations.currencies.new_currency }}</span> <span class="bg-no-repeat bg-0-2 bg-0-full hover:bg-full-2 bg-gradient-to-b from-transparent to-purple transition-backgroundSize">{{ translations.currencies.new_currency }}</span>
</button> </button>
</div> </div>

View File

@ -101,7 +101,7 @@
<div v-if="taxes.length" class="w-full border-b hover:bg-gray-100" style="height:53px;"> <div v-if="taxes.length" class="w-full border-b hover:bg-gray-100" style="height:53px;">
<button type="button" class="w-full h-full flex items-center justify-center text-purple font-medium disabled:bg-gray-200" @click="onAddItem()"> <button type="button" class="w-full h-full flex items-center justify-center text-purple font-medium disabled:bg-gray-200" @click="onAddItem()">
<span class="material-icons-outlined text-base font-bold ltr:mr-1 rtl:ml-1">add</span> <span class="material-icons-outlined text-base font-bold ltr:mr-1 rtl:ml-1 pointer-events-none">add</span>
{{ translations.taxes.new_tax }} {{ translations.taxes.new_tax }}
</button> </button>
</div> </div>

View File

@ -73,7 +73,7 @@
<x-dropdown id="show-more-actions-account"> <x-dropdown id="show-more-actions-account">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@stack('see_performance_button_start') @stack('see_performance_button_start')

View File

@ -24,7 +24,7 @@
<x-slot name="moreButtons"> <x-slot name="moreButtons">
<x-dropdown id="dropdown-more-actions"> <x-dropdown id="dropdown-more-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@can('create-banking-transactions') @can('create-banking-transactions')

View File

@ -20,7 +20,7 @@
<x-slot name="moreButtons"> <x-slot name="moreButtons">
<x-dropdown id="dropdown-more-actions"> <x-dropdown id="dropdown-more-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@can('create-banking-transfers') @can('create-banking-transfers')

View File

@ -103,24 +103,24 @@
<x-dropdown id="show-more-actions-dashboard"> <x-dropdown id="show-more-actions-dashboard">
<x-slot name="trigger" class="flex" override="class"> <x-slot name="trigger" class="flex" override="class">
<span class="w-8 h-8 flex items-center justify-center px-2 py-2 ltr:ml-2 rtl:mr-2 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6"> <span class="w-8 h-8 flex items-center justify-center px-2 py-2 ltr:ml-2 rtl:mr-2 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6">
<span class="material-icons">more_vert</span> <span class="material-icons pointer-events-none">more_vert</span>
</span> </span>
</x-slot> </x-slot>
@can('create-common-widgets') @can('create-common-widgets')
<x-button <div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap">
type="button" <x-button
id="show-more-actions-add-widget" type="button"
class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" id="show-more-actions-add-widget"
override="class" class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100"
title="{{ trans('general.title.add', ['type' => trans_choice('general.widgets', 1)]) }}" override="class"
@click="onCreateWidget()" title="{{ trans('general.title.add', ['type' => trans_choice('general.widgets', 1)]) }}"
> @click="onCreateWidget()"
<span class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100"> >
{{ trans('general.title.add', ['type' => trans_choice('general.widgets', 1)]) }} {{ trans('general.title.add', ['type' => trans_choice('general.widgets', 1)]) }}
</span> </x-button>
</x-button> </div>
<x-dropdown.divider /> <x-dropdown.divider />
@endcan @endcan

View File

@ -18,7 +18,7 @@
<x-slot name="moreButtons"> <x-slot name="moreButtons">
<x-dropdown id="dropdown-more-actions"> <x-dropdown id="dropdown-more-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@can('create-common-items') @can('create-common-items')

View File

@ -61,7 +61,7 @@
<x-dropdown id="index-line-actions-report-{{ $category_id }}-{{ $report->id }}"> <x-dropdown id="index-line-actions-report-{{ $category_id }}-{{ $report->id }}">
<x-slot name="trigger" class="flex" override="class"> <x-slot name="trigger" class="flex" override="class">
<span class="w-8 h-8 flex items-center justify-center px-2 py-2 rtl:mr-4 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6"> <span class="w-8 h-8 flex items-center justify-center px-2 py-2 rtl:mr-4 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6">
<span class="material-icons">more_vert</span> <span class="material-icons pointer-events-none">more_vert</span>
</span> </span>
</x-slot> </x-slot>

View File

@ -1,6 +1,6 @@
<x-dropdown id="dropdown-more-actions"> <x-dropdown id="dropdown-more-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@if ($checkPermissionCreate) @if ($checkPermissionCreate)

View File

@ -3,7 +3,7 @@
@if (! $hideActionsDropdown) @if (! $hideActionsDropdown)
<x-dropdown id="show-more-actions-{{ $contact->type }}"> <x-dropdown id="show-more-actions-{{ $contact->type }}">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@stack('delete_button_start') @stack('delete_button_start')

View File

@ -8,7 +8,7 @@
@if ($slot->isNotEmpty()) @if ($slot->isNotEmpty())
{!! $slot !!} {!! $slot !!}
@else @else
<span class="material-icons-outlined text-purple text-lg">delete</span> <span class="material-icons-outlined text-purple text-lg pointer-events-none">delete</span>
<div class="inline-block absolute invisible z-10 py-1 px-2 text-sm font-medium text-gray-900 bg-white rounded-lg border border-gray-200 shadow-sm opacity-0 whitespace-nowrap tooltip-content -top-10 -left-2" data-tooltip-placement="top"> <div class="inline-block absolute invisible z-10 py-1 px-2 text-sm font-medium text-gray-900 bg-white rounded-lg border border-gray-200 shadow-sm opacity-0 whitespace-nowrap tooltip-content -top-10 -left-2" data-tooltip-placement="top">
<span>{!! $label !!}</span> <span>{!! $label !!}</span>
<div class="absolute w-2 h-2 -bottom-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-white before:border-gray-200 before:transform before:rotate-45 before:border before:border-t-0 before:border-l-0" data-popper-arrow></div> <div class="absolute w-2 h-2 -bottom-1 before:content-[' '] before:absolute before:w-2 before:h-2 before:bg-white before:border-gray-200 before:transform before:rotate-45 before:border before:border-t-0 before:border-l-0" data-popper-arrow></div>

View File

@ -1,26 +1,27 @@
<x-button <div class="{{ $class }}">
type="button" <x-button
class="{{ $class }}" type="button"
@click="onDeleteViaConfirmation('delete-{{ $modelTable }}-{{ $id }}')" class="{{ $textClass }}"
override="class" @click="onDeleteViaConfirmation('delete-{{ $modelTable }}-{{ $id }}')"
{{ $attributes }} override="class"
> {{ $attributes }}
<span class="{{ $textClass }}"> >
@if ($slot->isNotEmpty()) @if ($slot->isNotEmpty())
{!! $slot !!} {!! $slot !!}
@else @else
{!! $label !!} {!! $label !!}
@endif @endif
</span>
<x-form.input.hidden
<x-form.input.hidden name="delete-{{ $modelTable }}-{{ $id }}"
name="delete-{{ $modelTable }}-{{ $id }}" id="delete-{{ $modelTable }}-{{ $id }}"
id="delete-{{ $modelTable }}-{{ $id }}" data-field="delete"
data-field="delete" data-action="{{ $action }}"
data-action="{{ $action }}" data-title="{!! $title !!}"
data-title="{!! $title !!}" data-message="{!! $message !!}"
data-message="{!! $message !!}" data-cancel="{!! $cancelText !!}"
data-cancel="{!! $cancelText !!}" data-delete="{!! $deleteText !!}"
data-delete="{!! $deleteText !!}" />
/> </x-button>
</x-button> </div>

View File

@ -1,6 +1,6 @@
<x-dropdown id="dropdown-more-actions"> <x-dropdown id="dropdown-more-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@if ($checkPermissionCreate) @if ($checkPermissionCreate)

View File

@ -3,7 +3,7 @@
@if (! $hideMoreActions) @if (! $hideMoreActions)
<x-dropdown id="show-more-actions-{{ $document->type }}"> <x-dropdown id="show-more-actions-{{ $document->type }}">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@stack('button_dropdown_start') @stack('button_dropdown_start')

View File

@ -1,5 +1,5 @@
<button type="button" class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {{ $attributes }}> <div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {{ $attributes }}>
<span class="w-full h-full flex items-center rounded-md px-2 text-sm font-normal hover:bg-lilac-100"> <button type="button" class="w-full h-full flex items-center rounded-md px-2 text-sm font-normal hover:bg-lilac-100">
{!! $slot !!} {!! $slot !!}
</span> </button>
</button> </div>

View File

@ -1,5 +1,5 @@
<a href="{!! $href !!}" class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {{ $attributes }}> <div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {{ $attributes }}>
<span class="w-full h-full flex items-center rounded-md px-2 text-sm font-normal hover:bg-lilac-100"> <a href="{!! $href !!}" class="w-full h-full flex items-center rounded-md px-2 text-sm font-normal hover:bg-lilac-100">
{!! $slot !!} {!! $slot !!}
</span> </a>
</a> </div>

View File

@ -11,7 +11,7 @@
@can('create-banking-transactions') @can('create-banking-transactions')
<x-dropdown id="dropdown-mobile-actions"> <x-dropdown id="dropdown-mobile-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
<x-dropdown.link href="{{ route('transactions.create', ['type' => 'income']) }}"> <x-dropdown.link href="{{ route('transactions.create', ['type' => 'income']) }}">
@ -35,7 +35,7 @@
class="flex flex-col items-center justify-center mb-5 cursor-pointer menu-button" class="flex flex-col items-center justify-center mb-5 cursor-pointer menu-button"
data-menu="profile-menu" data-menu="profile-menu"
> >
<span id="menu-profile-icon-cancel" name="account_circle" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl hidden"> <span id="menu-profile-icon-cancel" name="account_circle" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl hidden pointer-events-none">
account_circle account_circle
</span> </span>
@ -44,7 +44,7 @@
@elseif (is_object(user()->picture)) @elseif (is_object(user()->picture))
<img src="{{ Storage::url(user()->picture->id) }}" class="w-8 h-8 m-auto rounded-full" alt="{{ user()->name }}" title="{{ user()->name }}"> <img src="{{ Storage::url(user()->picture->id) }}" class="w-8 h-8 m-auto rounded-full" alt="{{ user()->name }}" title="{{ user()->name }}">
@else @else
<span id="menu-profile-icon" name="account_circle" class="material-icons-outlined text-purple w-8 h-8 flex items-center justify-center text-center text-2xl" alt="{{ user()->name }}" title="{{ user()->name }}"> <span id="menu-profile-icon" name="account_circle" class="material-icons-outlined text-purple w-8 h-8 flex items-center justify-center text-center text-2xl pointer-events-none" alt="{{ user()->name }}" title="{{ user()->name }}">
account_circle account_circle
</span> </span>
@endif @endif
@ -65,7 +65,7 @@
]) ])
data-menu="notifications-menu" data-menu="notifications-menu"
> >
<span id="menu-notification-icon" name="notifications" class="material-icons-outlined text-purple text-2xl">notifications</span> <span id="menu-notification-icon" name="notifications" class="material-icons-outlined text-purple text-2xl pointer-events-none">notifications</span>
@if ($notification_count) @if ($notification_count)
<span data-notification-count class="w-2 h-2 absolute top-2 right-2 inline-flex items-center justify-center p-2.5 text-xs text-white font-bold leading-none transform translate-x-1/2 -translate-y-1/2 bg-orange rounded-full"> <span data-notification-count class="w-2 h-2 absolute top-2 right-2 inline-flex items-center justify-center p-2.5 text-xs text-white font-bold leading-none transform translate-x-1/2 -translate-y-1/2 bg-orange rounded-full">
@ -78,25 +78,25 @@
<x-tooltip id="tooltip-search" placement="right" message="{{ trans('general.search') }}"> <x-tooltip id="tooltip-search" placement="right" message="{{ trans('general.search') }}">
<button type="button" class="flex items-center menu-button justify-center w-8 h-8 mb-2.5 relative cursor-pointer"> <button type="button" class="flex items-center menu-button justify-center w-8 h-8 mb-2.5 relative cursor-pointer">
<span id="menu-search-icon" name="search" class="material-icons-outlined text-purple text-2xl">search</span> <span id="menu-search-icon" name="search" class="material-icons-outlined text-purple text-2xl pointer-events-none">search</span>
</button> </button>
</x-tooltip> </x-tooltip>
<x-tooltip id="tooltip-new" placement="right" message="{{ trans('general.new') }}"> <x-tooltip id="tooltip-new" placement="right" message="{{ trans('general.new') }}">
<button type="button" class="add-item menu-button flex items-center justify-center w-8 h-8 mb-2.5 cursor-pointer js-menu-toggles" data-menu="add-new-menu"> <button type="button" class="add-item menu-button flex items-center justify-center w-8 h-8 mb-2.5 cursor-pointer js-menu-toggles" data-menu="add-new-menu">
<span id="menu-neww-icon" name="add_circle_outline" class="material-icons-outlined text-purple text-2xl">add_circle_outline</span> <span id="menu-neww-icon" name="add_circle_outline" class="material-icons-outlined text-purple text-2xl pointer-events-none">add_circle_outline</span>
</button> </button>
</x-tooltip> </x-tooltip>
<x-tooltip id="tooltip-settings" placement="right" message="{{ trans_choice('general.settings', 2) }}"> <x-tooltip id="tooltip-settings" placement="right" message="{{ trans_choice('general.settings', 2) }}">
<button type="button" class="settings-item menu-button flex items-center justify-center w-8 h-8 mb-2.5 cursor-pointer js-menu-toggles" data-menu="settings-menu"> <button type="button" class="settings-item menu-button flex items-center justify-center w-8 h-8 mb-2.5 cursor-pointer js-menu-toggles" data-menu="settings-menu">
<span id="menu-settings-icon" name="settings" class="material-icons-outlined text-purple text-2xl">settings</span> <span id="menu-settings-icon" name="settings" class="material-icons-outlined text-purple text-2xl pointer-events-none">settings</span>
</button> </button>
</x-tooltip> </x-tooltip>
<x-tooltip id="tooltip-support" placement="right" message="{{ trans('general.help') }}"> <x-tooltip id="tooltip-support" placement="right" message="{{ trans('general.help') }}">
<x-link href="{{ url(trans('header.support_link')) }}" target="_blank" class="flex items-center justify-center w-8 h-8 mb-2.5 cursor-pointer js-menu-toggles" override="class"> <x-link href="{{ url(trans('header.support_link')) }}" target="_blank" class="flex items-center justify-center w-8 h-8 mb-2.5 cursor-pointer js-menu-toggles" override="class">
<span id="menu-support-icon" class="material-icons-outlined text-purple text-2xl">support</span> <span id="menu-support-icon" class="material-icons-outlined text-purple text-2xl pointer-events-none">support</span>
</x-link> </x-link>
</x-tooltip> </x-tooltip>
</div> </div>
@ -165,7 +165,7 @@
@elseif (is_object(user()->picture)) @elseif (is_object(user()->picture))
<img src="{{ Storage::url(user()->picture->id) }}" class="w-8 h-8 rounded-full" alt="{{ user()->name }}" title="{{ user()->name }}"> <img src="{{ Storage::url(user()->picture->id) }}" class="w-8 h-8 rounded-full" alt="{{ user()->name }}" title="{{ user()->name }}">
@else @else
<span name="account_circle" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl" alt="{{ user()->name }}" title="{{ user()->name }}">account_circle</span> <span name="account_circle" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl pointer-events-none" alt="{{ user()->name }}" title="{{ user()->name }}">account_circle</span>
@endif @endif
@stack('navbar_profile_welcome') @stack('navbar_profile_welcome')
@ -183,7 +183,7 @@
@can('read-notifications') @can('read-notifications')
<div class="notifications-menu user-menu menu-list fixed h-full ltr:-left-80 rtl:-right-80"> <div class="notifications-menu user-menu menu-list fixed h-full ltr:-left-80 rtl:-right-80">
<div class="flex items-center mb-3"> <div class="flex items-center mb-3">
<span name="notifications" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl">notifications</span> <span name="notifications" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl pointer-events-none">notifications</span>
<div class="text-black ltr:ml-1 rtl:mr-1"> <div class="text-black ltr:ml-1 rtl:mr-1">
{{ trans_choice('general.your_notifications', 2) }} {{ trans_choice('general.your_notifications', 2) }}
@ -196,7 +196,7 @@
<div class="settings-menu user-menu menu-list fixed h-full overflow-y-unset ltr:-left-80 rtl:-right-80"> <div class="settings-menu user-menu menu-list fixed h-full overflow-y-unset ltr:-left-80 rtl:-right-80">
<div class="flex items-center mb-3"> <div class="flex items-center mb-3">
<span name="settings" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl">settings</span> <span name="settings" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl pointer-events-none">settings</span>
<div class="text-black ltr:ml-1 rtl:mr-1"> <div class="text-black ltr:ml-1 rtl:mr-1">
{{ trans_choice('general.settings', 2) }} {{ trans_choice('general.settings', 2) }}
@ -208,7 +208,7 @@
<div class="add-new-menu user-menu menu-list fixed h-full ltr:-left-80 rtl:-right-80"> <div class="add-new-menu user-menu menu-list fixed h-full ltr:-left-80 rtl:-right-80">
<div class="flex items-center mb-3"> <div class="flex items-center mb-3">
<span name="add_circle_outline" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl">add_circle_outline</span> <span name="add_circle_outline" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl pointer-events-none">add_circle_outline</span>
<div class="text-black ltr:ml-1 rtl:mr-1"> <div class="text-black ltr:ml-1 rtl:mr-1">
{{ trans('general.new_more') }} {{ trans('general.new_more') }}
@ -219,10 +219,10 @@
</div> </div>
<button type="button" class="toggle-button absolute ltr:-right-2 rtl:-left-2 top-8 cursor-pointer transition-opacity ease-in-out z-50"> <button type="button" class="toggle-button absolute ltr:-right-2 rtl:-left-2 top-8 cursor-pointer transition-opacity ease-in-out z-50">
<span class="material-icons text-lg text-purple transform ltr:rotate-90 rtl:-rotate-90">expand_circle_down</span> <span class="material-icons text-lg text-purple transform ltr:rotate-90 rtl:-rotate-90 pointer-events-none">expand_circle_down</span>
</button> </button>
<span data-menu-close id="menu-cancel" class="material-icons absolute ltr:-right-2 rtl:right-12 transition-all top-8 text-lg text-purple cursor-pointer z-10 hidden">cancel</span> <span data-menu-close id="menu-cancel" class="material-icons absolute ltr:-right-2 rtl:right-12 transition-all top-8 text-lg text-purple cursor-pointer z-10 hidden pointer-events-none">cancel</span>
<div class="fixed w-full h-full invisible lg:hidden js-menu-background" style="background-color: rgba(0, 0, 0, 0.5); z-index: -1;"></div> <div class="fixed w-full h-full invisible lg:hidden js-menu-background" style="background-color: rgba(0, 0, 0, 0.5); z-index: -1;"></div>
</div> </div>

View File

@ -19,7 +19,7 @@
class="flex flex-col items-center justify-center mb-5 cursor-pointer menu-button" class="flex flex-col items-center justify-center mb-5 cursor-pointer menu-button"
data-menu="profile-menu" data-menu="profile-menu"
> >
<span name="account_circle" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl hidden"> <span name="account_circle" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl hidden pointer-events-none">
account_circle account_circle
</span> </span>
@ -28,7 +28,7 @@
@elseif (is_object(user()->picture)) @elseif (is_object(user()->picture))
<img src="{{ Storage::url(user()->picture->id) }}" class="w-8 h-8 m-auto rounded-full" alt="{{ user()->name }}" title="{{ user()->name }}"> <img src="{{ Storage::url(user()->picture->id) }}" class="w-8 h-8 m-auto rounded-full" alt="{{ user()->name }}" title="{{ user()->name }}">
@else @else
<span name="account_circle" class="material-icons-outlined text-purple w-8 h-8 flex items-center justify-center text-center text-2xl" alt="{{ user()->name }}" title="{{ user()->name }}"> <span name="account_circle" class="material-icons-outlined text-purple w-8 h-8 flex items-center justify-center text-center text-2xl pointer-events-none" alt="{{ user()->name }}" title="{{ user()->name }}">
account_circle account_circle
</span> </span>
@endif @endif
@ -48,7 +48,7 @@
'animate-vibrate' => user()->unreadNotifications->count(), 'animate-vibrate' => user()->unreadNotifications->count(),
]) ])
data-menu="notifications-menu"> data-menu="notifications-menu">
<span name="notifications" class="material-icons-outlined text-purple text-2xl">notifications</span> <span name="notifications" class="material-icons-outlined text-purple text-2xl pointer-events-none">notifications</span>
@if (user()->unreadNotifications->count()) @if (user()->unreadNotifications->count())
<span data-notification-count class="w-2 h-2 absolute top-2 right-2 inline-flex items-center justify-center p-2.5 text-xs text-white font-bold leading-none transform translate-x-1/2 -translate-y-1/2 bg-orange rounded-full"> <span data-notification-count class="w-2 h-2 absolute top-2 right-2 inline-flex items-center justify-center p-2.5 text-xs text-white font-bold leading-none transform translate-x-1/2 -translate-y-1/2 bg-orange rounded-full">
@ -61,13 +61,13 @@
<x-tooltip id="tooltip-search" placement="right" message="{{ trans('general.search') }}"> <x-tooltip id="tooltip-search" placement="right" message="{{ trans('general.search') }}">
<button type="button" class="flex items-center menu-button justify-center w-8 h-8 mb-2.5 relative cursor-pointer"> <button type="button" class="flex items-center menu-button justify-center w-8 h-8 mb-2.5 relative cursor-pointer">
<span name="search" class="material-icons-outlined text-purple text-2xl">search</span> <span name="search" class="material-icons-outlined text-purple text-2xl pointer-events-none">search</span>
</button> </button>
</x-tooltip> </x-tooltip>
<x-tooltip id="tooltip-support" placement="right" message="{{ trans('general.help') }}"> <x-tooltip id="tooltip-support" placement="right" message="{{ trans('general.help') }}">
<x-link href="{{ url(trans('header.support_link')) }}" target="_blank" class="flex items-center justify-center w-8 h-8 mb-2.5 cursor-pointer js-menu-toggles" override="class"> <x-link href="{{ url(trans('header.support_link')) }}" target="_blank" class="flex items-center justify-center w-8 h-8 mb-2.5 cursor-pointer js-menu-toggles" override="class">
<span class="material-icons-outlined text-purple text-2xl">support</span> <span class="material-icons-outlined text-purple text-2xl pointer-events-none">support</span>
</x-link> </x-link>
</x-tooltip> </x-tooltip>
</div> </div>
@ -136,7 +136,7 @@
@elseif (is_object(user()->picture)) @elseif (is_object(user()->picture))
<img src="{{ Storage::url(user()->picture->id) }}" class="w-8 h-8 rounded-full" alt="{{ user()->name }}" title="{{ user()->name }}"> <img src="{{ Storage::url(user()->picture->id) }}" class="w-8 h-8 rounded-full" alt="{{ user()->name }}" title="{{ user()->name }}">
@else @else
<span name="account_circle" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl" alt="{{ user()->name }}" title="{{ user()->name }}">account_circle</span> <span name="account_circle" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl pointer-events-none" alt="{{ user()->name }}" title="{{ user()->name }}">account_circle</span>
@endif @endif
@stack('navbar_profile_welcome') @stack('navbar_profile_welcome')
@ -154,7 +154,7 @@
@can('read-notifications') @can('read-notifications')
<div class="notifications-menu user-menu menu-list fixed h-full ltr:-left-80 rtl:-right-80"> <div class="notifications-menu user-menu menu-list fixed h-full ltr:-left-80 rtl:-right-80">
<div class="flex items-center mb-3"> <div class="flex items-center mb-3">
<span name="notifications" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl">notifications</span> <span name="notifications" class="material-icons-outlined w-8 h-8 flex items-center justify-center text-purple text-2xl pointer-events-none">notifications</span>
<div class="text-black ltr:ml-1 rtl:mr-1"> <div class="text-black ltr:ml-1 rtl:mr-1">
{{ trans_choice('general.your_notifications', 2) }} {{ trans_choice('general.your_notifications', 2) }}
@ -166,10 +166,10 @@
@endcan @endcan
<button type="button" class="toggle-button absolute ltr:-right-2 rtl:-left-2 top-8 cursor-pointer transition-opacity ease-in-out z-50"> <button type="button" class="toggle-button absolute ltr:-right-2 rtl:-left-2 top-8 cursor-pointer transition-opacity ease-in-out z-50">
<span class="material-icons text-lg text-purple transform ltr:rotate-90 rtl:-rotate-90">expand_circle_down</span> <span class="material-icons text-lg text-purple transform ltr:rotate-90 rtl:-rotate-90 pointer-events-none">expand_circle_down</span>
</button> </button>
<span data-menu-close class="material-icons absolute ltr:-right-2 rtl:right-12 transition-all top-8 text-lg text-purple cursor-pointer z-10 hidden">cancel</span> <span data-menu-close class="material-icons absolute ltr:-right-2 rtl:right-12 transition-all top-8 text-lg text-purple cursor-pointer z-10 hidden pointer-events-none">cancel</span>
<div class="fixed w-full h-full invisible lg:hidden js-menu-background" style="background-color: rgba(0, 0, 0, 0.5); z-index: -1;"></div> <div class="fixed w-full h-full invisible lg:hidden js-menu-background" style="background-color: rgba(0, 0, 0, 0.5); z-index: -1;"></div>
</div> </div>

View File

@ -20,7 +20,7 @@
@switch($type) @switch($type)
@case('button') @case('button')
<button type="button" class="relative bg-white hover:bg-gray-100 border py-0.5 px-1 cursor-pointer index-actions group" {!! $action['attributes'] ?? null !!}> <button type="button" class="relative bg-white hover:bg-gray-100 border py-0.5 px-1 cursor-pointer index-actions group" {!! $action['attributes'] ?? null !!}>
<span class="material-icons-outlined text-purple text-lg"> <span class="material-icons-outlined text-purple text-lg pointer-events-none">
{{ $action['icon'] }} {{ $action['icon'] }}
</span> </span>
@ -43,7 +43,7 @@
@default @default
<a href="{{ $action['url'] }}" class="relative bg-white hover:bg-gray-100 border py-0.5 px-1 cursor-pointer index-actions" {!! $action['attributes'] ?? null !!}> <a href="{{ $action['url'] }}" class="relative bg-white hover:bg-gray-100 border py-0.5 px-1 cursor-pointer index-actions" {!! $action['attributes'] ?? null !!}>
<span class="material-icons-outlined text-purple text-lg"> <span class="material-icons-outlined text-purple text-lg pointer-events-none">
{{ $action['icon'] }} {{ $action['icon'] }}
</span> </span>
@ -91,11 +91,11 @@
@case('button') @case('button')
@php $divider = false; @endphp @php $divider = false; @endphp
<button type="button" class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {!! $action['attributes'] ?? null !!}> <div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {!! $action['attributes'] ?? null !!}>
<span class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100"> <button type="button" class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
{{ $action['title'] }} {{ $action['title'] }}
</span> </button>
</button> </div>
@break @break
@case('delete') @case('delete')
@ -121,11 +121,11 @@
@default @default
@php $divider = false; @endphp @php $divider = false; @endphp
<a href="{{ $action['url'] }}" class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {!! $action['attributes'] ?? null !!}> <div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" {!! $action['attributes'] ?? null !!}>
<span class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100"> <a href="{{ $action['url'] }}" class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
{{ $action['title'] }} {{ $action['title'] }}
</span> </a>
</a> </div>
@endswitch @endswitch
@endforeach @endforeach
</div> </div>

View File

@ -3,7 +3,7 @@
@if (! $hideButtonMoreActions) @if (! $hideButtonMoreActions)
<x-dropdown id="show-more-actions-{{ $transaction->type }}"> <x-dropdown id="show-more-actions-{{ $transaction->type }}">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@stack('duplicate_button_start') @stack('duplicate_button_start')
@ -25,14 +25,16 @@
@if ($transaction->is_splittable && empty($transaction->document_id) && empty($transaction->recurring) && $transaction->isNotTransferTransaction()) @if ($transaction->is_splittable && empty($transaction->document_id) && empty($transaction->recurring) && $transaction->isNotTransferTransaction())
@if (! $hideButtonConnect) @if (! $hideButtonConnect)
@can($permissionCreate) @can($permissionCreate)
<div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap">
<button <button
type="button" type="button"
id="show-more-actions-connect-{{ $transaction->type }}" id="show-more-actions-connect-{{ $transaction->type }}"
class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100"
title="{{ trans('general.connect') }}" title="{{ trans('general.connect') }}"
@click="onConnectTransactions('{{ route('transactions.dial', $transaction->id) }}')"> @click="onConnectTransactions('{{ route('transactions.dial', $transaction->id) }}')">
<span class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">{{ trans('general.connect') }}</span> {{ trans('general.connect') }}
</button> </button>
</div>
@endcan @endcan
@endif @endif
@endif @endif

View File

@ -2,7 +2,7 @@
<x-dropdown id="dropdown-actions"> <x-dropdown id="dropdown-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@stack('edit_button_start') @stack('edit_button_start')
@ -45,11 +45,11 @@
@stack('choose_button_start') @stack('choose_button_start')
<button type="button" class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" @click="onTemplate"> <div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap">
<span class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100"> <button type="button" @click="onTemplate" class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100">
{{ trans('general.form.choose', ['field' => trans_choice('general.templates', 1)]) }} {{ trans('general.form.choose', ['field' => trans_choice('general.templates', 1)]) }}
</span> </button>
</button> </div>
@stack('choose_button_end') @stack('choose_button_end')

View File

@ -17,23 +17,23 @@
<x-dropdown id="show-more-actions-widget-{{ $class->model->id }}"> <x-dropdown id="show-more-actions-widget-{{ $class->model->id }}">
<x-slot name="trigger" class="flex" override="class"> <x-slot name="trigger" class="flex" override="class">
<span class="w-8 h-8 flex items-center justify-center px-2 py-2 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6"> <span class="w-8 h-8 flex items-center justify-center px-2 py-2 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6">
<span class="material-icons">more_vert</span> <span class="material-icons pointer-events-none">more_vert</span>
</span> </span>
</x-slot> </x-slot>
@can('update-common-widgets') @can('update-common-widgets')
<x-button <div class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap">
type="button" <x-button
id="show-more-actions-edit-widget-{{ $class->model->id }}" type="button"
class="w-full flex items-center text-purple px-2 h-9 leading-9 whitespace-nowrap" id="show-more-actions-edit-widget-{{ $class->model->id }}"
override="class" class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100"
title="{{ trans('general.edit') }}" override="class"
@click="onEditWidget('{{ $class->model->id }}')" title="{{ trans('general.edit') }}"
> @click="onEditWidget('{{ $class->model->id }}')"
<span class="w-full h-full flex items-center rounded-md px-2 text-sm hover:bg-lilac-100"> >
{{ trans('general.edit') }} {{ trans('general.edit') }}
</span> </x-button>
</x-button> </div>
@endcan @endcan
@can('delete-common-widgets') @can('delete-common-widgets')

View File

@ -20,7 +20,7 @@
<x-slot name="moreButtons"> <x-slot name="moreButtons">
<x-dropdown id="dropdown-more-actions"> <x-dropdown id="dropdown-more-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-none">more_horiz</span>
</x-slot> </x-slot>
@can('create-settings-categories') @can('create-settings-categories')

View File

@ -20,7 +20,7 @@
<x-slot name="moreButtons"> <x-slot name="moreButtons">
<x-dropdown id="dropdown-more-actions"> <x-dropdown id="dropdown-more-actions">
<x-slot name="trigger"> <x-slot name="trigger">
<span class="material-icons">more_horiz</span> <span class="material-icons pointer-events-auto">more_horiz</span>
</x-slot> </x-slot>
@can('create-settings-taxes') @can('create-settings-taxes')