@php
$tiles = [
'manage_projects' => [
'permission' => 'manage_projects',
'icon' => 'bx bx-briefcase-alt-2 text-success',
'icon-bg' => 'bg-label-success',
'label' => get_label('total_projects', 'Total projects'),
'count' => is_countable($projects) && count($projects) > 0 ? count($projects) : 0,
'url' => getDefaultViewRoute('projects'),
'link_color' => 'text-success',
'gradient_class' => 'gradient-card-success'
],
'manage_tasks' => [
'permission' => 'manage_tasks',
'icon' => 'bx bx-task text-primary',
'icon-bg' => 'bg-label-primary',
'label' => get_label('total_tasks', 'Total tasks'),
'count' => $tasks,
'url' => getDefaultViewRoute('tasks'),
'link_color' => 'text-primary',
'gradient_class' => 'gradient-card-primary'
],
'manage_users' => [
'permission' => 'manage_users',
'icon' => 'bx bxs-user-detail text-warning',
'icon-bg' => 'bg-label-warning',
'label' => get_label('total_users', 'Total users'),
'count' => is_countable($users) && count($users) > 0 ? count($users) : 0,
'url' => route('users.index'),
'link_color' => 'text-warning',
'gradient_class' => 'gradient-card-warning'
],
'manage_clients' => [
'permission' => 'manage_clients',
'icon' => 'bx bxs-user-detail text-info',
'icon-bg' => 'bg-label-info',
'label' => get_label('total_clients', 'Total clients'),
'count' => is_countable($clients) && count($clients) > 0 ? count($clients) : 0,
'url' => route('clients.index'),
'link_color' => 'text-info',
'gradient_class' => 'gradient-card-info'
],
'manage_meetings' => [
'permission' => 'manage_meetings',
'icon' => 'bx bx-shape-polygon text-warning',
'icon-bg' => 'bg-label-warning',
'label' => get_label('total_meetings', 'Total meetings'),
'count' => is_countable($meetings) && count($meetings) > 0 ? count($meetings) : 0,
'url' => route('meetings.index'),
'link_color' => 'text-warning',
'gradient_class' => 'gradient-card-warning'
],
'total_todos' => [
'permission' => null, // No specific permission required
'icon' => 'bx bx-list-check text-info',
'icon-bg' => 'bg-label-info',
'label' => get_label('total_todos', 'Total todos'),
'count' => is_countable($total_todos) && count($total_todos) > 0 ? count($total_todos) : 0,
'url' => route('todos.index'),
'link_color' => 'text-info',
'gradient_class' => 'gradient-card-info'
],
];
// Filter tiles based on user permissions
$filteredTiles = array_filter($tiles, function ($tile) use ($auth_user) {
return !$tile['permission'] || $auth_user->can($tile['permission']);
});
// Get the first 4 tiles
$filteredTiles = array_slice($filteredTiles, 0, 4);
@endphp
@foreach ($filteredTiles as $tile)
@endforeach
{{-- Project Statistics Chart --}}
@if ($auth_user->can('manage_projects'))
@foreach ($statusCounts as $statusId => $count)