diff --git a/Makefile b/Makefile index e0011860..2bbe90dd 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,8 @@ OUTPUT_DIR := $(VERSION) .DEFAULT_GOAL := all +OS := $(shell uname) + .PHONY: all ifeq ($(OS),Darwin) all: build_runner generate_icons ios_release ios_debug android_release android_debug app_bundle_release app_bundle_debug sha1_hashes diff --git a/android/build.gradle b/android/build.gradle index 86592aae..9302bf15 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,12 +1,12 @@ buildscript { - ext.kotlin_version = '1.9.0' + ext.kotlin_version = '1.9.21' repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.3' + classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index cb24abda..ceccc3a8 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip diff --git a/devtools_options.yaml b/devtools_options.yaml new file mode 100644 index 00000000..7e7e7f67 --- /dev/null +++ b/devtools_options.yaml @@ -0,0 +1 @@ +extensions: diff --git a/ios/Podfile.lock b/ios/Podfile.lock index bfc539b2..f1736677 100755 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -132,8 +132,8 @@ SPEC CHECKSUMS: sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a unrar_file: ead248ffb2e777cb67f083bc1bb1fb45d4157dbd UnrarKit: 99e3f0222a98a212188e1a6975dcf5aa798d26dd - url_launcher_ios: 68d46cc9766d0c41dbdc884310529557e3cd7a86 + url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b PODFILE CHECKSUM: 4523b5d271d7828b6cdc73fe8b32bf7b646e71e2 -COCOAPODS: 1.14.2 +COCOAPODS: 1.14.3 diff --git a/lib/screens/EditScreen.dart b/lib/screens/EditScreen.dart index f293bc7f..669a6ac5 100644 --- a/lib/screens/EditScreen.dart +++ b/lib/screens/EditScreen.dart @@ -419,6 +419,7 @@ class _EditScreenState extends State { // entry.releaseDate = newDate.toString(); // only the month, day, and year entry.releaseDate = DateFormat('dd MM yyyy').format(newDate); + changed = true; }); }, ), diff --git a/lib/screens/downloaderScreen.dart b/lib/screens/downloaderScreen.dart index 13254477..0ade6088 100644 --- a/lib/screens/downloaderScreen.dart +++ b/lib/screens/downloaderScreen.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:flutter/foundation.dart'; +import 'package:jellybook/widgets/WaveProgressBar.dart'; import 'dart:async'; import 'package:permission_handler/permission_handler.dart'; import 'package:flutter/material.dart'; @@ -227,7 +228,6 @@ class _DownloadScreenState extends State { appBar: AppBar( title: Text(AppLocalizations.of(context)?.downloading ?? 'Downloading'), automaticallyImplyLeading: !downloading, - // if the file is downloaded, have a button to force download actions: [ if (!downloading) IconButton( @@ -266,99 +266,75 @@ class _DownloadScreenState extends State { ) ], ), - body: Center( - child: downloading - ? Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - width: MediaQuery.of(context).size.width * 0.7, - height: MediaQuery.of(context).size.width * 0.7, - child: CircularProgressIndicator( - value: progress / 100, - backgroundColor: Colors.grey, - valueColor: AlwaysStoppedAnimation(Colors.blue), - ), - ), - SizedBox( - height: 20, - ), - if (progress < 100 && - downloadStatus == DownloadStatus.Downloading) - Text( - (AppLocalizations.of(context)?.downloadingFile ?? - 'Downloading File:') + - ' ' + - progress.toStringAsFixed(2) + - '%', - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.bold, - ), - ), - if (progress == 100) - Text( - AppLocalizations.of(context)?.extractingContent ?? - 'Extracting Content', - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.bold, - ), - ), - SizedBox( - height: MediaQuery.of(context).size.height * 0.4, - ), + body: Stack( + children: [ + Positioned.fill( + child: WaveProgressBar( + progress: progress / 100, + gradient: const LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Colors.blue, + Colors.blueAccent, + Colors.teal, ], - ) - : downloadStatus != DownloadStatus.DownloadFailed && - downloadStatus != DownloadStatus.DecompressingFailed && - !downloaded + ), + ), + ), + Center( + child: downloading ? Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - AppLocalizations.of(context)?.fileDownloaded ?? - 'File Downloaded', - textAlign: TextAlign.center, - style: const TextStyle( - fontSize: 20, - ), - ), - const SizedBox( - height: 20, - ), - // Giant icon with check mark - const Icon( - Icons.check_circle, - size: 100, - color: Colors.green, + (AppLocalizations.of(context)?.downloadingFile ?? + 'Downloading File:') + + ' ' + + progress.toStringAsFixed(2) + + '%', + style: TextStyle( + fontSize: 30, fontWeight: FontWeight.bold), ), + SizedBox( + height: MediaQuery.of(context).size.height * 0.4), ], ) - : Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - AppLocalizations.of(context)?.downloadFailed ?? - "The download was unable to complete. Please try again later.", - textAlign: TextAlign.center, - style: const TextStyle( - fontSize: 20, - fontWeight: FontWeight.bold, - color: Colors.red, - ), - ), - const SizedBox( - height: 20, + : (downloadStatus != DownloadStatus.DownloadFailed && + downloadStatus != DownloadStatus.DecompressingFailed && + !downloaded) + ? Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + AppLocalizations.of(context)?.fileDownloaded ?? + 'File Downloaded', + textAlign: TextAlign.center, + style: TextStyle(fontSize: 20), + ), + SizedBox(height: 20), + Icon(Icons.check_circle, + size: 100, color: Colors.green), + ], + ) + : Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + AppLocalizations.of(context)?.downloadFailed ?? + "The download was unable to complete. Please try again later.", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: Colors.red), + ), + SizedBox(height: 20), + Icon(Icons.error, size: 100, color: Colors.red), + ], ), - // Giant icon with check mark - const Icon( - Icons.error, - size: 100, - color: Colors.red, - ), - ], - ), + ), + ], ), ); } diff --git a/lib/widgets/WaveProgressBar.dart b/lib/widgets/WaveProgressBar.dart new file mode 100644 index 00000000..759fc5b0 --- /dev/null +++ b/lib/widgets/WaveProgressBar.dart @@ -0,0 +1,107 @@ +import 'dart:math'; +import 'package:flutter/material.dart'; + +/// A custom StatefulWidget that creates an animated wave progress bar. +/// +/// The [WaveProgressBar] takes a progress value and an optional gradient to +/// display an animated wave indicating the current progress. +class WaveProgressBar extends StatefulWidget { + /// The current progress value. Expected to be between 0.0 and 1.0. + final double progress; + + /// An optional gradient to color the wave. Defaults to null, which uses a solid blue color. + final Gradient? gradient; + + /// Creates an instance of [WaveProgressBar]. + /// + /// Requires a [progress] value and optionally takes a [gradient]. + const WaveProgressBar({Key? key, required this.progress, this.gradient}) + : super(key: key); + + @override + _WaveProgressBarState createState() => _WaveProgressBarState(); +} + +/// The state class for [WaveProgressBar] which manages the animation controller. +class _WaveProgressBarState extends State + with SingleTickerProviderStateMixin { + /// The animation controller for the wave animation. + AnimationController? _controller; + + @override + void initState() { + super.initState(); + _controller = + AnimationController(vsync: this, duration: const Duration(seconds: 2)) + ..addListener(() => setState(() {})) + ..repeat(); + } + + @override + void dispose() { + _controller?.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + + return CustomPaint( + painter: WavePainter( + progress: widget.progress, + animationValue: _controller!.value, + gradient: widget.gradient), + child: Container(), + ); + } +} + +/// A custom painter class to draw the wave based on the progress and animation values. +class WavePainter extends CustomPainter { + /// The current progress value. + final double progress; + + /// The current value of the animation, used to animate the wave. + final double animationValue; + + /// An optional gradient used to color the wave. + final Gradient? gradient; + + /// Creates an instance of [WavePainter] with the given [progress], [animationValue], and [gradient]. + WavePainter( + {required this.progress, required this.animationValue, this.gradient}); + + @override + void paint(Canvas canvas, Size size) { + final paint = Paint(); + if (gradient != null) { + Rect rect = Rect.fromLTWH(0, 0, size.width, size.height); + paint.shader = gradient!.createShader(rect); + } else { + paint.color = Colors.blue; + } + + final path = Path(); + for (double i = 0.0; i < size.width; i++) { + double waveHeight = + sin((i / size.width * 2 * pi) + (2 * pi * animationValue)) * 20; + double y = (1 - progress) * size.height + waveHeight; + if (i == 0) { + path.moveTo(i, y); + } else { + path.lineTo(i, y); + } + } + + path.lineTo(size.width, size.height); + path.lineTo(0, size.height); + path.close(); + + canvas.drawPath(path, paint); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return oldDelegate != this; + } +} diff --git a/pubspec.lock b/pubspec.lock index ae45afaf..127db724 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -141,18 +141,18 @@ packages: dependency: transitive description: name: build_resolvers - sha256: "64e12b0521812d1684b1917bc80945625391cb9bdd4312536b1d69dcb6133ed8" + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b" + sha256: "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b" url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.4.7" build_runner_core: dependency: transitive description: @@ -173,10 +173,10 @@ packages: dependency: transitive description: name: built_value - sha256: "723b4021e903217dfc445ec4cf5b42e27975aece1fc4ebbc1ca6329c2d9fb54e" + sha256: c9aabae0718ec394e5bc3c7272e6bb0dc0b32201a08fe185ec1d8401d3e39309 url: "https://pub.dev" source: hosted - version: "8.7.0" + version: "8.8.1" cached_network_image: dependency: "direct main" description: @@ -229,10 +229,10 @@ packages: dependency: transitive description: name: code_builder - sha256: "1be9be30396d7e4c0db42c35ea6ccd7cc6a1e19916b5dc64d6ac216b5544d677" + sha256: feee43a5c05e7b3199bb375a86430b8ada1b04104f2923d0e03cc01ca87b6d84 url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.9.0" collection: dependency: transitive description: @@ -245,10 +245,10 @@ packages: dependency: "direct main" description: name: connectivity_plus - sha256: b502a681ba415272ecc41400bd04fe543ed1a62632137dc84d25a91e7746f55f + sha256: "224a77051d52a11fbad53dd57827594d3bd24f945af28bd70bab376d68d437f0" url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "5.0.2" connectivity_plus_platform_interface: dependency: transitive description: @@ -269,10 +269,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c" + sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e url: "https://pub.dev" source: hosted - version: "0.3.3+6" + version: "0.3.3+8" crypto: dependency: transitive description: @@ -325,10 +325,10 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: "7035152271ff67b072a211152846e9f1259cf1be41e34cd3e0b5463d2d6b8419" + sha256: "0042cb3b2a76413ea5f8a2b40cec2a33e01d0c937e91f0f7c211fde4f7739ba6" url: "https://pub.dev" source: hosted - version: "9.1.0" + version: "9.1.1" device_info_plus_platform_interface: dependency: transitive description: @@ -341,10 +341,10 @@ packages: dependency: "direct main" description: name: dio - sha256: "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7" + sha256: "797e1e341c3dd2f69f2dad42564a6feff3bfb87187d05abb93b9609e6f1645c3" url: "https://pub.dev" source: hosted - version: "5.3.3" + version: "5.4.0" drop_cap_text: dependency: "direct main" description: @@ -405,10 +405,10 @@ packages: dependency: transitive description: name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.0" file_selector_linux: dependency: transitive description: @@ -458,18 +458,18 @@ packages: dependency: "direct main" description: name: flutter_background_service - sha256: "50809e60ff1df3278b743f1e4b1045eb8a0c555b4e30576b8736f0ceb6a03003" + sha256: "94d9a143852729140e17254a53769383b03738cd92b6e588a8762003e6cd9dd9" url: "https://pub.dev" source: hosted - version: "5.0.3" + version: "5.0.5" flutter_background_service_android: dependency: transitive description: name: flutter_background_service_android - sha256: "1a3372bb20893c9b99c58ca0a4007f8edffc661b0f64cc97ff7bc65164e5f3cc" + sha256: "30863ebafd8214b8e76d5e5c9f27887dc5cc303fcf3e89f71534f621fc486782" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.2.2" flutter_background_service_ios: dependency: transitive description: @@ -657,10 +657,10 @@ packages: dependency: transitive description: name: http - sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139 url: "https://pub.dev" source: hosted - version: "0.13.6" + version: "1.1.2" http_multi_server: dependency: transitive description: @@ -697,18 +697,18 @@ packages: dependency: "direct main" description: name: image_picker - sha256: "7d7f2768df2a8b0a3cefa5ef4f84636121987d403130e70b17ef7e2cf650ba84" + sha256: fc712337719239b0b6e41316aa133350b078fa39b6cbd706b61f3fd421b03c77 url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f + sha256: ecdc963d2aa67af5195e723a40580f802d4392e31457a12a562b3e2bd6a396fe url: "https://pub.dev" source: hosted - version: "0.8.8+2" + version: "0.8.9+1" image_picker_for_web: dependency: transitive description: @@ -721,10 +721,10 @@ packages: dependency: transitive description: name: image_picker_ios - sha256: "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7" + sha256: eac0a62104fa12feed213596df0321f57ce5a572562f72a68c4ff81e9e4caacf url: "https://pub.dev" source: hosted - version: "0.8.8+4" + version: "0.8.9" image_picker_linux: dependency: transitive description: @@ -979,10 +979,10 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017" + sha256: "88bc797f44a94814f2213db1c9bd5badebafdfb8290ca9f78d4b9ee2a3db4d79" url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "5.0.1" package_info_plus_platform_interface: dependency: transitive description: @@ -1058,10 +1058,11 @@ packages: pdfx: dependency: "direct main" description: - name: pdfx - sha256: cff993dcbcc08b5ecb10b24d4d10ee91fc7934a3ddf72db13a70c25a8bd0f176 - url: "https://pub.dev" - source: hosted + path: "packages/pdfx" + ref: "4be9de9ffed5398fd7d5f44bbb07dcd3d3f1711b" + resolved-ref: "4be9de9ffed5398fd7d5f44bbb07dcd3d3f1711b" + url: "https://github.com/ScerIO/packages.flutter" + source: git version: "2.5.0" pedantic: dependency: transitive @@ -1075,50 +1076,58 @@ packages: dependency: "direct main" description: name: permission_handler - sha256: "284a66179cabdf942f838543e10413246f06424d960c92ba95c84439154fcac8" + sha256: "860c6b871c94c78e202dc69546d4d8fd84bd59faeb36f8fb9888668a53ff4f78" url: "https://pub.dev" source: hosted - version: "11.0.1" + version: "11.1.0" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: f9fddd3b46109bd69ff3f9efa5006d2d309b7aec0f3c1c5637a60a2d5659e76e + sha256: "2f1bec180ee2f5665c22faada971a8f024761f632e93ddc23310487df52dcfa6" url: "https://pub.dev" source: hosted - version: "11.1.0" + version: "12.0.1" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" + sha256: "1a816084338ada8d574b1cb48390e6e8b19305d5120fe3a37c98825bacc78306" + url: "https://pub.dev" + source: hosted + version: "9.2.0" + permission_handler_html: + dependency: transitive + description: + name: permission_handler_html + sha256: "11b762a8c123dced6461933a88ea1edbbe036078c3f9f41b08886e678e7864df" url: "https://pub.dev" source: hosted - version: "9.1.4" + version: "0.1.0+2" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4" + sha256: d87349312f7eaf6ce0adaf668daf700ac5b06af84338bd8b8574dfbd93ffe1a1 url: "https://pub.dev" source: hosted - version: "3.12.0" + version: "4.0.2" permission_handler_windows: dependency: transitive description: name: permission_handler_windows - sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 + sha256: "1e8640c1e39121128da6b816d236e714d2cf17fac5a105dd6acdd3403a628004" url: "https://pub.dev" source: hosted - version: "0.1.3" + version: "0.2.0" petitparser: dependency: transitive description: name: petitparser - sha256: eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.0.2" photo_view: dependency: transitive description: @@ -1139,10 +1148,10 @@ packages: dependency: transitive description: name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8 url: "https://pub.dev" source: hosted - version: "2.1.6" + version: "2.1.7" pointycastle: dependency: transitive description: @@ -1251,10 +1260,10 @@ packages: dependency: transitive description: name: shared_preferences_web - sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf + sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" shared_preferences_windows: dependency: transitive description: @@ -1296,10 +1305,10 @@ packages: dependency: transitive description: name: source_gen - sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16 + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.5.0" source_span: dependency: transitive description: @@ -1376,10 +1385,10 @@ packages: dependency: transitive description: name: synchronized - sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60" + sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.0+1" term_glyph: dependency: transitive description: @@ -1464,10 +1473,10 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba + sha256: e9aa5ea75c84cf46b3db4eea212523591211c3cf2e13099ee4ec147f54201c86 url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.2" url_launcher_android: dependency: transitive description: @@ -1480,18 +1489,18 @@ packages: dependency: transitive description: name: url_launcher_ios - sha256: "4ac97281cf60e2e8c5cc703b2b28528f9b50c8f7cebc71df6bdf0845f647268a" + sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3 url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.2.1" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" + sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" url_launcher_macos: dependency: transitive description: @@ -1512,26 +1521,26 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2" + sha256: "7286aec002c8feecc338cc33269e96b73955ab227456e9fb2a91f7fab8a358e9" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.2.2" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" + sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" uuid: dependency: transitive description: name: uuid - sha256: df5a4d8f22ee4ccd77f8839ac7cb274ebc11ef9adcce8b92be14b797fe889921 + sha256: "22c94e5ad1e75f9934b766b53c742572ee2677c56bc871d850a57dad0f82127f" url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.2.2" vector_math: dependency: transitive description: @@ -1568,10 +1577,10 @@ packages: dependency: transitive description: name: win32 - sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f" + sha256: b0f37db61ba2f2e9b7a78a1caece0052564d1bc70668156cf3a29d676fe4e574 url: "https://pub.dev" source: hosted - version: "5.1.0" + version: "5.1.1" win32_registry: dependency: transitive description: @@ -1592,10 +1601,10 @@ packages: dependency: "direct main" description: name: xml - sha256: af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556 + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.4.2" + version: "6.5.0" xxh3: dependency: transitive description: @@ -1613,5 +1622,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0-194.0.dev <4.0.0" - flutter: ">=3.13.0" + dart: ">=3.2.0 <4.0.0" + flutter: ">=3.16.0" diff --git a/pubspec.yaml b/pubspec.yaml index 17994b82..28fd1bf1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -59,13 +59,13 @@ dependencies: flutter_html_to_pdf: ^0.7.0 isar: ^3.0.5 isar_flutter_libs: ^3.0.5 - pdfx: ^2.5.0 - # git: - # url: 'https://github.com/ScerIO/packages.flutter' - # ref: '4be9de9ffed5398fd7d5f44bbb07dcd3d3f1711b' - # path: packages/pdfx + pdfx: + git: + url: 'https://github.com/ScerIO/packages.flutter' + ref: '4be9de9ffed5398fd7d5f44bbb07dcd3d3f1711b' + path: packages/pdfx - package_info_plus: ^4.1.0 + package_info_plus: ^5.0.1 auto_size_text: ^3.0.0 google_nav_bar: ^5.0.6 cached_network_image: ^3.2.3