1
This commit is contained in:
@@ -258,21 +258,7 @@ const AppLayout: React.FC = () => {
|
||||
|
||||
useEffect(() => {
|
||||
getMenuConfigs().then(data => {
|
||||
let items = data.filter((m: any) => m.is_active !== false && m.isActive !== false);
|
||||
// Filter by user's allowed menus if set
|
||||
if (user?.allowedMenus && user.allowedMenus.length > 0) {
|
||||
const allowed = new Set(user.allowedMenus);
|
||||
const groupIds = new Set<string>();
|
||||
items.forEach((m: any) => {
|
||||
const pid = m.parent_id ?? m.parentId;
|
||||
if (pid && allowed.has(m.path)) groupIds.add(pid);
|
||||
});
|
||||
items = items.filter((m: any) => {
|
||||
const mt = m.menu_type ?? m.menuType;
|
||||
if (mt === 'group' && groupIds.has(m.id)) return true;
|
||||
return allowed.has(m.path);
|
||||
});
|
||||
}
|
||||
const items = data.filter((m: any) => m.is_active !== false && m.isActive !== false);
|
||||
setMenuItems(items);
|
||||
}).catch(() => { });
|
||||
getRechargePackages().then(data => {
|
||||
@@ -486,13 +472,13 @@ const AppLayout: React.FC = () => {
|
||||
|
||||
// Render groups with children
|
||||
groups.sort((a, b) => {
|
||||
const orderA = a.sortOrder !== undefined ? a.sortOrder : Infinity;
|
||||
const orderB = b.sortOrder !== undefined ? b.sortOrder : Infinity;
|
||||
const orderA = typeof a.sortOrder === 'number' ? a.sortOrder : Infinity;
|
||||
const orderB = typeof b.sortOrder === 'number' ? b.sortOrder : Infinity;
|
||||
return orderA - orderB;
|
||||
}).forEach(g => {
|
||||
const children = (childMap[g.id] || []).sort((a, b) => {
|
||||
const orderA = a.sortOrder !== undefined ? a.sortOrder : Infinity;
|
||||
const orderB = b.sortOrder !== undefined ? b.sortOrder : Infinity;
|
||||
const orderA = typeof a.sortOrder === 'number' ? a.sortOrder : Infinity;
|
||||
const orderB = typeof b.sortOrder === 'number' ? b.sortOrder : Infinity;
|
||||
return orderA - orderB;
|
||||
});
|
||||
items.push(
|
||||
@@ -510,8 +496,8 @@ const AppLayout: React.FC = () => {
|
||||
|
||||
// Render top-level pages
|
||||
topLevel.sort((a, b) => {
|
||||
const orderA = a.sortOrder !== undefined ? a.sortOrder : Infinity;
|
||||
const orderB = b.sortOrder !== undefined ? b.sortOrder : Infinity;
|
||||
const orderA = typeof a.sortOrder === 'number' ? a.sortOrder : Infinity;
|
||||
const orderB = typeof b.sortOrder === 'number' ? b.sortOrder : Infinity;
|
||||
return orderA - orderB;
|
||||
}).forEach(m => {
|
||||
items.push(renderMenuItem(m));
|
||||
|
||||
Reference in New Issue
Block a user