<?php

namespace App\Providers;

use App\Models\Post;
use App\Models\Category;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        View::composer('*', function ($view) {

            $blogCategories = collect();
            $allCategories = Category::all();

            foreach($allCategories as $c) {
                if(Post::where([
                    "category_id" => $c->id,
                    "is_confirmed" => true,
                    "is_active" => true
                    ])->count() > 0) {
                    $blogCategories->push($c);
                }
            }

            $latestPostsFooter = Post::orderBy("created_at", "desc")->take(10)->get();

            $view->with("blogCategories", $blogCategories);
            $view->with("latestPostsFooter", $latestPostsFooter);
        });
    }
}
