@php $icons = [ 'grid' => '', 'cart' => '', 'users' => '', 'box' => '', 'bag' => '', 'truck' => '', 'book' => '', 'bank' => '', 'wallet' => '', 'wrench' => '', 'id' => '', 'clock' => '', 'flag' => '', 'building' => '', 'chart' => '', 'gear' => '', ]; $nav = [ ['route' => 'dashboard', 'label' => 'Tableau de bord', 'icon' => 'grid', 'match' => 'dashboard', 'module' => null], ['route' => 'sales.index', 'label' => 'Ventes', 'icon' => 'cart', 'match' => 'sales.*', 'module' => 'sales'], ['route' => 'clients.index', 'label' => 'Clients', 'icon' => 'users', 'match' => 'clients.*', 'module' => 'clients'], ['route' => 'products.index', 'label' => 'Stocks & Logistique', 'icon' => 'box', 'match' => 'products.*|categories.*|stock-movements.*|stock-transfers.*|inventories.*', 'module' => 'products'], ['route' => 'purchases.index', 'label' => 'Achats', 'icon' => 'bag', 'match' => 'purchases.*', 'module' => 'purchases'], ['route' => 'suppliers.index', 'label' => 'Fournisseurs', 'icon' => 'truck', 'match' => 'suppliers.*', 'module' => 'suppliers'], ['route' => 'journal-entries.index', 'label' => 'Comptabilité', 'icon' => 'book', 'match' => 'journal-entries.*|account-plans.*', 'module' => 'journal-entries'], ['route' => 'activity-logs.index', 'label' => 'Journal des modifications', 'icon' => 'clock', 'match' => 'activity-logs.*', 'module' => 'activity-logs'], ['route' => 'cash-registers.index', 'label' => 'Caisses & Banques', 'icon' => 'bank', 'match' => 'cash-registers.*|bank-accounts.*', 'module' => 'cash-registers'], ['route' => 'expenses.index', 'label' => 'Dépenses', 'icon' => 'wallet', 'match' => 'expenses.*', 'badge' => $pendingExpenses ?? 0, 'module' => 'expenses'], ['route' => 'sav.index', 'label' => 'Service Après-Vente', 'icon' => 'wrench', 'match' => 'sav.*|relances.*', 'dot' => true, 'module' => 'sav'], ['route' => 'employees.index', 'label' => 'Ressources humaines', 'icon' => 'id', 'match' => 'employees.*|leaves.*', 'module' => 'employees'], ['route' => 'fiscal.index', 'label' => 'Fiscalité', 'icon' => 'flag', 'match' => 'fiscal.*', 'module' => 'fiscal'], ['route' => 'assets.index', 'label' => 'Immobilisations', 'icon' => 'building', 'match' => 'assets.*', 'module' => 'assets'], ['route' => 'reports.index', 'label' => 'Rapports', 'icon' => 'chart', 'match' => 'reports.*', 'module' => 'reports'], ['route' => 'settings.index', 'label' => 'Paramètres', 'icon' => 'gear', 'match' => 'settings.*|users.*|countries.*|cities.*|boutiques.*', 'module' => 'settings'], ]; $initials = strtoupper(substr(Auth::user()->name, 0, 1).substr(strrchr(Auth::user()->name, ' ') ?: '', 1, 1)); if (strlen(trim($initials)) < 2) $initials = strtoupper(substr(Auth::user()->name, 0, 2)); @endphp
@php $routeName = request()->route()?->getName() ?? ''; $routeParts = explode('.', $routeName); $routeModule = $routeParts[0] ?? ''; $routeAction = $routeParts[1] ?? 'index'; $listParents = [ 'categories' => 'settings.index', 'stock-movements' => 'products.index', 'stock-transfers' => 'products.index', 'inventories' => 'products.index', 'account-plans' => 'journal-entries.index', 'bank-accounts' => 'cash-registers.index', 'relances' => 'sav.index', 'leaves' => 'employees.index', 'users' => 'settings.index', 'countries' => 'settings.index', 'cities' => 'settings.index', 'boutiques' => 'settings.index', 'activity-logs' => 'journal-entries.index', ]; $backUrl = null; if ($routeName !== '' && $routeName !== 'dashboard') { $routeParams = request()->route()->parameters(); $routeModel = $routeParams ? reset($routeParams) : null; if ($routeAction === 'edit' && $routeModel && \Illuminate\Support\Facades\Route::has($routeModule.'.show')) { $backUrl = route($routeModule.'.show', $routeModel); } elseif ($routeAction !== 'index' && str_contains($routeName, '.') && \Illuminate\Support\Facades\Route::has($routeModule.'.index')) { $backUrl = route($routeModule.'.index'); } else { $backUrl = route($listParents[$routeModule] ?? 'dashboard'); } } @endphp @if($backUrl) Retour @endif

@yield('page_title', 'Tableau de bord')

@yield('page_sub', 'TEKPOINTE SARL')

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($errors->any())
    @foreach($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif @yield('content')