feat: enhance CreditsPlus and NavbarManager extensions with improved role checks, route handling, and migration logic for better functionality and compatibility across databases

This commit is contained in:
2025-12-03 15:47:36 -05:00
parent 6d4de10a83
commit 1fd95e4edf
5 changed files with 180 additions and 20 deletions

View File

@@ -123,9 +123,9 @@ class NavbarManager extends Extension
case 'always_hidden':
return false;
case 'clients_only':
return auth()->check() && auth()->user()->role_id === null;
return auth()->check() && auth()->user()->role === null;
case 'admin_only':
return auth()->check() && auth()->user()->role_id !== null;
return auth()->check() && auth()->user()->role !== null;
case 'guests_only':
return !auth()->check();
default:
@@ -159,9 +159,11 @@ class NavbarManager extends Extension
$formatted['route'] = $link->route_name;
$formatted['spa'] = true; // Enable SPA for route links
if ($link->route_params) {
$params = is_string($link->route_params)
? json_decode($link->route_params, true)
: $link->route_params;
// Get raw attribute to avoid accessor transformation
$rawParams = $link->getAttributes()['route_params'] ?? null;
$params = is_string($rawParams)
? json_decode($rawParams, true)
: $rawParams;
if ($params && is_array($params)) {
$formatted['params'] = $params;
}