Files
Nexora/resources/views/components/folder-item.blade.php

37 lines
1.7 KiB
PHP
Raw Normal View History

2025-05-23 00:26:53 +02:00
@props(['folder', 'currentFolder', 'expandedFolders', 'level' => 0, 'itemsCount' => 0])
<li class="pl-{{ $level * 4 }}">
<div class="flex items-center justify-between p-1 hover:bg-gray-50
{{ $folder->id === optional($currentFolder)->id ? 'bg-blue-50' : '' }}">
2025-05-23 00:26:53 +02:00
<div class="flex items-center relative flex-1" wire:click="selectFolder({{ $folder->id }})">
<button wire:click.prevent="toggleFolder({{ $folder->id }})" class="mr-2">
@if(in_array($folder->id, $expandedFolders))
2025-04-30 20:56:28 +02:00
<x-icons icon="chevron-down" class="w-4 h-4" />
@else
2025-04-30 20:56:28 +02:00
<x-icons icon="chevron-right" class="w-4 h-4" />
@endif
</button>
@if(in_array($folder->id, $expandedFolders))
<flux:icon.folder-open class="size-5 mr-2"/>
@else
<flux:icon.folder class="size-5 mr-2"/>
@endif
2025-05-23 00:26:53 +02:00
<span class="flex-1 whitespace-nowrap">{{ $folder->name }}</span>
@if($itemsCount > 0)
<flux:badge class="text-xs font-medium rounded-sm px-1 py-0.5 text-gray-700 dark:text-gray-200 bg-gray-400/15 dark:bg-white/10" size="sm" inset="top bottom">{{ $itemsCount }}</flux:badge>
@endif
2025-04-23 00:14:33 +06:00
</div>
</div>
@if(in_array($folder->id, $expandedFolders))
<ul class="ml-4">
2025-04-23 00:14:33 +06:00
@foreach($folder->children as $child)
<x-folder-item
:folder="$child"
:currentFolder="$currentFolder"
:expandedFolders="$expandedFolders"
:level="$level + 1"
wire:key="folder-{{ $child->id }}"
/>
2025-04-23 00:14:33 +06:00
@endforeach
</ul>
@endif
</li>