Issues (7)

src/PaystackSubscriptionsTileComponent.php (3 issues)

Labels
Severity
1
<?php
2
3
namespace Digikraaft\PaystackSubscriptionsTile;
4
5
use Illuminate\Pagination\LengthAwarePaginator;
6
use Illuminate\Support\Collection;
7
use Livewire\Component;
8
use Livewire\WithPagination;
9
10
class PaystackSubscriptionsTileComponent extends Component
11
{
12
    use WithPagination;
0 ignored issues
show
The trait Livewire\WithPagination requires the property $paginationTheme which is not provided by Digikraaft\PaystackSubsc...scriptionsTileComponent.
Loading history...
13
14
    /** @var string */
15
    public string $position;
16
17
    /** @var string|null */
18
    public ?string $title;
19
20
    public $perPage;
21
22
    /** @var int|null */
23
    public ?int $refreshInSeconds;
24
25
    public function mount(string $position, $perPage = 5, ?string $title = null, int $refreshInSeconds = null)
26
    {
27
        $this->position = $position;
28
        $this->perPage = $perPage;
29
        $this->title = $title;
30
        $this->refreshInSeconds = $refreshInSeconds;
31
    }
32
33
    public function render()
34
    {
35
        $subscriptions = collect(PaystackSubscriptionsStore::make()->getData());
36
        $paginator = $this->getPaginator($subscriptions);
37
38
        return view('dashboard-paystack-subscriptions-tile::tile', [
0 ignored issues
show
The function view was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

38
        return /** @scrutinizer ignore-call */ view('dashboard-paystack-subscriptions-tile::tile', [
Loading history...
39
            'subscriptions' => $subscriptions->skip(($paginator->firstItem() ?? 1) - 1)->take($paginator->perPage()),
40
            'paginator' => $paginator,
41
            'refreshIntervalInSeconds' => $this->refreshInSeconds ?? config('dashboard.tiles.paystack.subscriptions.refresh_interval_in_seconds') ?? 1800,
0 ignored issues
show
The function config was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

41
            'refreshIntervalInSeconds' => $this->refreshInSeconds ?? /** @scrutinizer ignore-call */ config('dashboard.tiles.paystack.subscriptions.refresh_interval_in_seconds') ?? 1800,
Loading history...
42
        ]);
43
    }
44
45
    public function getPaginator(Collection $subscriptions): LengthAwarePaginator
46
    {
47
        return new LengthAwarePaginator($subscriptions, $subscriptions->count(), $this->perPage, $this->page);
48
    }
49
50
    public function paginationView()
51
    {
52
        return 'dashboard-paystack-subscriptions-tile::pagination';
53
    }
54
}
55