card-member table integrated
This commit is contained in:
parent
c9ef8179ff
commit
0f2e429676
|
@ -3,6 +3,8 @@
|
||||||
namespace App\Livewire;
|
namespace App\Livewire;
|
||||||
|
|
||||||
use Livewire\Component;
|
use Livewire\Component;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
use Illuminate\Support\Facades\Session;
|
||||||
use Livewire\Attributes\Layout; // Required for layout declaration
|
use Livewire\Attributes\Layout; // Required for layout declaration
|
||||||
|
|
||||||
#[Layout('layouts.dashboard')] // Attribute syntax for Laravel 11
|
#[Layout('layouts.dashboard')] // Attribute syntax for Laravel 11
|
||||||
|
@ -17,7 +19,38 @@ class CardMember extends Component
|
||||||
|
|
||||||
public function loadCardMembers()
|
public function loadCardMembers()
|
||||||
{
|
{
|
||||||
$this->cardMembers = collect(json_decode(file_get_contents(storage_path('app/c-member.json')), true));
|
try {
|
||||||
|
$token = Session::get('user')['access_token'] ?? null;
|
||||||
|
|
||||||
|
if (!$token) {
|
||||||
|
$this->addError('users', 'No access token found.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$response = Http::withToken($token)
|
||||||
|
->get(config('services.backend_api.url') . '/api/cms/member');
|
||||||
|
|
||||||
|
// dd($response->json());
|
||||||
|
if ($response->successful()) {
|
||||||
|
// Properly use collect to handle the response data
|
||||||
|
$this->cardMembers = collect($response->json()['data'])->map(function ($cardMembers) {
|
||||||
|
return [
|
||||||
|
'lcard_uuid' => $cardMembers['lcard_uuid'],
|
||||||
|
'card_number' => $cardMembers['card_number'],
|
||||||
|
'firstname' => $cardMembers['firstname'],
|
||||||
|
'lastname' => $cardMembers['lastname'],
|
||||||
|
'birthdate' => $cardMembers['birthdate'],
|
||||||
|
'cardtype_id' => $cardMembers['card_type'],
|
||||||
|
'status' => $cardMembers['status'],
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$this->addError('users', 'Failed to load users.');
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$this->addError('users', 'Error: ' . $e->getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function render()
|
public function render()
|
||||||
|
|
|
@ -13,6 +13,7 @@ class Table extends Component
|
||||||
public $selected = [];
|
public $selected = [];
|
||||||
public $addRoute = null;
|
public $addRoute = null;
|
||||||
public $hasAddButton = true;
|
public $hasAddButton = true;
|
||||||
|
public $hasExportButton = true;
|
||||||
public $hasDelete = true;
|
public $hasDelete = true;
|
||||||
public $selectAll = false;
|
public $selectAll = false;
|
||||||
public $hasCheckbox = true;
|
public $hasCheckbox = true;
|
||||||
|
|
|
@ -36,12 +36,15 @@
|
||||||
<a href="{{ $addRoute }}" class="bg-orange-600 text-white px-4 py-2 rounded">
|
<a href="{{ $addRoute }}" class="bg-orange-600 text-white px-4 py-2 rounded">
|
||||||
+ Add
|
+ Add
|
||||||
</a>
|
</a>
|
||||||
@else
|
@elseif ($hasExportButton ?? false)
|
||||||
<!-- Export button -->
|
<!-- Export button -->
|
||||||
<button
|
<button wire:click="export" class="bg-orange-600 text-white px-4 py-2 rounded flex items-center gap-2">
|
||||||
wire:click="export"
|
Export
|
||||||
class="bg-orange-600 text-white px-4 py-2 rounded flex items-center gap-2">
|
</button>
|
||||||
Export CSV
|
@else
|
||||||
|
<!-- Default button or anything else you want here -->
|
||||||
|
<button class="bg-gray-600 text-white px-4 py-2 rounded">
|
||||||
|
Default Action
|
||||||
</button>
|
</button>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
<livewire:components.table
|
<livewire:components.table
|
||||||
:columns="[
|
:columns="[
|
||||||
['label' => 'Card Number', 'field' => 'card_number'],
|
['label' => 'Card Number', 'field' => 'card_number'],
|
||||||
['label' => 'First Name', 'field' => 'first_name'],
|
['label' => 'First Name', 'field' => 'firstname'],
|
||||||
['label' => 'Last Name', 'field' => 'last_name'],
|
['label' => 'Last Name', 'field' => 'lastname'],
|
||||||
['label' => 'Birthday', 'field' => 'birthday'],
|
['label' => 'Birthday', 'field' => 'birthdate'],
|
||||||
['label' => 'Card Type', 'field' => 'card_type'],
|
['label' => 'Card Type', 'field' => 'cardtype_id'],
|
||||||
['label' => 'Status', 'field' => 'status'],
|
['label' => 'Status', 'field' => 'status'],
|
||||||
]"
|
]"
|
||||||
:rows="$cardMembers"
|
:rows="$cardMembers"
|
||||||
|
@ -15,5 +15,8 @@
|
||||||
:hasActions="true"
|
:hasActions="true"
|
||||||
:isViewPage="true"
|
:isViewPage="true"
|
||||||
:hasDelete="false"
|
:hasDelete="false"
|
||||||
|
:hasAddButton="false"
|
||||||
|
:hasExportButton="false"
|
||||||
|
:rowKey="'lcard_uuid'"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
|
@ -15,5 +15,7 @@
|
||||||
:hasActions="true"
|
:hasActions="true"
|
||||||
:isViewPage="true"
|
:isViewPage="true"
|
||||||
:hasDelete="false"
|
:hasDelete="false"
|
||||||
|
:hasAddButton="false"
|
||||||
|
:hasExportButton="false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue