Files
sam-manage/resources/views/components/sidebar/menu-item.blade.php
hskwon ae364a1afe feat: 품목기준 필드 관리 기능 개선
- 소프트 삭제된 필드 목록에 표시 (withTrashed)
- 삭제된 필드 시각적 구분 (빨간 배경, '삭제됨' 배지)
- 필드 복원 기능 추가 (restore API)
- 필드 영구 삭제 기능 추가 (forceDelete API)
- 체크박스 선택 및 일괄 삭제 기능 추가
- 시스템 필드 삭제 제한 해제
- 커스텀 모달 적용 (showConfirm, showDeleteConfirm)
2025-12-16 21:43:05 +09:00

42 lines
1.3 KiB
PHP

@props(['menu', 'depth' => 0])
@php
$sidebarMenuService = app(\App\Services\SidebarMenuService::class);
$isActive = $sidebarMenuService->isMenuActive($menu);
$paddingLeft = $depth > 0 ? ($depth * 0.75 + 0.75) . 'rem' : '0.75rem';
$url = $menu->url;
if ($menu->is_external && $menu->external_url) {
$url = $menu->external_url;
}
// 라우트명이 있으면 라우트 URL 사용
$routeName = $menu->getRouteName();
if ($routeName && !str_contains($routeName, '*') && \Route::has($routeName)) {
$url = route($routeName);
}
$activeClass = $isActive
? 'bg-primary text-white hover:bg-primary'
: 'text-gray-700 hover:bg-gray-100';
$target = $menu->is_external ? '_blank' : '_self';
@endphp
<li>
<a href="{{ $url }}"
class="flex items-center gap-2 px-3 py-2 rounded-lg text-sm {{ $activeClass }}"
style="padding-left: {{ $paddingLeft }}"
title="{{ $menu->name }}"
@if($menu->is_external) target="{{ $target }}" rel="noopener noreferrer" @endif
>
@if($menu->icon)
<x-sidebar.menu-icon :icon="$menu->icon" />
@endif
<span class="font-medium sidebar-text">{{ $menu->name }}</span>
@if($menu->is_external)
<x-sidebar.menu-icon icon="external-link" class="w-3 h-3 opacity-50" />
@endif
</a>
</li>