@extends('layouts.adminlte') @section('title', 'Module Manager') @section('page_title', 'Module Manager') @push('styles') @endpush @section('content') @php $activeModule = (string) ($selectedModuleName ?? ''); $activeTree = $selectedTree ?? null; $activePath = (string) ($activeTree['path'] ?? ''); $breadcrumbParts = array_values(array_filter(explode('/', str_replace('\\', '/', $activePath)))); $renderTreeNodes = function ($nodes, $moduleName, $depth = 0) use (&$renderTreeNodes) { $prettyName = function (string $name): string { $map = [ 'database' => 'Database', 'exports' => 'Exports', 'http' => 'Http', 'imports' => 'Imports', 'models' => 'Models', 'resources' => 'Resources', 'routes' => 'Routes', 'controllers' => 'Controllers', 'views' => 'Views', 'migrations' => 'Migrations', ]; $key = strtolower($name); return $map[$key] ?? $name; }; $html = ''; foreach ((array) $nodes as $node) { $nodeType = (string) ($node['type'] ?? 'file'); $nodeName = (string) ($node['name'] ?? ''); $displayName = $nodeType === 'dir' ? $prettyName($nodeName) : $nodeName; $nodePath = (string) ($node['path'] ?? $nodeName); $indent = $depth * 18; $icon = $nodeType === 'dir' ? 'fa-folder' : 'fa-file-lines'; $typeLabel = $nodeType === 'dir' ? 'Folder' : 'File'; $safeName = e($displayName); if ($nodeType === 'dir') { $nameHtml = '' . $safeName . ''; } else { $nameHtml = '' . $safeName . ''; } $html .= '