<?php

namespace Koneko\VuexyWebsiteBlog\Providers;

use Illuminate\Support\ServiceProvider;
use Livewire\Livewire;
use OwenIt\Auditing\AuditableObserver;

class VuexyWebsiteBlogServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        // Register the module's routes
        $this->loadRoutesFrom(__DIR__.'/../routes/admin.php');


        // Cargar vistas del paquete
        $this->loadViewsFrom(__DIR__.'/../resources/views', 'vuexy-webiste-blog');


        // Register the migrations
        $this->loadMigrationsFrom(__DIR__ . '/../database/migrations');


        // Registrar Livewire Components
        $components = [
            //'cache-functions' => CacheFunctions::class,
        ];

        foreach ($components as $alias => $component) {
            Livewire::component($alias, $component);
        }


        // Registrar auditoría en usuarios
        //User::observe(AuditableObserver::class);
    }
}