Deploy 3: Onboarding wizard + empty states + docs operationale

- 3-step onboarding wizard at /app/onboarding (auto-redirected via
  RequireOnboarding middleware on first login per tenant)
- Empty states with icon + heading + description on Client, Vehicle,
  WorkOrder, Lead, Part lists
- Docs: operations/{api,i18n,2fa,monitoring}.md, stack/reverb.md
- Updated 00-index.md and journal.md with status of all 15 items
This commit is contained in:
2026-05-07 20:16:03 +00:00
parent 138671a125
commit 0399262514
9 changed files with 295 additions and 0 deletions
@@ -122,6 +122,9 @@ class ClientResource extends Resource
Actions\EditAction::make(),
Actions\DeleteAction::make(),
])
->emptyStateHeading('Niciun client încă')
->emptyStateDescription('Adaugă primul tău client manual sau importă din CSV. Toate mașinile, fișele și plățile se vor lega automat de el.')
->emptyStateIcon('heroicon-o-users')
->defaultSort('created_at', 'desc');
}
@@ -134,6 +134,9 @@ class LeadResource extends Resource
Actions\EditAction::make(),
Actions\DeleteAction::make(),
])
->emptyStateHeading('Nicio cerere primită')
->emptyStateDescription('Aici apar cererile clienților potențiali. Convertește-le în deal-uri sau direct în programări de la butonul „Convertește".')
->emptyStateIcon('heroicon-o-inbox-arrow-down')
->defaultSort('created_at', 'desc');
}
@@ -131,6 +131,9 @@ class PartResource extends Resource
Actions\EditAction::make(),
Actions\DeleteAction::make(),
])
->emptyStateHeading('Depozit gol')
->emptyStateDescription('Adaugă piese manual, sau folosește Achiziții ca să le adaugi prin recepție de la furnizor (cu prețuri și stoc auto). Procentaj poate seta automat prețul de vânzare.')
->emptyStateIcon('heroicon-o-cube')
->defaultSort('name');
}
@@ -96,6 +96,9 @@ class VehicleResource extends Resource
Actions\EditAction::make(),
Actions\DeleteAction::make(),
])
->emptyStateHeading('Nicio mașină încă')
->emptyStateDescription('Adaugă mașini manual sau importă din CSV. Folosește VIN-căutare pentru decoder rapid și completare automată brand/model/an.')
->emptyStateIcon('heroicon-o-truck')
->defaultSort('created_at', 'desc');
}
@@ -169,6 +169,9 @@ class WorkOrderResource extends Resource
Actions\EditAction::make(),
Actions\DeleteAction::make(),
])
->emptyStateHeading('Nicio fișă de lucru')
->emptyStateDescription('Crează prima fișă pentru o mașină existentă. Adaugă manopere, piese, plăți — totalul se calculează automat.')
->emptyStateIcon('heroicon-o-wrench-screwdriver')
->defaultSort('opened_at', 'desc');
}