pickAppUri method

String? pickAppUri(
  1. List<Resource> resources
)

FR-APP-002 selection priority. Public so the server-open path can resolve the route target when promoting a bare page to a single-route application (see wrapAsApplication).

Implementation

String? pickAppUri(List<Resource> resources) {
  if (resources.isEmpty) return null;

  for (final r in resources) {
    if (r.uri == 'ui://app') return r.uri;
    if (r.uri.endsWith('/app')) return r.uri;
    final name = r.name.toLowerCase();
    if (name.contains('app') || name.contains('main')) return r.uri;
  }
  for (final r in resources) {
    if (r.uri.startsWith('ui://')) return r.uri;
  }
  return resources.first.uri;
}