# Instalar Funcionalidades Extra (Settings, Notas, Feedback, Kanban, Relatórios)

## 1. Ficheiros a copiar para o servidor

```
app/Models/Setting.php                          → app/Models/
app/Models/WorkOrderNote.php                     → app/Models/
app/Models/MaintenanceRequestFeedback.php         → app/Models/
app/Models/WorkOrder.php                          → SUBSTITUI (nova relação notes())
app/Models/MaintenanceRequest.php                 → SUBSTITUI (nova relação feedback())
app/Models/Property.php                           → SUBSTITUI (nova relação invoices())
app/Providers/AppServiceProvider.php              → SUBSTITUI (Gate manage-settings + override de settings)

app/Livewire/Admin/CompanySettings.php            → novo
app/Livewire/Admin/WorkOrderShow.php               → novo
app/Livewire/Admin/MaintenanceRequestKanban.php    → novo
app/Livewire/Admin/Reports.php                     → novo
app/Livewire/Portal/MaintenanceRequestShow.php     → SUBSTITUI (feedback)

resources/views/livewire/admin/company-settings.blade.php        → novo
resources/views/livewire/admin/work-order-show.blade.php          → novo
resources/views/livewire/admin/maintenance-request-kanban.blade.php → novo
resources/views/livewire/admin/reports.blade.php                   → novo
resources/views/livewire/portal/maintenance-request-show.blade.php → SUBSTITUI
resources/views/livewire/admin/work-order-index.blade.php          → SUBSTITUI (link para show)
resources/views/layouts/app.blade.php                               → SUBSTITUI (novos links de menu)

routes/web.php                                     → SUBSTITUI

database/migrations/2026_08_26_000001_create_settings_table.php              → novo
database/migrations/2026_08_26_000002_create_work_order_notes_table.php       → novo
database/migrations/2026_08_26_000003_create_maintenance_request_feedback_table.php → novo
```

## 2. Migrar

```bash
cd ~/public_html/app.amimak.co.mz
php artisan migrate
```

## 3. Limpar caches

```bash
php artisan config:clear
php artisan route:clear
php artisan view:clear
```

## 4. Testar

- `/admin/settings` — só visível/acessível a quem tem a permissão `settings.manage` (o teu Admin de teste já tem, por ter o role Admin com todas as permissões)
- `/admin/maintenance-requests/kanban` — arrasta um cartão entre colunas, confirma que o estado muda de verdade (recarrega a página)
- `/admin/work-orders/{id}` — adiciona uma nota, confirma que aparece na lista
- No portal, fecha um pedido manualmente via tinker (`$request->transitionTo(\App\Enums\MaintenanceRequestStatus::CLOSED)`) e confirma que aparece o formulário de avaliação
- `/admin/reports` — muda as datas e confirma que os números mudam
