65 lines
2.0 KiB
PHP
65 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
|
||
{
|
||
$useDataGrid = session('site_translations_use_datagrid', false);
|
||
|
||
return [
|
||
Action::make('toggleView')
|
||
->label($useDataGrid ? 'Tablo Görünümü' : 'DataGrid Görünümü')
|
||
->icon($useDataGrid ? 'heroicon-o-table-cells' : 'heroicon-o-squares-2x2')
|
||
->color('gray')
|
||
->action(function () {
|
||
$currentValue = session('site_translations_use_datagrid', false);
|
||
$newValue = !$currentValue;
|
||
session(['site_translations_use_datagrid' => $newValue]);
|
||
session()->save(); // Session'ı hemen kaydet
|
||
|
||
// Sayfayı yenile
|
||
$this->redirect($this->getResource()::getUrl('index'));
|
||
}),
|
||
CreateAction::make()
|
||
->visible(!$useDataGrid), // Sadece eski görünümde göster
|
||
];
|
||
}
|
||
|
||
public function render(): View
|
||
{
|
||
$useDataGrid = session('site_translations_use_datagrid', false);
|
||
|
||
if ($useDataGrid) {
|
||
return view('filament.admin.resources.site-translations.datagrid')
|
||
->layout($this->getLayout());
|
||
}
|
||
|
||
return parent::render();
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|