diff --git a/src/BladeIconsServiceProvider.php b/src/BladeIconsServiceProvider.php index 5277d69..92c4aa6 100644 --- a/src/BladeIconsServiceProvider.php +++ b/src/BladeIconsServiceProvider.php @@ -5,6 +5,7 @@ namespace BladeUI\Icons; use Illuminate\Filesystem\Filesystem; +use Illuminate\Foundation\Application; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; @@ -29,17 +30,19 @@ private function registerConfig(): void private function registerFactory(): void { - $config = $this->app->make('config')->get('blade-icons'); + $this->app->singleton(Factory::class, function (Application $app) { + $config = $app->make('config')->get('blade-icons'); - $factory = new Factory(new Filesystem(), $config['class']); + $factory = new Factory(new Filesystem(), $config['class'] ?? ''); - foreach ($config['sets'] as $set => $options) { - $options['path'] = $this->app->basePath($options['path']); + foreach ($config['sets'] ?? [] as $set => $options) { + $options['path'] = $app->basePath($options['path']); - $factory->add($set, $options); - } + $factory->add($set, $options); + } - $this->app->instance(Factory::class, $factory); + return $factory; + }); } private function bootDirectives(): void