activeSafaehSettingsSectionId function

String? activeSafaehSettingsSectionId({
  1. required Iterable<SettingSection> sections,
  2. required Map<String, GlobalKey<State<StatefulWidget>>> sectionKeys,
  3. required BuildContext scrollContext,
  4. double activationOffset = 96,
})

Resolves the active Edadat section using Safaeh's scroll spy.

Implementation

String? activeSafaehSettingsSectionId({
  required Iterable<SettingSection> sections,
  required Map<String, GlobalKey> sectionKeys,
  required BuildContext scrollContext,
  double activationOffset = 96,
}) {
  final targets = <(String, GlobalKey)>[];
  for (final section in sections) {
    final key = sectionKeys[section.key];
    if (key != null) targets.add((section.key, key));
  }
  return safaeh.safaehActivePageSectionId(
    sections: targets,
    scrollContext: scrollContext,
    activationOffset: activationOffset,
  );
}