netgescon-master/app/Providers/SidebarComposer.php
Pikappa2 cb49fbfe70 Implementato dark mode completo e salvataggio impostazioni utente
- Aggiunto dark mode completo alla sidebar con classi Tailwind
- Implementato sistema di salvataggio permanente delle impostazioni utente
- Creata tabella user_settings per gestire preferenze personalizzate
- Aggiunto model UserSetting con metodi helper get/set
- Esteso controller impostazioni per supportare salvataggio e temi predefiniti
- Applicato stesso tema anche al pannello amministratore
- Aggiornate route per gestione temi in admin e superadmin
- Integrato sistema impostazioni nel layout principale con variabili CSS
- Aggiornato AppServiceProvider con helper userSetting()
- Dark mode applicato a: sidebar, modali, footer, bottoni, hover states
- Temi predefiniti: Default, Dark, Ocean con preview tempo reale
- Compatibilità completa tra pannello admin e superadmin
2025-07-05 19:22:51 +02:00

43 lines
1.8 KiB
PHP

<?php
namespace App\Providers;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Auth;
use App\Models\Stabile;
use App\Models\Gestione;
class SidebarComposer extends ServiceProvider
{
public function boot()
{
View::composer('components.menu.sidebar', function ($view) {
$user = Auth::user();
$stabili = [];
if ($user) {
// Example: fetch stabili for amministratore or all for super-admin
if ($user->hasRole('super-admin')) {
$stabili = Stabile::orderBy('denominazione')->get();
} elseif ($user->amministratore) {
$stabili = Stabile::where('amministratore_id', $user->amministratore->id_amministratore)->orderBy('denominazione')->get();
}
}
$stabileAttivo = session('stabile_corrente') ?? ($stabili->first() ? $stabili->first()->denominazione : null);
$stabileObj = $stabili->firstWhere('denominazione', $stabileAttivo);
$gestioni = $stabileObj ? Gestione::where('stabile_id', $stabileObj->id)->orderByDesc('anno_gestione')->get() : collect();
$annoAttivo = session('anno_corrente') ?? ($gestioni->first() ? $gestioni->first()->anno_gestione : date('Y'));
$gestioneAttiva = session('gestione_corrente') ?? ($gestioni->first() ? $gestioni->first()->tipo_gestione : 'Ord.');
$view->with([
'stabili' => $stabili,
'stabileAttivo' => $stabileAttivo,
'anni' => $gestioni->pluck('anno_gestione')->unique(),
'annoAttivo' => $annoAttivo,
'gestione' => $gestioneAttiva,
]);
});
}
public function register() {}
}