From ca942c51406795449fdf35be79460e2954f3cda2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Cmit=20Tun=C3=A7?= Date: Sat, 10 Jan 2026 22:59:58 +0300 Subject: [PATCH] Refactor Site Translations List Page and Enhance DataGrid Functionality: Updated the ListSiteTranslations page to improve session handling for view toggling between traditional table and DataGrid formats. Enhanced the getHeaderActions method for better readability and session management. Additionally, modified the render method to ensure the latest session value is utilized for rendering the appropriate view. Updated the DataGrid view to dynamically adjust the theme based on the current body class, improving user experience across different themes. --- .../Pages/ListSiteTranslations.php | 51 ++++++++++--------- .../site-translations/datagrid.blade.php | 26 +++++++++- .../templates/neler-yapariz/hero.blade.php | 28 ++++++---- 3 files changed, 68 insertions(+), 37 deletions(-) diff --git a/app/Filament/Admin/Resources/SiteTranslations/Pages/ListSiteTranslations.php b/app/Filament/Admin/Resources/SiteTranslations/Pages/ListSiteTranslations.php index d0b19d4..5b18d95 100644 --- a/app/Filament/Admin/Resources/SiteTranslations/Pages/ListSiteTranslations.php +++ b/app/Filament/Admin/Resources/SiteTranslations/Pages/ListSiteTranslations.php @@ -24,34 +24,37 @@ class ListSiteTranslations extends ListRecords 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); + 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'); + return view('filament.admin.resources.site-translations.datagrid') + ->layout($this->getLayout()); } - - // Eski Filament table görünümü - return parent::getContent(); + + return parent::render(); } } diff --git a/resources/views/filament/admin/resources/site-translations/datagrid.blade.php b/resources/views/filament/admin/resources/site-translations/datagrid.blade.php index 3219823..29dbfb8 100644 --- a/resources/views/filament/admin/resources/site-translations/datagrid.blade.php +++ b/resources/views/filament/admin/resources/site-translations/datagrid.blade.php @@ -24,7 +24,7 @@ height: calc(100vh - 250px); min-height: 600px; } - + /* .dx-datagrid-headers { background-color: var(--fi-primary-50, #f0f9ff); } @@ -37,9 +37,31 @@ background-color: var(--fi-success-600, #16a34a); border-color: var(--fi-success-600, #16a34a); } + */ - + +