# π§ INTERFACCIA UNICA - TROUBLESHOOTING NETGESCON
> **Manual operativo** per risoluzione problemi interfaccia, layout e dashboard
> **π Master:** [`../../00-INDICE-MASTER-NETGESCON.md`](../../00-INDICE-MASTER-NETGESCON.md)
> **π
Aggiornato:** 15/07/2025
---
## π¨ **PROBLEMI RISOLTI - QUICK REFERENCE**
### 1οΈβ£ **Dashboard si sposta dopo refresh** β
RISOLTO
**Problema:** Layout che si sposta in basso dopo aggiornamento pagina
**Causa:** Loading screen invasivo in `universal.blade.php`
**Fix:** Commentata riga `@include('components.layout.loading-screen')`
**File:** `resources/views/components/layout/universal.blade.php`
### 2οΈβ£ **View [dashboard.guest] not found** β
RISOLTO
**Problema:** Errore view mancante per dashboard guest
**Fix:** Creata `resources/views/dashboard/guest.blade.php`
**Content:** Layout base con @extends('layouts.app')
### 3οΈβ£ **Form stabili non si visualizza** β
RISOLTO
**Problema:** Maschera inserimento stabili non visibile, interfaccia rotta
**Causa:** Form mista Bootstrap/Tailwind, layout tab non funzionante
**Fix:** Rifatta completamente form con layout tab Bootstrap puro
**File:** `resources/views/admin/stabili/_form.blade.php`
### 4οΈβ£ **Ruolo 'condomino' mancante** β
RISOLTO
**Problema:** Errore ruolo condomino non trovato
**Fix:** Seeder ruoli aggiornato e eseguito
**Command:** `php artisan db:seed --class=RoleSeeder`
### 5οΈβ£ **Loading screen invasivo** β
RISOLTO
**Problema:** Schermata loading copre tutta l'interfaccia
**Fix:** Sostituito con progress bar footer non invasiva
**File:** `resources/views/components/menu/sections/footer.blade.php`
---
## π’ **FORM STABILI - DETTAGLIO ARCHITETTURA**
### π **Struttura Tab Implementate**
| Tab | Contenuto | Status |
|-----|-----------|--------|
| π **Dati Generali** | Denominazione, codice stabile, CF, P.IVA, note | β
Completo |
| π **Indirizzo** | Via, cittΓ , CAP, provincia | β
Completo |
| π’ **Palazzine** | Gestione multi-palazzine tabella Excel-like | β
Completo |
| ποΈ **Dati Catastali** | Foglio, mappale, categoria, piani/interni evidenziati | β
Completo |
| π¦ **Dati Bancari** | IBAN principale/secondario, banche, filiali | β
Completo |
| π€ **Amministratore** | Nome, email, date nomina/scadenza | β
Completo |
| πͺ **Locali Servizio** | Cantina, portiere, contatori, caldaia, biciclette | β
Completo |
### ποΈ **Tab Palazzine - Gestione Multi-Palazzine**
**FunzionalitΓ :**
- β
Tabella dinamica stile Excel
- β
Aggiungi/Rimuovi righe con bottoni
- β
Campi: Palazzina, Indirizzo, Scala, Interni, Piani
- β
Dati esempio precaricati (Via Germanico, Via Catone, Via Gracchi)
**Dati Esempio:**
```
PALAZZINA | INDIRIZZO | SCALA | INTERNI | PIANI
1 | Via Germanico 85 | A | 8 | 4
1 | Via Germanico 85 | B | 6 | 4
2 | Via Catone 34 | A | 12 | 4
2 | Via Catone 34 | B | 12 | 4
2 | Via Catone 34 | C | 12 | 4
3 | Via Gracchi 32 | A | 10 | 4
3 | Via Gracchi 32 | B | 10 | 4
```
### ποΈ **Tab Dati Catastali - Evidenziazione**
**Caratteristiche:**
- β
Alert warning per evidenziare importanza
- β
Card dedicata per piani/interni con badge
- β
Layout in evidenza per dati ufficiali
**Piani/Interni Evidenziati:**
```
π’ PIANI E INTERNI
Piano 1: [INTERNI 12] Piano 2: [INTERNI 34]
Piano 3: [INTERNI 56] Piano 4: [INTERNI 78]
```
### πͺ **Tab Locali di Servizio**
**Tipi Locali Supportati:**
- β
Cantina
- β
Appartamento Portiere
- β
Locale Contatori
- β
Locale Caldaia
- β
Locale Biciclette
- β
Altro (personalizzabile)
**Campi per Locale:**
- **Tipo:** Dropdown con categorie predefinite
- **Descrizione:** Testo libero (es. "Cantina 1 e 2")
- **Ubicazione:** Piano/posizione (es. "Piano Interrato")
### πΎ **Database - Campi JSON**
**Tabella `stabili` - Nuovi Campi:**
```sql
palazzine_data JSON -- Array palazzine
locali_servizio JSON -- Array locali
iban_principale VARCHAR -- IBAN primario
banca_principale VARCHAR -- Nome banca
amministratore_nome VARCHAR -- Nome amministratore
foglio VARCHAR -- Catastale
mappale VARCHAR -- Catastale
categoria VARCHAR -- Catastale
rendita_catastale DECIMAL -- Catastale
```
---
## π§ **TROUBLESHOOTING SPECIFICO**
### β **Form stabili non funziona**
**Sintomi:**
- Tab non responsive
- Campi non visibili
- JavaScript errors
- Layout rotto
**Diagnosi:**
```bash
# Controlla il file form
cat resources/views/admin/stabili/_form.blade.php | head -20
# Verifica Bootstrap loaded
curl http://localhost:8000 | grep bootstrap
# Controlla errori JavaScript
# (F12 -> Console nel browser)
```
**Fix:**
```bash
# Se la form Γ¨ rotta, ripristina da backup
cp resources/views/admin/stabili/_form.blade.php.backup resources/views/admin/stabili/_form.blade.php
# Oppure ricrea la form
php artisan make:view admin.stabili._form
```
### β **Palazzine non salvano**
**Sintomi:**
- Dati palazzine non persistono
- Errore validazione array
- JSON malformato
**Diagnosi:**
```bash
# Controlla migration
php artisan migrate:status | grep banking
# Verifica colonna JSON
php artisan tinker
> Schema::hasColumn('stabili', 'palazzine_data')
```
**Fix:**
```bash
# Riesegui migrazione se necessario
php artisan migrate:fresh --seed
# Controlla model cast
grep -n "palazzine_data" app/Models/Stabile.php
```
### β **JavaScript tab non funziona**
**Sintomi:**
- Tab non clickable
- Contenuto non si switcha
- Console errors
**Diagnosi:**
```javascript
// Nel browser F12 -> Console
document.querySelectorAll('[data-bs-toggle="tab"]')
typeof bootstrap
```
**Fix:**
```html
```
---
## π **CHECKLIST VALIDAZIONE FORM STABILI**
### β
**Pre-Test**
- [ ] Server Laravel running su http://localhost:8000
- [ ] Login admin funzionante (admin@example.com / password)
- [ ] Menu Stabili accessibile
- [ ] Nessun errore 500 in laravel.log
### β
**Test Interfaccia**
- [ ] Tab visibili e clickable
- [ ] Ogni tab mostra contenuto corretto
- [ ] Font compatto e leggibile
- [ ] Nessun overflow o scrollbar indesiderati
### β
**Test Palazzine**
- [ ] Tabella visibile con dati esempio
- [ ] Bottone "Aggiungi Palazzina" funziona
- [ ] Bottone "Rimuovi" (trash) funziona
- [ ] Impossibile rimuovere ultima riga
- [ ] Validazione campi numerici (interni/piani)
### β
**Test Locali**
- [ ] Dropdown tipo locale funziona
- [ ] Bottone "Aggiungi Locale" funziona
- [ ] Campi descrizione/ubicazione editabili
- [ ] Rimozione locali funziona
### β
**Test Salvataggio**
- [ ] Form submit senza errori
- [ ] Dati persistono nel database
- [ ] JSON palazzine_data ben formato
- [ ] JSON locali_servizio ben formato
- [ ] Redirect corretto dopo salvataggio
### β
**Test Dati Catastali**
- [ ] Alert warning visibile
- [ ] Card piani/interni in evidenza
- [ ] Badge colorate per interni
- [ ] Campi catastali editabili
---
## π **RIFERIMENTI E LINK**
### π **File Critici**
- **Form:** `resources/views/admin/stabili/_form.blade.php`
- **Controller:** `app/Http/Controllers/Admin/StabileController.php`
- **Model:** `app/Models/Stabile.php`
- **Migration:** `database/migrations/2025_07_15_063452_add_banking_and_palazzine_fields_to_stabili_table.php`
### π§ **Comandi Utili**
```bash
# Restart server
php artisan serve --host=0.0.0.0 --port=8000
# Check migrations
php artisan migrate:status
# Clear cache
php artisan optimize:clear
# Test database
php artisan tinker
```
### π **Link Documentazione**
- **Master Index:** [`../../00-INDICE-MASTER-NETGESCON.md`](../../00-INDICE-MASTER-NETGESCON.md)
- **Quick Reference:** [`../QUICK-REFERENCE-CARD.md`](../QUICK-REFERENCE-CARD.md)
- **Log Sviluppo:** [`../LOG-SVILUPPO.md`](../LOG-SVILUPPO.md)
---
> **π‘ TIP:** Questo manual viene aggiornato ad ogni fix. Documenta sempre nuovi problemi!
> **π Mantieni aggiornato** con ogni modifica alla form stabili.
---
**π§ Interfaccia Unica Troubleshooting** - NetGescon System
**π§ Support:** admin@netgescon.it | **π URL:** http://localhost:8000