get('user_name') ?? ''));
$userEmail = trim((string) (session()->get('user_email') ?? ''));
$roleStr = strtolower((string) (session()->get('role') ?? 'guest'));
$allRoles = array_map(fn($r)=> strtolower(trim((string)$r)), (array) (session()->get('roles') ?? []));
$otherRoles = array_values(array_filter($allRoles, fn($r) => $r !== '' && $r !== $roleStr));
// Initials for avatar
$initials = 'U';
if ($userName !== '') {
$parts = preg_split('/\s+/', $userName);
$first = $parts[0] ?? '';
$last = count($parts) > 1 ? end($parts) : '';
$initials = strtoupper(substr($first, 0, 1) . ($last !== '' ? substr($last, 0, 1) : ''));
} elseif ($userEmail !== '') {
$initials = strtoupper(substr($userEmail, 0, 1));
}
// Style config and current selections
$styleCfg = config('Style');
$sess = session();
$currentAccent = $sess->get('style_color') ?? ($styleCfg->defaultStyle ?? 'blue');
$currentMenu = $sess->get('menu_color') ?? ($styleCfg->defaultMenu ?? 'white');
if ($currentMenu === 'custom') {
$menuLP = [
'bg' => (string)($sess->get('menu_custom_bg') ?? '#0f172a'),
'text' => (string)($sess->get('menu_custom_text') ?? '#ffffff'),
'mode' => (string)($sess->get('menu_custom_mode') ?? 'dark'),
];
} else {
$menuLP = $styleCfg->menuPalettes[$currentMenu] ?? ($styleCfg->menuPalettes[$styleCfg->defaultMenu] ?? [
'bg' => '#ffffff', 'text' => '#334155', 'mode' => 'light']);
}
?>