Text Version of the Lesson
For now, in this course, we've been generating Filament Resources with menu items being auto-generated for us. They have the same icon and a pretty random order. In this lesson, let's learn how to customize it all.
Menu: Left or Top?
So, for now, we have this view in the left menu:

First quick change: did you know we can easily change the menu from the left to the top? It's configurable by adding topNavigation() in the main AdminPanelProvider:
app/Providers/Filament/AdminPanelProvider.php:
public function panel(Panel $panel): Panel{ return $panel ->default() ->id('admin') ->path('admin') ->login() ->registration() ->topNavigation()
With this simple change, the menu looks like this:

Ordering Menu Items
Next, if you don't specify any order for menu items, they are ordered alphabetically.
To change that, add an integer property $navigationSort in each Filament Resource, representing their order position.
For example, I want to sort the menu items in the order they would be used: from the most often (Orders) to the...
When I want to have an app suitable for multiple languages, it's common to use the __ function
__('Hello World!')However since the $navigationString variables are static, I can't assign a value as a result of a function.
Is there any way to create menu groups with 'translatable' group strings?
If you have a static variable - the is most likely a
getXXXXLabelfunction available. For example on resources, to get navigation name:Inside you can return the string that will be used as the label