depor_os/lib/models/nav_item.dart
Daniel Esteban 34e7cbc382 first commit
2026-03-18 12:47:06 +01:00

23 lines
596 B
Dart

import 'package:flutter/material.dart';
class NavItem {
final String label;
final IconData icon;
final String? route;
final List<NavItem> children;
const NavItem({
required this.label,
required this.icon,
this.route,
this.children = const [],
});
bool get hasChildren => children.isNotEmpty;
/// Devuelve true si la ruta actual coincide con este item o algún hijo.
bool isActiveOrAncestor(String currentRoute) {
if (route != null && currentRoute.startsWith(route!)) return true;
return children.any((c) => c.isActiveOrAncestor(currentRoute));
}
}