import 'dart:convert'; import 'dart:math' as math; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:intl/intl.dart'; import 'package:timeago/timeago.dart' as timeago; import 'lat_lng.dart'; import 'place.dart'; import 'uploaded_file.dart'; String? convertToUppercase(String input) { return input.toUpperCase(); } String? uploadFileToBase64(String? uploadFile) { if (uploadFile == null) { return null; } final List bytes = uploadFile.codeUnits; final String base64String = base64.encode(bytes); return base64String; } String jsonListToStr(List visitorList) { String result = ''; for (var visitor in visitorList) { result += '${visitor['VTE_DOCUMENTO']},'; } return result.substring(0, result.length - 1); } List listStrJsonToJsonList( dynamic jsonList, List strList, ) { List result = []; for (int i = 0; i < jsonList.length; i++) { Map item = jsonList[i]; if (i < strList.length) { item['newField'] = strList[i]; } else { item['newField'] = ''; } result.add(item); } return result; } String strListToStr(List strList) { return strList.join(','); } int extractIdToStr(String str) { final idStart = str.indexOf('_ID:') + 4; final idEnd = str.indexOf(',', idStart); final idStr = str.substring(idStart, idEnd); return int.parse(idStr); } String extractDescToStr(String str) { final startIndex = str.indexOf('_DESCRICAO:') + '_DESCRICAO:'.length; final endIndex = str.indexOf(',', startIndex); return str.substring(startIndex, endIndex); } String jsonToStr(dynamic json) { String jsonString = jsonEncode(json); return jsonString; } Stream getProgressValue() { final startTime = DateTime.now().millisecondsSinceEpoch; final endTime = startTime + 20000; final duration = Duration(milliseconds: 100); return Stream.periodic(duration, (int count) { final currentTime = DateTime.now().millisecondsSinceEpoch; final elapsedTime = currentTime - startTime; final progress = math.max(0.0, 1.0 - (elapsedTime / (endTime - startTime))); return progress; }); }