buildSidebar method

Widget buildSidebar(
  1. BuildContext context,
  2. int index
)

Implementation

Widget buildSidebar(BuildContext context, int index) => NavigationSidebar(
      labelType: NavigationLabelType.expanded,
      constraints: const BoxConstraints(minWidth: 100, maxWidth: 150),
      index: index,
      children: [
        if (Navigator.canPop(context)) ...[
          NavigationButton(
            index: -1,
            child: Icon(Icons.caret_left_bold),
            onChanged: (e) => Arcane.pop(context),
            label: Text("Back"),
          ),
          NavigationGap(16)
        ],
        ...tabs.mapIndexed((e, i) => NavigationButton(
            onChanged: (e) {
              if (index != i) {
                onIndexChanged?.call(i);
              }
            },
            index: i,
            label: Text(e.label ?? "Item ${index + 1}"),
            child: Icon(index == i ? e.selectedIcon ?? e.icon : e.icon)))
      ],
    ).padTop(siderailTopPadding);