From 24bb2f8e567267ed9b6400d9684234bdbec591ac Mon Sep 17 00:00:00 2001 From: A1Gard Date: Mon, 2 Jun 2025 09:32:13 +0330 Subject: [PATCH] added live card --- app/Http/Controllers/CardController.php | 4 ++ app/Http/Controllers/ClientController.php | 4 ++ resources/js/client-custom/lives.js | 17 +++++++ resources/sass/client-custom/_lives.scss | 48 +++++++++++++++++++ .../views/components/card-items.blade.php | 22 +++++++++ .../views/website/inc/website-foot.blade.php | 12 ++++- routes/web.php | 1 + 7 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 resources/js/client-custom/lives.js create mode 100644 resources/sass/client-custom/_lives.scss create mode 100644 resources/views/components/card-items.blade.php diff --git a/app/Http/Controllers/CardController.php b/app/Http/Controllers/CardController.php index 345ce92..1c9f6ad 100644 --- a/app/Http/Controllers/CardController.php +++ b/app/Http/Controllers/CardController.php @@ -26,6 +26,10 @@ class CardController extends Controller }); } + + public function items(){ + return view('components.card-items'); + } public function productCardToggle(Product $product) { diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index 0f408cb..e7f929f 100644 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -904,4 +904,8 @@ class ClientController extends Controller $title = __('Under Construction') . ' - ' . config('app.name'); return view('client.under-construction', compact('title')); } + + public function cardItems(){ + + } } diff --git a/resources/js/client-custom/lives.js b/resources/js/client-custom/lives.js new file mode 100644 index 0000000..c323ce1 --- /dev/null +++ b/resources/js/client-custom/lives.js @@ -0,0 +1,17 @@ +window.addEventListener('load', function () { + document.querySelectorAll('.live-card-show')?.forEach(function (el) { + el.addEventListener('click', async function (e) { + e.preventDefault(); + const url = this.getAttribute('data-url'); + let response = await axios.get(url); + document.querySelector('#live-card-list').innerHTML = response.data; + document.querySelector('#live-card-modal').style.display = 'block'; + }); + }); + + document.querySelector('#live-card-modal').addEventListener('click',function (e) { + if (e.target == this){ + document.querySelector('#live-card-modal').style.display = 'none'; + } + }); +}) diff --git a/resources/sass/client-custom/_lives.scss b/resources/sass/client-custom/_lives.scss new file mode 100644 index 0000000..fbcc29d --- /dev/null +++ b/resources/sass/client-custom/_lives.scss @@ -0,0 +1,48 @@ +#live-card-modal{ + display: none; + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + background: #ffffff11; + backdrop-filter: blur(7px); + z-index: 9999; + + #live-card-container{ + background: var(--xshop-background); + width: 300px; + padding: 1rem; + height: 100vh; + overflow-y: auto; + max-width: 85%; + + #live-card-list{ + margin: 0; + list-style: none; + padding: 1rem 0; + + li{ + border-radius: var(--xshop-border-radius); + border: 1px solid var(--xshop-text); + margin-bottom: .5rem; + .product-card-item{ + padding: 5px; + display: grid; + grid-template-columns: 4fr 8fr; + grid-gap: 5px; + img{ + width: 100%; + height: 75px; + object-fit: cover; + + } + h3{ + font-size: 18px; + margin: .5rem 0 ; + } + } + } + } + } +} diff --git a/resources/views/components/card-items.blade.php b/resources/views/components/card-items.blade.php new file mode 100644 index 0000000..1d6bbf9 --- /dev/null +++ b/resources/views/components/card-items.blade.php @@ -0,0 +1,22 @@ +@foreach(\App\Models\Product::whereIn('id', json_decode(\Cookie::get('card'), true)) + ->where('status', 1) + ->get() as $product) +
  • +
    + {{$product->name}} +
    +

    + {{$product->name}} +

    + + {{$product->getPrice()}} + + + + +
    +
    + +
  • +@endforeach diff --git a/resources/views/website/inc/website-foot.blade.php b/resources/views/website/inc/website-foot.blade.php index 302aec6..609a61e 100644 --- a/resources/views/website/inc/website-foot.blade.php +++ b/resources/views/website/inc/website-foot.blade.php @@ -12,6 +12,16 @@ @endif - +
    +
    + + + {{__("Go to card")}} + +
    + @include('components.card-items') +
    +
    +
    diff --git a/routes/web.php b/routes/web.php index 91da1bd..8b58728 100644 --- a/routes/web.php +++ b/routes/web.php @@ -420,6 +420,7 @@ Route::middleware([\App\Http\Middleware\VisitorCounter::class]) Route::get('/videos', [ClientController::class, 'clips'])->name('clips'); Route::post('/card/check', [\App\Http\Controllers\CardController::class, 'check'])->name('card.check'); Route::get('/card/discount/{code}', [\App\Http\Controllers\CardController::class, 'discount'])->name('card.discount'); + Route::get('/card/items', [\App\Http\Controllers\CardController::class, 'items'])->name('card.items'); Route::get('/card', [\App\Http\Controllers\CardController::class, 'index'])->name('card'); Route::get('/cardClear', [\App\Http\Controllers\CardController::class, 'clearing'])->name('card.clear'); Route::get('/profile', [\App\Http\Controllers\CustomerController::class, 'profile'])->name('profile');