Moved resources to Admin folder and auto discovery is broken

I have two panels Admin and Account. I tried moving the Admin resources into an /Admin folder, I updated all the namespaces and discover* paths in the panel provider. The dashboard loads but no resources are auto discovered. Also, if I run artisan make:filament-resource SomeResource and select the admin panel the generated file’s namespace end in a slash namespace App\Filament\Admin\Resources\;
public function panel(Panel $panel): Panel
{
return $panel
->default()
->id('admin')
->path('admin')
->login()
->colors([
'primary' => Color::Amber,
])
->discoverResources(in: app_path('Filament/Admin/Resources'), for: 'App\\Filament\\Admin\\Resources\\')
->discoverPages(in: app_path('Filament/Admin/Pages'), for: 'App\\Filament\\Admin\\Pages')
->pages([
Pages\Dashboard::class,
])
->discoverWidgets(in: app_path('Filament/Admin/Widgets'), for: 'App\\Filament\\Admin\\Widgets')
->widgets([
Widgets\AccountWidget::class,
Widgets\FilamentInfoWidget::class,
])
->middleware([
// default middleware
])
->authMiddleware([
Authenticate::class,
]);
}
public function panel(Panel $panel): Panel
{
return $panel
->default()
->id('admin')
->path('admin')
->login()
->colors([
'primary' => Color::Amber,
])
->discoverResources(in: app_path('Filament/Admin/Resources'), for: 'App\\Filament\\Admin\\Resources\\')
->discoverPages(in: app_path('Filament/Admin/Pages'), for: 'App\\Filament\\Admin\\Pages')
->pages([
Pages\Dashboard::class,
])
->discoverWidgets(in: app_path('Filament/Admin/Widgets'), for: 'App\\Filament\\Admin\\Widgets')
->widgets([
Widgets\AccountWidget::class,
Widgets\FilamentInfoWidget::class,
])
->middleware([
// default middleware
])
->authMiddleware([
Authenticate::class,
]);
}
And the resource
namespace App\Filament\Admin\Resources;

...

class CharityResource extends Resource
{

...

public static function getPages(): array
{
return [
'index' => \App\Filament\Admin\Resources\CharityResource\Pages\ListCharities::route('/'),
'create' => \App\Filament\Admin\Resources\CharityResource\Pages\CreateCharity::route('/create'),
'edit' => \App\Filament\Admin\Resources\CharityResource\Pages\EditCharity::route('/{record}/edit'),
];
}
}
namespace App\Filament\Admin\Resources;

...

class CharityResource extends Resource
{

...

public static function getPages(): array
{
return [
'index' => \App\Filament\Admin\Resources\CharityResource\Pages\ListCharities::route('/'),
'create' => \App\Filament\Admin\Resources\CharityResource\Pages\CreateCharity::route('/create'),
'edit' => \App\Filament\Admin\Resources\CharityResource\Pages\EditCharity::route('/{record}/edit'),
];
}
}
No description
3 Replies
Dennis Koch
Dennis Koch2d ago
if I run artisan make:filament-resource SomeResource and select the admin panel the generated file’s namespace end in a slash namespace App\Filament\Admin\Resources;
At least that issue seems to be related to the trailing slash in for: 'App\\Filament\\Admin\\Resources\\') in discoverResources:
Ric Le Poidevin
Ric Le PoidevinOP2d ago
If I remove the slash the discovery still fails, I just included that the slash is added if it helped identify the issue
Dennis Koch
Dennis Koch2d ago
Can you try running php artisan filament:optimize-clear, maybe something is cached.

Did you find this page helpful?