renderSubSpaces function

dynamic renderSubSpaces(
  1. dynamic context,
  2. dynamic ref,
  3. String spaceIdOrAlias,
  4. dynamic spaces, {
  5. int crossAxisCount = 1,
  6. dynamic titleBuilder()?,
})

Implementation

Widget? renderSubSpaces(
  BuildContext context,
  WidgetRef ref,
  String spaceIdOrAlias,
  SpaceRelationsOverview spaces, {
  int crossAxisCount = 1,
  Widget? Function()? titleBuilder,
}) {
  final canLinkSpace = ref
          .watch(roomMembershipProvider(spaceIdOrAlias))
          .valueOrNull
          ?.canString('CanLinkSpaces') ??
      false;

  final knownSubspaces = _renderKnownSubspaces(
    context,
    canLinkSpace,
    spaceIdOrAlias,
    spaces,
    // crossAxisCount: crossAxisCount,
  );

  final moreSubspaces = spaces.hasMore
      ? renderMoreSubspaces(
          context,
          ref,
          spaceIdOrAlias,
        )
      : null;

  final items = [
    if (knownSubspaces != null) ...knownSubspaces,
    if (moreSubspaces != null) moreSubspaces,
  ];

  if (items.isEmpty) return null;
  if (titleBuilder != null) {
    final title = titleBuilder();
    if (title != null) {
      items.insert(0, title);
    }
  }
  return SingleChildScrollView(
    child: Column(children: items),
  );
}