From ebf6873004620d558b1c1e3da9d01bce81990864 Mon Sep 17 00:00:00 2001 From: Elriz Wiraswara Date: Sat, 19 Oct 2024 20:47:52 +0700 Subject: [PATCH 1/4] return network providers on web --- lib/src/img_provider.dart | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/src/img_provider.dart b/lib/src/img_provider.dart index 95a2bde..a21c1f9 100644 --- a/lib/src/img_provider.dart +++ b/lib/src/img_provider.dart @@ -1,5 +1,6 @@ import 'dart:io'; -import 'dart:typed_data'; + +import 'package:flutter/foundation.dart'; /// Enum representing different types of image providers. enum ImgProvider { @@ -37,11 +38,19 @@ ImgProvider? getImageProvider(dynamic image) { } } - if (_isFileExists(image)) { + if (!kIsWeb) { + if (_isFileExists(image)) { + if (image.endsWith('.svg')) { + return ImgProvider.svgImageFile; + } else { + return ImgProvider.fileImage; + } + } + } else { if (image.endsWith('.svg')) { - return ImgProvider.svgImageFile; + return ImgProvider.svgImageNetwork; } else { - return ImgProvider.fileImage; + return ImgProvider.networkImage; } } @@ -59,6 +68,7 @@ ImgProvider? getImageProvider(dynamic image) { /// /// Returns true if the file exists, false otherwise. bool _isFileExists(String path) { + if (kIsWeb) return false; final directory = File(path); return directory.existsSync(); } From a1593bdad101fe78cecb982792f2a3c1dfcc86f6 Mon Sep 17 00:00:00 2001 From: Elriz Wiraswara Date: Sat, 19 Oct 2024 20:48:01 +0700 Subject: [PATCH 2/4] remove print --- lib/src/app_image_widget.dart | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/src/app_image_widget.dart b/lib/src/app_image_widget.dart index c958fb1..c2f2d42 100644 --- a/lib/src/app_image_widget.dart +++ b/lib/src/app_image_widget.dart @@ -47,8 +47,6 @@ class AppImageWidget extends StatelessWidget { // Determine the type of image provider based on the image source. ImgProvider? provider = getImageProvider(image); - print("$provider $image"); - // Display the appropriate image widget based on the provider type. if (provider == ImgProvider.networkImage) { return _networkImage(); From 64efac961427699ee227e3c5035b245cf4e3afd0 Mon Sep 17 00:00:00 2001 From: Elriz Wiraswara Date: Sat, 19 Oct 2024 20:48:33 +0700 Subject: [PATCH 3/4] update version --- CHANGELOG.md | 36 ++++++++++++++++++++++++------------ pubspec.yaml | 2 +- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 418b72f..ad4d3f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,20 @@ -## 1.0.0 +## 1.0.9 -- Initial release. +- Fix unsupported File on web -## 1.0.1 +## 1.0.8 + +- Improved pub score + +## 1.0.7 - Updated README.md -## 1.0.2 +## 1.0.6 -- Removed unnecessary codes +- Updated image indexing -## 1.0.3 +## 1.0.5 - Updated README.md @@ -18,18 +22,26 @@ - Dart format -## 1.0.5 +## 1.0.3 - Updated README.md -## 1.0.6 +## 1.0.2 -- Updated image indexing +- Removed unnecessary codes -## 1.0.7 +## 1.0.1 - Updated README.md -## 1.0.8 +## 1.0.0 + +- Initial release. + + + + + + + -- Improved pub score \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index b6063b8..3b79d8c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: app_image description: A complete package for developers looking to implement advanced image display features in their Flutter applications with minimal effort. -version: 1.0.8 +version: 1.0.9 repository: https://github.com/elrizwiraswara/app_image environment: From 4f3ae6a7d97bca98339a1982aeaa042d459c0fe3 Mon Sep 17 00:00:00 2001 From: Elriz Wiraswara Date: Sat, 19 Oct 2024 20:48:39 +0700 Subject: [PATCH 4/4] update example --- example/lib/main.dart | 9 +++++++-- example/pubspec.lock | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index b9f35d0..3503d53 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,5 +1,6 @@ import 'package:app_image/app_image.dart'; import 'package:file_picker/file_picker.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -39,7 +40,7 @@ class _MyHomePageState extends State { ]; String assetImage = 'assets/elriz-logo.jpg'; - String? fileImage; + dynamic fileImage; Uint8List? memoryImage; String svgImageNetwork = 'https://svgur.com/i/18Q4.svg'; String? svgImageFile; @@ -233,7 +234,11 @@ class _MyHomePageState extends State { allowedExtensions: ['jpg', 'jpeg', 'png'], ); - fileImage = result?.files.firstOrNull?.path; + // file image is not supported on the web platform + // use bytes instead + fileImage = kIsWeb + ? result?.files.firstOrNull?.bytes + : result?.files.firstOrNull?.path; setState(() {}); }, child: Column( diff --git a/example/pubspec.lock b/example/pubspec.lock index 2f0a20e..745d400 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -7,7 +7,7 @@ packages: path: ".." relative: true source: path - version: "1.0.0" + version: "1.0.9" args: dependency: transitive description: @@ -163,18 +163,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -203,18 +203,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -296,10 +296,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" typed_data: dependency: transitive description: @@ -344,10 +344,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" web: dependency: transitive description: