refactor(livewire): organizar componentes y vistas por dominio en subnamespaces

- app/Livewire: 34 componentes agrupados en Issues/, Projects/, Phases/,
  Companies/, Users/, Admin/, Inspections/, Layers/, Media/, Common/
  (Client/, Reports/, Forms/, Actions/ ya estaban). Namespaces actualizados.
- resources/views/livewire: vistas sueltas movidas a subcarpetas espejo
  (companies/, users/, phases/, roles/, inspections/, media/, common/);
  render() actualizado.
- Referencias actualizadas sin romper nada: rutas (FQN, nombres de ruta intactos),
  tags <livewire:...>/@livewire() a alias con punto, y use de los tests.
- No tocado: Volt de Breeze (auth/profile/navigation), y el portal cliente
  (user-nav/client-projects) que ya tenía referencias inconsistentes.

Verificado: 69 rutas OK, vistas compilan, suite 69 passing (solo 2 pre-existentes
sqlite). autoload regenerado con --ignore-platform-reqs (PHP 8.2).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-19 16:54:09 +02:00
parent 9c164bb7ef
commit 7d390872c3
68 changed files with 191 additions and 107 deletions
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Admin;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Admin;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -102,7 +102,7 @@ class RolePermissionManager extends Component
public function render()
{
return view('livewire.role-permission-manager', [
return view('livewire.roles.role-permission-manager', [
'roles' => Role::with('permissions')->orderBy('name')->get(),
'permissions' => Permission::orderBy('name')->get(),
]);
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Admin;
use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Admin;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Common;
use Livewire\Component;
use Illuminate\Support\Facades\App;
@@ -38,6 +38,6 @@ class LanguageSwitcher extends Component
public function render()
{
return view('livewire.language-switcher');
return view('livewire.common.language-switcher');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Common;
use Livewire\Component;
use Illuminate\Support\Facades\Auth;
@@ -37,6 +37,6 @@ class NotificationBell extends Component
public function render()
{
return view('livewire.notification-bell');
return view('livewire.common.notification-bell');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Companies;
use Livewire\Component;
use Livewire\WithFileUploads;
@@ -101,6 +101,6 @@ class CompanyForm extends Component
public function render()
{
return view('livewire.company-form');
return view('livewire.companies.company-form');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Companies;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -62,6 +62,6 @@ class CompanyManagement extends Component
public function render()
{
return view('livewire.company-management');
return view('livewire.companies.company-management');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Companies;
use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Companies;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -152,6 +152,6 @@ class CompanyView extends Component
public function render()
{
return view('livewire.company-view');
return view('livewire.companies.company-view');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Inspections;
use Livewire\Component;
use Livewire\WithFileUploads;
@@ -430,6 +430,6 @@ class TemplateManager extends Component
public function render()
{
return view('livewire.template-manager');
return view('livewire.inspections.template-manager');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Issues;
use App\Models\IssueChecklistTemplate;
use App\Models\Project;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Issues;
use App\Models\Issue;
use App\Models\IssueChecklistTemplate;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Issues;
use App\Models\Issue;
use App\Models\Project;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Issues;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Issues;
use App\Models\Issue;
use Illuminate\Database\Eloquent\Builder;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Layers;
use Livewire\Component;
use Livewire\WithFileUploads;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Media;
use Livewire\Component;
use Livewire\WithFileUploads;
@@ -160,7 +160,7 @@ class MediaManager extends Component
public function render()
{
return view('livewire.media-manager', [
return view('livewire.media.media-manager', [
'entityName' => class_basename($this->entity) . ': ' . ($this->entity->name ?? $this->entity->id),
'images' => $this->mediaItems->filter(fn($m) => $m->is_image),
'documents' => $this->mediaItems->filter(fn($m) => !$m->is_image),
@@ -1,5 +1,5 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Phases;
use Livewire\Component;
use Livewire\Attributes\Layout;
use App\Models\Project;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Phases;
use App\Models\Phase;
use App\Models\Project;
@@ -137,6 +137,6 @@ class PhaseList extends Component
public function render()
{
return view('livewire.phase-list');
return view('livewire.phases.phase-list');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Phases;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -37,6 +37,6 @@ class PhaseProgress extends Component
public function render()
{
return view('livewire.phase-progress');
return view('livewire.phases.phase-progress');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Phases;
use App\Models\Phase;
use App\Models\Project;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use App\Models\Company;
use App\Models\Project;
@@ -56,7 +56,7 @@ class ProjectCompanies extends Component
public function render()
{
return view('livewire.project-companies', [
return view('livewire.projects.project-companies', [
'roles' => ProjectCompaniesTable::ROLES,
]);
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use App\Models\Company;
use Illuminate\Database\Eloquent\Builder;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use Livewire\Component;
use Livewire\WithPagination;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use Livewire\Component;
use Illuminate\Support\Facades\Auth;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use App\Models\Project;
use App\Models\User;
@@ -56,7 +56,7 @@ class ProjectUsers extends Component
public function render()
{
return view('livewire.project-users', [
return view('livewire.projects.project-users', [
'roles' => ProjectUsersTable::ROLES,
]);
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Projects;
use App\Models\User;
use Illuminate\Database\Eloquent\Builder;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Users;
use Livewire\Component;
use App\Models\User;
@@ -41,6 +41,6 @@ class AdminUsers extends Component
public function render()
{
return view('livewire.admin-users');
return view('livewire.users.admin-users');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Users;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -173,6 +173,6 @@ class UserForm extends Component
public function render()
{
return view('livewire.user-form');
return view('livewire.users.user-form');
}
}
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Users;
use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;
@@ -1,6 +1,6 @@
<?php
namespace App\Livewire;
namespace App\Livewire\Users;
use Livewire\Component;
use Livewire\Attributes\Layout;
@@ -149,7 +149,7 @@ class UserView extends Component
return $i === false ? 999 : $i;
});
return view('livewire.user-view', [
return view('livewire.users.user-view', [
'grouped' => $grouped,
'directPerms' => $this->user->getDirectPermissions()->pluck('name')->toArray(),
'rolePerms' => $this->user->getPermissionsViaRoles()->pluck('name')->toArray(),