import 'package:manager_app/Components/audio_player.dart'; import 'package:manager_app/app_context.dart'; import 'package:manager_app/constants.dart'; import 'package:manager_api_new/api.dart'; import 'package:flutter/material.dart'; getElementForResource(dynamic resourceDTO, AppContext appContext) { switch(resourceDTO.type) { case ResourceType.Image: return Image.network( appContext.getContext().clientAPI.resourceApi.apiClient.basePath+"/api/Resource/"+ resourceDTO.id, fit:BoxFit.fill, loadingBuilder: (BuildContext context, Widget child, ImageChunkEvent loadingProgress) { if (loadingProgress == null) { return child; } return Center( child: CircularProgressIndicator( color: kPrimaryColor, value: loadingProgress.expectedTotalBytes != null ? loadingProgress.cumulativeBytesLoaded / loadingProgress.expectedTotalBytes : null, ), ); }, ); break; case ResourceType.ImageUrl: return Image.network( resourceDTO.data, fit:BoxFit.fill, loadingBuilder: (BuildContext context, Widget child, ImageChunkEvent loadingProgress) { if (loadingProgress == null) { return child; } return Center( child: CircularProgressIndicator( color: kPrimaryColor, value: loadingProgress.expectedTotalBytes != null ? loadingProgress.cumulativeBytesLoaded / loadingProgress.expectedTotalBytes : null, ), ); }, ); break; case ResourceType.Audio: //return AudioPlayerContainer(resourceDTO: resourceDTO, isAuto: true); return Text("Fichier audio - aucune visualisation possible"); break; case ResourceType.Video: return Text("Vidéo locale - aucune visualisation possible"); break; case ResourceType.VideoUrl: return Text(resourceDTO.data); break; } }