buildNavigationWidget method
Widget
buildNavigationWidget(
{ - required BuildContext context,
- required List<SidebarXItem> items,
- required SidebarXController controller,
- VoidCallback? onToggle,
})
override
Implementation
@override
Widget buildNavigationWidget({
required BuildContext context,
required List<SidebarXItem> items,
required SidebarXController controller,
VoidCallback? onToggle,
}) {
final fontSizeController = GetIt.I<FontSizeController>();
final baseColor = fontSizeController.getEffectiveSidebarColor();
final textColor = fontSizeController.getEffectiveSidebarTextColor();
// Map SidebarXItem to PlutoMenuItem
final menus = List.generate(items.length, (index) {
final item = items[index];
return PlutoMenuItem(
title: item.label ?? '',
icon: item.icon,
onTap: () {
if (item.onTap != null) {
item.onTap!();
} else {
controller.selectIndex(index);
}
},
);
});
return Obx(() {
final activeColor = fontSizeController.getEffectiveAccentColor();
return PlutoMenuBar(
backgroundColor: baseColor,
itemStyle: PlutoMenuItemStyle(
activatedColor: activeColor.withOpacity(0.12),
textStyle: TextStyle(color: textColor, fontSize: 14),
iconColor: textColor.withOpacity(0.85),
iconSize: fontSizeController.sidebarIconSize.value.size,
),
menus: menus,
);
});
}