62 lines
2.0 KiB
PHP
62 lines
2.0 KiB
PHP
<?php
|
||
|
||
namespace App\Filament\Admin\Resources\SiteTranslations\Pages;
|
||
|
||
use App\Filament\Admin\Resources\SiteTranslations\SiteTranslationResource;
|
||
use Filament\Actions\CreateAction;
|
||
use Filament\Resources\Pages\ListRecords;
|
||
use Filament\Actions\Action;
|
||
use Illuminate\Contracts\View\View;
|
||
|
||
class ListSiteTranslations extends ListRecords
|
||
{
|
||
protected static string $resource = SiteTranslationResource::class;
|
||
|
||
public bool $useDataGrid = false;
|
||
|
||
public function mount(): void
|
||
{
|
||
parent::mount();
|
||
|
||
// Session'dan görünüm tercihini al, yoksa varsayılan olarak false (eski görünüm)
|
||
$this->useDataGrid = session('site_translations_use_datagrid', false);
|
||
}
|
||
|
||
protected function getHeaderActions(): array
|
||
{
|
||
return [
|
||
Action::make('toggleView')
|
||
->label(fn() => $this->useDataGrid ? 'Tablo Görünümü' : 'DataGrid Görünümü')
|
||
->icon(fn() => $this->useDataGrid ? 'heroicon-o-table-cells' : 'heroicon-o-squares-2x2')
|
||
->color('gray')
|
||
->action(function () {
|
||
$this->useDataGrid = !$this->useDataGrid;
|
||
session(['site_translations_use_datagrid' => $this->useDataGrid]);
|
||
|
||
// Sayfayı yenile ki getContent() yeniden çağrılsın
|
||
return redirect()->to($this->getResource()::getUrl('index'));
|
||
}),
|
||
CreateAction::make()
|
||
->visible(fn() => !$this->useDataGrid), // Sadece eski görünümde göster
|
||
];
|
||
}
|
||
|
||
public function getContent(): View
|
||
{
|
||
// Session'dan direkt oku ki her render'da güncel değeri alsın
|
||
$useDataGrid = session('site_translations_use_datagrid', false);
|
||
|
||
if ($useDataGrid) {
|
||
return view('filament.admin.resources.site-translations.datagrid');
|
||
}
|
||
|
||
// Eski Filament table görünümü
|
||
return parent::getContent();
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|