Skip to content

Commit b4c2e89

Browse files
committed
Improve menu item tree layout
1 parent 9138d36 commit b4c2e89

File tree

2 files changed

+23
-19
lines changed

2 files changed

+23
-19
lines changed

src/Models/MenuItem.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,23 @@ public static function getTreeLabelAttribute(): string
114114
return 'label';
115115
}
116116

117+
public function getTreeCaption(): string
118+
{
119+
if ($this->linkable_type && $this->linkable) {
120+
return flexiblePagesTrans('menu_items.tree.linked_to').' '.class_basename($this->linkable_type);
121+
}
122+
123+
if ($this->url) {
124+
return flexiblePagesTrans('menu_items.tree.external_url').': '.$this->url;
125+
}
126+
127+
if ($this->route) {
128+
return flexiblePagesTrans('menu_items.tree.route').': '.$this->route;
129+
}
130+
131+
return flexiblePagesTrans('menu_items.tree.no_link');
132+
}
133+
117134
public function getScopeAttributes(): array
118135
{
119136
return ['menu_id'];

src/Resources/MenuResource/Pages/ManageMenuItems.php

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@
33
namespace Statikbe\FilamentFlexibleContentBlockPages\Resources\MenuResource\Pages;
44

55
use Filament\Actions\LocaleSwitcher;
6-
use Filament\Infolists\Components\TextEntry;
6+
use Filament\Infolists\Components\IconEntry;
77
use Filament\Panel;
88
use Filament\Resources\Concerns\Translatable;
99
use Filament\Resources\Pages\PageRegistration;
1010
use Illuminate\Routing\Route;
1111
use Illuminate\Support\Facades\Route as RouteFacade;
12-
use Illuminate\Support\Str;
1312
use Kalnoy\Nestedset\QueryBuilder;
1413
use Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages;
1514
use Statikbe\FilamentFlexibleContentBlockPages\Filament\Form\Forms\MenuItemForm;
@@ -87,23 +86,11 @@ public static function getEditForm(): array
8786
public static function getInfolistColumns(): array
8887
{
8988
return [
90-
TextEntry::make('label')
91-
->label(flexiblePagesTrans('menu_items.form.label_lbl')),
92-
TextEntry::make('link_type')
93-
->label(flexiblePagesTrans('menu_items.form.link_type_lbl'))
94-
->formatStateUsing(function (string $state): string {
95-
return match ($state) {
96-
'url' => flexiblePagesTrans('menu_items.form.types.url'),
97-
'route' => flexiblePagesTrans('menu_items.form.types.route'),
98-
default => flexiblePagesTrans('menu_items.form.types.model', ['model' => Str::title($state)])
99-
};
100-
}),
101-
TextEntry::make('is_visible')
102-
->label(flexiblePagesTrans('menu_items.form.is_visible_lbl'))
103-
->formatStateUsing(fn (bool $state): string => $state ? flexiblePagesTrans('menu_items.status.visible') : flexiblePagesTrans('menu_items.status.hidden')
104-
)
105-
->badge()
106-
->color(fn (bool $state): string => $state ? 'success' : 'gray'),
89+
IconEntry::make('is_visible')
90+
->icon(fn (bool $state): string => $state ? '' : 'heroicon-o-eye-slash')
91+
->color(fn (bool $state): string => $state ? 'gray' : 'warning')
92+
->tooltip(fn (bool $state): ?string => $state ? null : flexiblePagesTrans('menu_items.status.hidden'))
93+
->size('sm'),
10794
];
10895
}
10996

0 commit comments

Comments
 (0)