import 'package:flutter/material.dart'; import 'package:url_launcher/url_launcher.dart'; import 'utils.dart'; import 'package:hive/hive.dart'; import 'package:hive_flutter/hive_flutter.dart'; class Util { static Future getBox() async { Hive.initFlutter(); Box box = await Hive.openBox('wisetronic_app_data'); return box; } static Widget showImage(String imageUrl, {double width, double height, BoxFit fit, Widget Function(BuildContext, String, dynamic) errorWidget}) { return Image.network(imageUrl, fit: fit, width: width, height: height, cacheWidth: width != null ? width.round() : null, cacheHeight: height != null ? height.round() : null, loadingBuilder: (BuildContext context, Widget child, ImageChunkEvent loadingProgress) { if (loadingProgress == null) return child; return Center( child: Utils.imageLoadingIndicator(), ); }, errorBuilder: (BuildContext context, Object object, StackTrace stackTrace) { if (errorWidget != null) { return errorWidget(context, null, null); } return Image.asset( 'assets/images/not_found.png', width: width, height: height, fit: fit, ); }, ); } static void openWebUrl(BuildContext context, String link) async { var url = 'https://${link}'; if (await canLaunch(url)) { await launch('$url'); } else { print('Could not launch $url'); } } }