feat: Add return type hints to Livewire component methods.

This commit is contained in:
Yoga Pangestu 2025-12-19 21:33:37 +07:00
parent 5cd4a98b09
commit cb9e61ee7f
3 changed files with 11 additions and 8 deletions

View File

@ -4,6 +4,7 @@
use App\Models\Membership as MembershipModel; use App\Models\Membership as MembershipModel;
use App\Models\Tier; use App\Models\Tier;
use Illuminate\Contracts\View\View;
use Livewire\Attributes\Layout; use Livewire\Attributes\Layout;
use Livewire\Attributes\Title; use Livewire\Attributes\Title;
use Livewire\Component; use Livewire\Component;
@ -24,7 +25,7 @@ class Membership extends Component
public string $progress = '0'; public string $progress = '0';
public function mount() public function mount(): void
{ {
$this->membership = MembershipModel::with(['tier'])->where('user_id', auth()->id())->first(); $this->membership = MembershipModel::with(['tier'])->where('user_id', auth()->id())->first();
@ -72,7 +73,7 @@ public function mount()
]; ];
} }
public function render() public function render(): View
{ {
return view('livewire.member.memberships', [ return view('livewire.member.memberships', [
'pageTitle' => 'Membership', 'pageTitle' => 'Membership',

View File

@ -6,6 +6,7 @@
use App\Models\Membership; use App\Models\Membership;
use App\Models\Tier; use App\Models\Tier;
use App\Traits\Components\WithToast; use App\Traits\Components\WithToast;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Livewire\Attributes\Layout; use Livewire\Attributes\Layout;
use Livewire\Attributes\Title; use Livewire\Attributes\Title;
@ -23,7 +24,7 @@ class Overview extends Component
public bool $isVerified = false; public bool $isVerified = false;
public function mount() public function mount(): void
{ {
$this->hasMemberData = auth()->user()->customer()->exists(); $this->hasMemberData = auth()->user()->customer()->exists();
@ -32,14 +33,14 @@ public function mount()
$this->form->user_id = request()->routeIs('member.overview') ? auth()->id() : null; $this->form->user_id = request()->routeIs('member.overview') ? auth()->id() : null;
} }
public function checkEmailVerification() public function checkEmailVerification(): void
{ {
auth()->user()->refresh(); auth()->user()->refresh();
$this->isVerified = auth()->user()->hasVerifiedEmail(); $this->isVerified = auth()->user()->hasVerifiedEmail();
} }
public function save() public function save(): void
{ {
DB::transaction(function () { DB::transaction(function () {
$this->form->store(); $this->form->store();
@ -57,7 +58,7 @@ public function save()
$this->toast('Selamat, Anda telah menjadi member sekarang.'); $this->toast('Selamat, Anda telah menjadi member sekarang.');
} }
public function render() public function render(): View
{ {
return view('livewire.member.overview'); return view('livewire.member.overview');
} }

View File

@ -3,6 +3,7 @@
namespace App\Livewire\Member; namespace App\Livewire\Member;
use App\Enums\VoucherType; use App\Enums\VoucherType;
use Illuminate\Contracts\View\View;
use Livewire\Attributes\Layout; use Livewire\Attributes\Layout;
use Livewire\Attributes\Title; use Livewire\Attributes\Title;
use Livewire\Component; use Livewire\Component;
@ -13,7 +14,7 @@ class Voucher extends Component
{ {
public array $vouchers = []; public array $vouchers = [];
public function mount() public function mount(): void
{ {
$this->vouchers = auth()->user()->vouchers()->get()->map(fn ($voucher) => [ $this->vouchers = auth()->user()->vouchers()->get()->map(fn ($voucher) => [
'id' => $voucher->id, 'id' => $voucher->id,
@ -27,7 +28,7 @@ public function mount()
])->toArray(); ])->toArray();
} }
public function render() public function render(): View
{ {
return view('livewire.member.voucher', [ return view('livewire.member.voucher', [
'pageTitle' => 'Voucher', 'pageTitle' => 'Voucher',