resetPage(); } public function updatedDays(): void { $this->resetPage(); } /** * @return Builder */ private function query(): Builder { return ActivityLog::query() ->with(['subject' => function (Relation $morphTo): void { if ($morphTo instanceof MorphTo) { $morphTo->morphWith([Article::class => ['feed']]); } }]) ->since(now()->subDays($this->days)) ->when( $this->type !== '', fn (Builder $q) => $q->where('type', $this->type), ) ->latestFirst(); } public function render(ActivitySummary $summary): View { return view('livewire.activity', [ 'entries' => $this->query()->paginate(25), 'typeOptions' => ActivityTypeEnum::options(), 'summaryDay' => $summary->since(now()->subDay()), 'summaryWeek' => $summary->since(now()->subWeek()), ])->layout('layouts.app'); } }