File: /home/u756937133/domains/swingersnest.com/public_html/app/Providers/AppServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
// Share route prefix with all admin views for role-based routing
View::composer('layouts.admin', function ($view) {
$isAdmin = Auth::check() && (Auth::user()->is_admin ?? false);
$routePrefix = $isAdmin ? 'admin' : 'editor';
$view->with('routePrefix', $routePrefix);
});
// Also share with all admin.* views
View::composer('admin.*', function ($view) {
$isAdmin = Auth::check() && (Auth::user()->is_admin ?? false);
$routePrefix = $isAdmin ? 'admin' : 'editor';
$view->with('routePrefix', $routePrefix);
});
// Share feeds layout sidebar data (visits count, pending tasks) with layouts.feeds and pages.feeds.*
View::composer(['layouts.feeds', 'pages.feeds.*'], function ($view) {
$visitsCount = 0;
$pendingTasksCount = 0;
if (Auth::check()) {
$visitsCount = \App\Models\UserVisit::where('visited_user_id', Auth::id())
->where('visitor_id', '!=', Auth::id())
->count();
}
$view->with(compact('visitsCount', 'pendingTasksCount'));
});
// Custom route model binding for subscription-plans
Route::bind('subscription-plan', function ($value) {
return \App\Models\SubscriptionPlan::findOrFail($value);
});
}
}