cms-laravel/app/Livewire/DataList.php

42 lines
932 B
PHP

<?php
namespace App\Livewire;
use Livewire\Component;
use Illuminate\Support\Facades\Http;
class DataList extends Component
{
public $data = [];
public $url;
public $avatar = false;
public $viewPath;
public $header;
public $footer;
public function mount($url, $avatar = false, $viewPath, $header = null, $footer = null)
{
$this->url = $url;
$this->avatar = $avatar;
$this->viewPath = $viewPath;
$this->header = $header;
$this->footer = $footer;
$this->fetchData();
}
public function fetchData()
{
try {
$response = Http::get($this->url);
$this->data = $response->json('data') ?? [];
} catch (\Exception $e) {
session()->flash('error', 'Failed to load data: ' . $e->getMessage());
}
}
public function render()
{
return view('livewire.data-list');
}
}