parfum/app/Livewire/Studio/Loyalty/Voucher/Index.php

59 lines
1.3 KiB
PHP

<?php
namespace App\Livewire\Studio\Loyalty\Voucher;
use App\Models\Voucher;
use App\Traits\WithConfirmation;
use App\Traits\WithToast;
use Flux\Flux;
use Livewire\Attributes\Title;
use Livewire\Component;
#[Title('Voucher')]
class Index extends Component
{
use WithConfirmation, WithToast;
public array $stats = [];
public function mount()
{
$this->stats = [
[
'title' => 'Total Voucher',
'value' => Voucher::count(),
],
[
'title' => 'Voucher Aktif',
'value' => Voucher::query()->active()->count(),
],
[
'title' => 'Voucher Tidak Aktif',
'value' => Voucher::query()->inactive()->count(),
],
[
'title' => 'Voucher Akan Datang',
'value' => Voucher::query()->upcoming()->count(),
],
];
}
public function delete(Voucher $voucher)
{
$voucher->delete();
$this->dispatch('refreshDatatable');
$this->toast('Voucher berhasil dihapus.');
Flux::modals()->close();
}
public function render()
{
return view('livewire.studio.loyalty.voucher.index', [
'pageTitle' => 'Voucher',
]);
}
}