Implement dynamic tab content for ListSettings page: Added getTabsContentComponent method to manage tab content dynamically, enhancing the tab functionality and improving user experience in settings navigation.

This commit is contained in:
Ümit Tunç
2025-10-29 17:10:05 -03:00
parent e704146df9
commit 50b998b9d3
@@ -5,9 +5,9 @@ namespace App\Filament\Admin\Resources\Settings\Pages;
use App\Filament\Admin\Resources\Settings\SettingResource; use App\Filament\Admin\Resources\Settings\SettingResource;
use App\Models\Setting; use App\Models\Setting;
use Filament\Actions\CreateAction; use Filament\Actions\CreateAction;
use Filament\Schemas\Components\Component;
use Filament\Schemas\Components\Tabs; use Filament\Schemas\Components\Tabs;
use Filament\Schemas\Components\Tabs\Tab; use Filament\Schemas\Components\Tabs\Tab;
use Filament\Resources\Pages\ListRecords; use Filament\Resources\Pages\ListRecords;
use Illuminate\Contracts\Support\Htmlable; use Illuminate\Contracts\Support\Htmlable;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
@@ -64,6 +64,18 @@ class ListSettings extends ListRecords
return $tabs; return $tabs;
} }
public function getTabsContentComponent(): Component
{
$tabs = $this->getCachedTabs();
return Tabs::make()
->livewireProperty('activeTab')
->contained(false)
->tabs($tabs)
->vertical()
->hidden(empty($tabs));
}
protected function getGroupIcon(?string $group): string protected function getGroupIcon(?string $group): string
{ {
if (!$group) { if (!$group) {