build method

  1. @override
FutureOr<bool> build(
  1. String arg
)

Implementation

@override
FutureOr<bool> build(String arg) async {
  final spaceId = arg;
  final relatedSpaces =
      await ref.watch(spaceRelationsOverviewProvider(spaceId).future);
  if (relatedSpaces.knownSubspaces.isNotEmpty) {
    return true; // we have subspaces and know it
  }
  if (relatedSpaces.hasMore) {
    // there might be some, but we need to confirm remotely. We do that without blocking
    listener = ref.listen(remoteSubspaceRelationsProvider(spaceId),
        (previous, next) {
      state = next.whenData((data) => data.isNotEmpty);
    });
  }
  return false; // until confirmed, we assume no
}