add shimmer animation in deal modal
This commit is contained in:
parent
45196cba56
commit
a5f2f43fb1
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\auth;
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Enums\UserStatus;
|
||||
use App\Enums\UserTypes;
|
||||
|
||||
161
composer.lock
generated
161
composer.lock
generated
@ -77,16 +77,16 @@
|
||||
},
|
||||
{
|
||||
"name": "blade-ui-kit/blade-icons",
|
||||
"version": "1.8.0",
|
||||
"version": "1.8.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/driesvints/blade-icons.git",
|
||||
"reference": "7b743f27476acb2ed04cb518213d78abe096e814"
|
||||
"reference": "47e7b6f43250e6404e4224db8229219cd42b543c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/driesvints/blade-icons/zipball/7b743f27476acb2ed04cb518213d78abe096e814",
|
||||
"reference": "7b743f27476acb2ed04cb518213d78abe096e814",
|
||||
"url": "https://api.github.com/repos/driesvints/blade-icons/zipball/47e7b6f43250e6404e4224db8229219cd42b543c",
|
||||
"reference": "47e7b6f43250e6404e4224db8229219cd42b543c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -133,7 +133,7 @@
|
||||
}
|
||||
],
|
||||
"description": "A package to easily make use of icons in your Laravel Blade views.",
|
||||
"homepage": "https://github.com/blade-ui-kit/blade-icons",
|
||||
"homepage": "https://github.com/driesvints/blade-icons",
|
||||
"keywords": [
|
||||
"blade",
|
||||
"icons",
|
||||
@ -141,8 +141,8 @@
|
||||
"svg"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/blade-ui-kit/blade-icons/issues",
|
||||
"source": "https://github.com/blade-ui-kit/blade-icons"
|
||||
"issues": "https://github.com/driesvints/blade-icons/issues",
|
||||
"source": "https://github.com/driesvints/blade-icons"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -154,7 +154,7 @@
|
||||
"type": "paypal"
|
||||
}
|
||||
],
|
||||
"time": "2025-02-13T20:35:06+00:00"
|
||||
"time": "2026-01-20T09:46:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "brick/math",
|
||||
@ -1204,16 +1204,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v12.46.0",
|
||||
"version": "v12.48.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "9dcff48d25a632c1fadb713024c952fec489c4ae"
|
||||
"reference": "0f0974a9769378ccd9c9935c09b9927f3a606830"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/9dcff48d25a632c1fadb713024c952fec489c4ae",
|
||||
"reference": "9dcff48d25a632c1fadb713024c952fec489c4ae",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/0f0974a9769378ccd9c9935c09b9927f3a606830",
|
||||
"reference": "0f0974a9769378ccd9c9935c09b9927f3a606830",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1326,7 +1326,7 @@
|
||||
"league/flysystem-sftp-v3": "^3.25.1",
|
||||
"mockery/mockery": "^1.6.10",
|
||||
"opis/json-schema": "^2.4.1",
|
||||
"orchestra/testbench-core": "^10.8.1",
|
||||
"orchestra/testbench-core": "^10.9.0",
|
||||
"pda/pheanstalk": "^5.0.6|^7.0.0",
|
||||
"php-http/discovery": "^1.15",
|
||||
"phpstan/phpstan": "^2.0",
|
||||
@ -1422,20 +1422,20 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2026-01-07T23:26:53+00:00"
|
||||
"time": "2026-01-20T16:12:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/prompts",
|
||||
"version": "v0.3.8",
|
||||
"version": "v0.3.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/prompts.git",
|
||||
"reference": "096748cdfb81988f60090bbb839ce3205ace0d35"
|
||||
"reference": "360ba095ef9f51017473505191fbd4ab73e1cab3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/prompts/zipball/096748cdfb81988f60090bbb839ce3205ace0d35",
|
||||
"reference": "096748cdfb81988f60090bbb839ce3205ace0d35",
|
||||
"url": "https://api.github.com/repos/laravel/prompts/zipball/360ba095ef9f51017473505191fbd4ab73e1cab3",
|
||||
"reference": "360ba095ef9f51017473505191fbd4ab73e1cab3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1479,22 +1479,22 @@
|
||||
"description": "Add beautiful and user-friendly forms to your command-line applications.",
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel/prompts/issues",
|
||||
"source": "https://github.com/laravel/prompts/tree/v0.3.8"
|
||||
"source": "https://github.com/laravel/prompts/tree/v0.3.10"
|
||||
},
|
||||
"time": "2025-11-21T20:52:52+00:00"
|
||||
"time": "2026-01-13T20:29:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/serializable-closure",
|
||||
"version": "v2.0.7",
|
||||
"version": "v2.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/serializable-closure.git",
|
||||
"reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd"
|
||||
"reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
|
||||
"reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
|
||||
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/7581a4407012f5f53365e11bafc520fd7f36bc9b",
|
||||
"reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1542,7 +1542,7 @@
|
||||
"issues": "https://github.com/laravel/serializable-closure/issues",
|
||||
"source": "https://github.com/laravel/serializable-closure"
|
||||
},
|
||||
"time": "2025-11-21T20:52:36+00:00"
|
||||
"time": "2026-01-08T16:22:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/tinker",
|
||||
@ -1989,20 +1989,20 @@
|
||||
},
|
||||
{
|
||||
"name": "league/uri",
|
||||
"version": "7.7.0",
|
||||
"version": "7.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/uri.git",
|
||||
"reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807"
|
||||
"reference": "4436c6ec8d458e4244448b069cc572d088230b76"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/uri/zipball/8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
|
||||
"reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
|
||||
"url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76",
|
||||
"reference": "4436c6ec8d458e4244448b069cc572d088230b76",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"league/uri-interfaces": "^7.7",
|
||||
"league/uri-interfaces": "^7.8",
|
||||
"php": "^8.1",
|
||||
"psr/http-factory": "^1"
|
||||
},
|
||||
@ -2016,11 +2016,11 @@
|
||||
"ext-gmp": "to improve IPV4 host parsing",
|
||||
"ext-intl": "to handle IDN host with the best performance",
|
||||
"ext-uri": "to use the PHP native URI class",
|
||||
"jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
|
||||
"league/uri-components": "Needed to easily manipulate URI objects components",
|
||||
"league/uri-polyfill": "Needed to backport the PHP URI extension for older versions of PHP",
|
||||
"jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain",
|
||||
"league/uri-components": "to provide additional tools to manipulate URI objects components",
|
||||
"league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP",
|
||||
"php-64bit": "to improve IPV4 host parsing",
|
||||
"rowbot/url": "to handle WHATWG URL",
|
||||
"rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
|
||||
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
|
||||
},
|
||||
"type": "library",
|
||||
@ -2075,7 +2075,7 @@
|
||||
"docs": "https://uri.thephpleague.com",
|
||||
"forum": "https://thephpleague.slack.com",
|
||||
"issues": "https://github.com/thephpleague/uri-src/issues",
|
||||
"source": "https://github.com/thephpleague/uri/tree/7.7.0"
|
||||
"source": "https://github.com/thephpleague/uri/tree/7.8.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2083,20 +2083,20 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-12-07T16:02:06+00:00"
|
||||
"time": "2026-01-14T17:24:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/uri-interfaces",
|
||||
"version": "7.7.0",
|
||||
"version": "7.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/uri-interfaces.git",
|
||||
"reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c"
|
||||
"reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
|
||||
"reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
|
||||
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
|
||||
"reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2109,7 +2109,7 @@
|
||||
"ext-gmp": "to improve IPV4 host parsing",
|
||||
"ext-intl": "to handle IDN host with the best performance",
|
||||
"php-64bit": "to improve IPV4 host parsing",
|
||||
"rowbot/url": "to handle WHATWG URL",
|
||||
"rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
|
||||
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
|
||||
},
|
||||
"type": "library",
|
||||
@ -2159,7 +2159,7 @@
|
||||
"docs": "https://uri.thephpleague.com",
|
||||
"forum": "https://thephpleague.slack.com",
|
||||
"issues": "https://github.com/thephpleague/uri-src/issues",
|
||||
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.7.0"
|
||||
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2167,7 +2167,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-12-07T16:03:21+00:00"
|
||||
"time": "2026-01-15T06:54:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "monolog/monolog",
|
||||
@ -6149,16 +6149,16 @@
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "brianium/paratest",
|
||||
"version": "v7.16.0",
|
||||
"version": "v7.16.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paratestphp/paratest.git",
|
||||
"reference": "a10878ed0fe0bbc2f57c980f7a08065338b970b6"
|
||||
"reference": "f0fdfd8e654e0d38bc2ba756a6cabe7be287390b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paratestphp/paratest/zipball/a10878ed0fe0bbc2f57c980f7a08065338b970b6",
|
||||
"reference": "a10878ed0fe0bbc2f57c980f7a08065338b970b6",
|
||||
"url": "https://api.github.com/repos/paratestphp/paratest/zipball/f0fdfd8e654e0d38bc2ba756a6cabe7be287390b",
|
||||
"reference": "f0fdfd8e654e0d38bc2ba756a6cabe7be287390b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6169,10 +6169,10 @@
|
||||
"fidry/cpu-core-counter": "^1.3.0",
|
||||
"jean85/pretty-package-versions": "^2.1.1",
|
||||
"php": "~8.3.0 || ~8.4.0 || ~8.5.0",
|
||||
"phpunit/php-code-coverage": "^12.5.1",
|
||||
"phpunit/php-code-coverage": "^12.5.2",
|
||||
"phpunit/php-file-iterator": "^6",
|
||||
"phpunit/php-timer": "^8",
|
||||
"phpunit/phpunit": "^12.5.2",
|
||||
"phpunit/phpunit": "^12.5.4",
|
||||
"sebastian/environment": "^8.0.3",
|
||||
"symfony/console": "^7.3.4 || ^8.0.0",
|
||||
"symfony/process": "^7.3.4 || ^8.0.0"
|
||||
@ -6184,7 +6184,7 @@
|
||||
"ext-posix": "*",
|
||||
"phpstan/phpstan": "^2.1.33",
|
||||
"phpstan/phpstan-deprecation-rules": "^2.0.3",
|
||||
"phpstan/phpstan-phpunit": "^2.0.10",
|
||||
"phpstan/phpstan-phpunit": "^2.0.11",
|
||||
"phpstan/phpstan-strict-rules": "^2.0.7",
|
||||
"symfony/filesystem": "^7.3.2 || ^8.0.0"
|
||||
},
|
||||
@ -6226,7 +6226,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/paratestphp/paratest/issues",
|
||||
"source": "https://github.com/paratestphp/paratest/tree/v7.16.0"
|
||||
"source": "https://github.com/paratestphp/paratest/tree/v7.16.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6238,7 +6238,7 @@
|
||||
"type": "paypal"
|
||||
}
|
||||
],
|
||||
"time": "2025-12-09T20:03:26+00:00"
|
||||
"time": "2026-01-08T07:23:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
@ -6596,23 +6596,22 @@
|
||||
},
|
||||
{
|
||||
"name": "laradumps/laradumps",
|
||||
"version": "v5.0.0",
|
||||
"version": "v5.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laradumps/laradumps.git",
|
||||
"reference": "7bfb9b888ce351ca151e29cacf2e2e74c7b62f72"
|
||||
"reference": "e7b3119b50124942cb1062fcbbd0036a27312d6e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laradumps/laradumps/zipball/7bfb9b888ce351ca151e29cacf2e2e74c7b62f72",
|
||||
"reference": "7bfb9b888ce351ca151e29cacf2e2e74c7b62f72",
|
||||
"url": "https://api.github.com/repos/laradumps/laradumps/zipball/e7b3119b50124942cb1062fcbbd0036a27312d6e",
|
||||
"reference": "e7b3119b50124942cb1062fcbbd0036a27312d6e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/mail": "^11.0|^12.0",
|
||||
"illuminate/support": "^11.0|^12.0",
|
||||
"laradumps/laradumps-core": "^4.0.0",
|
||||
"nunomaduro/termwind": "^2.3.3",
|
||||
"laradumps/laradumps-core": "^4.0.1",
|
||||
"php": "^8.2"
|
||||
},
|
||||
"require-dev": {
|
||||
@ -6656,7 +6655,7 @@
|
||||
"homepage": "https://github.com/laradumps/laradumps",
|
||||
"support": {
|
||||
"issues": "https://github.com/laradumps/laradumps/issues",
|
||||
"source": "https://github.com/laradumps/laradumps/tree/v5.0.0"
|
||||
"source": "https://github.com/laradumps/laradumps/tree/v5.0.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6664,25 +6663,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-12-13T12:44:16+00:00"
|
||||
"time": "2026-01-15T18:01:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laradumps/laradumps-core",
|
||||
"version": "v4.0.0",
|
||||
"version": "v4.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laradumps/laradumps-core.git",
|
||||
"reference": "bb57c8fccb785777020b85592d718e8ff0c9a23a"
|
||||
"reference": "162ceebac8e7253332270421b74a12a94a6f28b8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laradumps/laradumps-core/zipball/bb57c8fccb785777020b85592d718e8ff0c9a23a",
|
||||
"reference": "bb57c8fccb785777020b85592d718e8ff0c9a23a",
|
||||
"url": "https://api.github.com/repos/laradumps/laradumps-core/zipball/162ceebac8e7253332270421b74a12a94a6f28b8",
|
||||
"reference": "162ceebac8e7253332270421b74a12a94a6f28b8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-curl": "*",
|
||||
"nunomaduro/termwind": "^2.0",
|
||||
"php": "^8.2",
|
||||
"ramsey/uuid": "^4.9.1",
|
||||
"spatie/backtrace": "^1.5",
|
||||
@ -6693,11 +6691,14 @@
|
||||
"symfony/yaml": "^6.4|^7.0|^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"illuminate/support": "^10.46",
|
||||
"illuminate/support": "^12",
|
||||
"laravel/pint": "^1.26.0",
|
||||
"pestphp/pest": "^3.0|^4.0",
|
||||
"phpstan/phpstan": "^1.10.50"
|
||||
},
|
||||
"suggest": {
|
||||
"nunomaduro/termwind": "For a better terminal experience"
|
||||
},
|
||||
"bin": [
|
||||
"bin/laradumps"
|
||||
],
|
||||
@ -6725,7 +6726,7 @@
|
||||
"homepage": "https://github.com/laradumps/laradumps-core",
|
||||
"support": {
|
||||
"issues": "https://github.com/laradumps/laradumps-core/issues",
|
||||
"source": "https://github.com/laradumps/laradumps-core/tree/v4.0.0"
|
||||
"source": "https://github.com/laradumps/laradumps-core/tree/v4.0.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6733,7 +6734,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-12-12T22:10:38+00:00"
|
||||
"time": "2026-01-15T17:33:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/pail",
|
||||
@ -7943,16 +7944,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "2.3.0",
|
||||
"version": "2.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495"
|
||||
"reference": "16dbf9937da8d4528ceb2145c9c7c0bd29e26374"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495",
|
||||
"reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/16dbf9937da8d4528ceb2145c9c7c0bd29e26374",
|
||||
"reference": "16dbf9937da8d4528ceb2145c9c7c0bd29e26374",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7984,9 +7985,9 @@
|
||||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0"
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.1"
|
||||
},
|
||||
"time": "2025-08-30T15:50:23+00:00"
|
||||
"time": "2026-01-12T11:33:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
@ -9627,16 +9628,16 @@
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
"version": "2.1.1",
|
||||
"version": "2.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/webmozarts/assert.git",
|
||||
"reference": "bdbabc199a7ba9965484e4725d66170e5711323b"
|
||||
"reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/webmozarts/assert/zipball/bdbabc199a7ba9965484e4725d66170e5711323b",
|
||||
"reference": "bdbabc199a7ba9965484e4725d66170e5711323b",
|
||||
"url": "https://api.github.com/repos/webmozarts/assert/zipball/ce6a2f100c404b2d32a1dd1270f9b59ad4f57649",
|
||||
"reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -9683,9 +9684,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/webmozarts/assert/issues",
|
||||
"source": "https://github.com/webmozarts/assert/tree/2.1.1"
|
||||
"source": "https://github.com/webmozarts/assert/tree/2.1.2"
|
||||
},
|
||||
"time": "2026-01-08T11:28:40+00:00"
|
||||
"time": "2026-01-13T14:02:24+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
|
||||
@ -22,6 +22,14 @@ @layer components {
|
||||
}
|
||||
|
||||
|
||||
[data-is-loading="true"] {
|
||||
@apply animate-pulse bg-slate-200! text-transparent! rounded select-none pointer-events-none min-h-4;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
[data-is-loading="true"] * {
|
||||
@apply opacity-0!;
|
||||
}
|
||||
}
|
||||
|
||||
@layer base {
|
||||
@ -33,6 +41,7 @@ @layer base {
|
||||
.preload * {
|
||||
transition: none !important;
|
||||
}
|
||||
|
||||
@keyframes appear {
|
||||
from {
|
||||
opacity: 0;
|
||||
@ -41,6 +50,7 @@ @keyframes appear {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes disappear {
|
||||
from {
|
||||
display: block;
|
||||
@ -51,9 +61,11 @@ @keyframes disappear {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
dialog{
|
||||
|
||||
dialog {
|
||||
animation: disappear 300ms ease-in-out;
|
||||
}
|
||||
dialog[open]{
|
||||
|
||||
dialog[open] {
|
||||
animation: appear 300ms ease-in-out;
|
||||
}
|
||||
|
||||
@ -1,30 +1,31 @@
|
||||
import {showToast} from "@/toast.js";
|
||||
import {closeModal, showModal} from "@/modal.js";
|
||||
import {redirect} from "./interaction.js";
|
||||
import {toggleShimmer} from "./shimmer.js";
|
||||
|
||||
async function showDealModal(dealId) {
|
||||
if (dealId === null || dealId === "") {
|
||||
if (!dealId) {
|
||||
showToast('Something went wrong!');
|
||||
return;
|
||||
}
|
||||
|
||||
// Open the deal modal and show a loading state
|
||||
showModal('deal-modal')
|
||||
const dealModal = document.getElementById('deal-modal');
|
||||
|
||||
showModal('deal-modal');
|
||||
|
||||
toggleShimmer(true, dealModal);
|
||||
|
||||
try {
|
||||
const response = await axios.get('/api/deals/' + dealId);
|
||||
setDealDetails(response.data);
|
||||
|
||||
const dealModal = document.getElementById('deal-modal');
|
||||
toggleShimmer(false, dealModal);
|
||||
|
||||
// Add the id so that action buttons can identify the route
|
||||
dealModal.dataset.dealId = dealId;
|
||||
|
||||
// Increment the view count
|
||||
await axios.post(`/api/view/${dealId}`);
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
closeModal('deal-modal')
|
||||
console.error(e);
|
||||
closeModal('deal-modal');
|
||||
showToast('Something went wrong!');
|
||||
}
|
||||
}
|
||||
@ -46,7 +47,7 @@ function setDealDetails(dealDetails) {
|
||||
dealModal.querySelector('.deal-image').src = image;
|
||||
dealModal.querySelector('.deal-title').innerText = title;
|
||||
dealModal.querySelector('.deal-description').innerText = description;
|
||||
dealModal.querySelector('.deal-category').innerText = category.name;
|
||||
dealModal.querySelector('.deal-category').querySelector('p').innerText = category.name;
|
||||
dealModal.querySelector('.broker-name').innerText = broker.name;
|
||||
dealModal.querySelector('.broker-email').innerText = broker.email;
|
||||
dealModal.querySelector('.broker-phone').innerText = broker.role.phone;
|
||||
|
||||
7
resources/js/shimmer.js
Normal file
7
resources/js/shimmer.js
Normal file
@ -0,0 +1,7 @@
|
||||
export function toggleShimmer(isLoading, parentElement) {
|
||||
const dataElements = parentElement.querySelectorAll('[data-is-loading]');
|
||||
|
||||
dataElements.forEach(el => {
|
||||
el.dataset.isLoading = isLoading ? 'true' : 'false';
|
||||
});
|
||||
}
|
||||
@ -2,9 +2,9 @@
|
||||
<div class="p-4 text-sm bg-gray-100 border-gray-200 border rounded-xl">
|
||||
<p class="font-bold mb-2">Broker Contact</p>
|
||||
<div class="text-accent-600 space-y-1">
|
||||
<p class="broker-name">{{$broker->name ?? ''}}</p>
|
||||
<p class="broker-email">{{$broker->email ?? ''}}</p>
|
||||
<p class="broker-phone">{{$broker->role->phone ?? ''}}</p>
|
||||
<p data-is-loading="true" class="broker-name">{{$broker->name ?? ''}}</p>
|
||||
<p data-is-loading="true" class="broker-email">{{$broker->email ?? ''}}</p>
|
||||
<p data-is-loading="true" class="broker-phone">{{$broker->role->phone ?? ''}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -6,24 +6,24 @@
|
||||
</button>
|
||||
</form>
|
||||
<div class="grid md:grid-cols-12 gap-4 items-stretch">
|
||||
<div class="md:col-span-8 h-0 min-h-full">
|
||||
<div data-is-loading="true" class="md:col-span-8 h-0 min-h-full data-[is-loading=true]:h-60">
|
||||
<div class="rounded-lg bg-gray-200 h-full">
|
||||
<img src="" alt="Image of the deal"
|
||||
<img src="" alt=" "
|
||||
class="deal-image h-full w-full object-cover rounded-lg border-none">
|
||||
</div>
|
||||
</div>
|
||||
<div class="md:col-span-4 flex flex-col gap-y-4">
|
||||
<x-ui.button-sm class="w-fit deal-category" variant="neutral"/>
|
||||
<p class="deal-title font-bold text-lg "></p>
|
||||
<p class="deal-description text-sm text-accent-600 wrap-break-word"></p>
|
||||
<x-ui.button-sm data-is-loading="true" class="w-fit deal-category data-[is-loading=true]:h-6 data-[is-loading=true]:w-15" variant="neutral"/>
|
||||
<p data-is-loading="true" class="deal-title font-bold text-lg data-[is-loading=true]:h-3 "></p>
|
||||
<p data-is-loading="true" class="deal-description text-sm text-accent-600 wrap-break-word"></p>
|
||||
<div class="flex justify-between">
|
||||
<div>
|
||||
<x-dashboard.user.action-toolbar.like-button :is-interactive="false"/>
|
||||
<x-dashboard.user.action-toolbar.favorite-button :is-interactive="false"/>
|
||||
<div >
|
||||
<x-dashboard.user.action-toolbar.like-button data-is-loading="true" :is-interactive="false"/>
|
||||
<x-dashboard.user.action-toolbar.favorite-button data-is-loading="true" :is-interactive="false"/>
|
||||
</div>
|
||||
<x-dashboard.user.deal-stats/>
|
||||
</div>
|
||||
<x-ui.button variant="neutral" class="hidden deal-link space-x-2 items-center justify-center">
|
||||
<x-ui.button variant="neutral" data-is-loading="false" class="hidden deal-link space-x-2 items-center justify-center">
|
||||
<div class="flex space-x-2">
|
||||
<p>View Deal</p>
|
||||
<x-heroicon-o-arrow-top-right-on-square class="w-5 ml-1"/>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
@props(['likeCount' => 0, 'clickCount' => 0])
|
||||
<div class="flex space-x-3">
|
||||
<div class="flex space-x-3" data-is-loading="false">
|
||||
<x-dashboard.user.stat-badge class="likeCount" :count="$likeCount">
|
||||
<x-heroicon-o-heart class="w-4"/>
|
||||
</x-dashboard.user.stat-badge>
|
||||
|
||||
@ -13,6 +13,6 @@
|
||||
</a>
|
||||
@else
|
||||
<button {{$attributes->merge(['class' => "px-2 py-1 text-xs rounded-md font-medium hover:opacity-80 hover:scale-110 active:scale-80 transition-all duration-300 ease-in-out $variantClass"])}}>
|
||||
{{$slot}}
|
||||
<p>{{$slot}}</p>
|
||||
</button>
|
||||
@endif
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
use App\Queries\ExplorePageDealsQuery;
|
||||
|
||||
Route::get('/deals/{deal}', function (Deal $deal) {
|
||||
sleep(2);
|
||||
return new DealResource(
|
||||
(new ExplorePageDealsQuery)
|
||||
->builder()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user