diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index f85e665b..b51c6926 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -64,14 +64,14 @@ public function boot(): void
$counts = app(ApprovalService::class)->getBadgeCounts(auth()->id());
$menuBadges = [
'byRoute' => [
- 'approvals.pending' => $counts['pending'],
- 'approvals.drafts' => $counts['draft'],
- 'approvals.references' => $counts['reference_unread'],
+ 'approvals.pending' => ['count' => $counts['pending'], 'color' => '#ef4444'],
+ 'approvals.drafts' => ['count' => $counts['draft'], 'color' => '#3b82f6'],
+ 'approvals.references' => ['count' => $counts['reference_unread'], 'color' => '#10b981'],
],
'byUrl' => [
- '/approval-mgmt/pending' => $counts['pending'],
- '/approval-mgmt/drafts' => $counts['draft'],
- '/approval-mgmt/references' => $counts['reference_unread'],
+ '/approval-mgmt/pending' => ['count' => $counts['pending'], 'color' => '#ef4444'],
+ '/approval-mgmt/drafts' => ['count' => $counts['draft'], 'color' => '#3b82f6'],
+ '/approval-mgmt/references' => ['count' => $counts['reference_unread'], 'color' => '#10b981'],
],
];
} catch (\Throwable $e) {
diff --git a/resources/views/components/sidebar/menu-item.blade.php b/resources/views/components/sidebar/menu-item.blade.php
index 474ae49f..7d366d08 100644
--- a/resources/views/components/sidebar/menu-item.blade.php
+++ b/resources/views/components/sidebar/menu-item.blade.php
@@ -24,14 +24,20 @@
// 메뉴 뱃지 확인 (라우트명 또는 URL 기준)
$badgeCount = 0;
+ $badgeColor = '#ef4444';
if (isset($menuBadges)) {
+ $badge = null;
// 라우트명으로 찾기
if ($routeName && isset($menuBadges['byRoute'][$routeName])) {
- $badgeCount = $menuBadges['byRoute'][$routeName];
+ $badge = $menuBadges['byRoute'][$routeName];
}
// URL로 찾기
elseif ($menu->url && isset($menuBadges['byUrl'][$menu->url])) {
- $badgeCount = $menuBadges['byUrl'][$menu->url];
+ $badge = $menuBadges['byUrl'][$menu->url];
+ }
+ if ($badge) {
+ $badgeCount = is_array($badge) ? ($badge['count'] ?? 0) : $badge;
+ $badgeColor = is_array($badge) ? ($badge['color'] ?? '#ef4444') : '#ef4444';
}
}
@endphp
@@ -48,7 +54,8 @@ class="flex items-center gap-2 px-3 py-2 rounded-lg text-sm {{ $activeClass }}"
@endif
@if($badgeCount > 0)
-