feat: initial project setup with Laravel 12 and Filament v4
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use App\Services\SyncService;
|
||||
use Filament\Notifications\Notification;
|
||||
use Livewire\Component;
|
||||
|
||||
class SettingsDropdown extends Component
|
||||
{
|
||||
public bool $syncSuccess = false;
|
||||
public bool $syncFailed = false;
|
||||
public array $reportLines = [];
|
||||
|
||||
public function runSync(): void
|
||||
{
|
||||
$service = SyncService::fromConfig();
|
||||
|
||||
if (! $service->isConfigured()) {
|
||||
$this->syncFailed = true;
|
||||
$this->reportLines = [__('navigation.sync.error_not_configured')];
|
||||
$this->dispatch('sync-finished', success: false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$result = $service->sync();
|
||||
|
||||
$this->reportLines = $result['report'] ?? [];
|
||||
|
||||
if ($result['success']) {
|
||||
$this->syncSuccess = true;
|
||||
$this->dispatch('sync-finished', success: true);
|
||||
} else {
|
||||
$this->syncFailed = true;
|
||||
$this->dispatch('sync-finished', success: false);
|
||||
}
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.settings-dropdown');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user