image caching test
This commit is contained in:
parent
627e6ee2df
commit
66094b4dc2
|
|
@ -8,6 +8,7 @@ import 'package:didvan/services/network/request.dart';
|
||||||
import 'package:didvan/services/network/request_helper.dart';
|
import 'package:didvan/services/network/request_helper.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:transparent_image/transparent_image.dart';
|
||||||
|
|
||||||
class SkeletonImage extends StatefulWidget {
|
class SkeletonImage extends StatefulWidget {
|
||||||
final String imageUrl;
|
final String imageUrl;
|
||||||
|
|
@ -29,45 +30,49 @@ class SkeletonImage extends StatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class _SkeletonImageState extends State<SkeletonImage> {
|
class _SkeletonImageState extends State<SkeletonImage> {
|
||||||
late Uint8List _bytes;
|
// late Uint8List _bytes;
|
||||||
bool _isLoading = true;
|
// bool _isLoading = true;
|
||||||
@override
|
// @override
|
||||||
void initState() {
|
// void initState() {
|
||||||
if (kIsWeb) _getImage();
|
// if (kIsWeb) _getImage();
|
||||||
super.initState();
|
// super.initState();
|
||||||
}
|
// }
|
||||||
|
|
||||||
Future<void> _getImage() async {
|
// Future<void> _getImage() async {
|
||||||
final url = RequestHelper.baseUrl + widget.imageUrl;
|
// final url = RequestHelper.baseUrl + widget.imageUrl;
|
||||||
_bytes = (await http.get(
|
// _bytes = (await http.get(
|
||||||
Uri.parse(url),
|
// Uri.parse(url),
|
||||||
headers: {'Authorization': 'Bearer ${RequestService.token}'},
|
// headers: {'Authorization': 'Bearer ${RequestService.token}'},
|
||||||
))
|
// ))
|
||||||
.bodyBytes;
|
// .bodyBytes;
|
||||||
if (mounted) {
|
// if (mounted) {
|
||||||
setState(() {
|
// setState(() {
|
||||||
_isLoading = false;
|
// _isLoading = false;
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
if (kIsWeb) {
|
if (kIsWeb) {
|
||||||
if (_isLoading) {
|
// if (_isLoading) {
|
||||||
return _aspectRatioGenerator(
|
// return _aspectRatioGenerator(
|
||||||
child: ShimmerPlaceholder(
|
// child: ShimmerPlaceholder(
|
||||||
borderRadius: widget.borderRadius,
|
// borderRadius: widget.borderRadius,
|
||||||
width: widget.aspectRatio == null ? widget.width : null,
|
// width: widget.aspectRatio == null ? widget.width : null,
|
||||||
height: widget.aspectRatio == null ? widget.height : null,
|
// height: widget.aspectRatio == null ? widget.height : null,
|
||||||
),
|
// ),
|
||||||
);
|
// );
|
||||||
}
|
// }
|
||||||
return _aspectRatioGenerator(
|
return _aspectRatioGenerator(
|
||||||
child: ClipRRect(
|
child: ClipRRect(
|
||||||
borderRadius: widget.borderRadius,
|
borderRadius: widget.borderRadius,
|
||||||
child: Image.memory(
|
child: FadeInImage(
|
||||||
_bytes,
|
image: NetworkImage(
|
||||||
|
RequestHelper.baseUrl + widget.imageUrl,
|
||||||
|
headers: {'Authorization': 'Bearer ${RequestService.token}'},
|
||||||
|
),
|
||||||
|
placeholder: MemoryImage(kTransparentImage),
|
||||||
fit: BoxFit.cover,
|
fit: BoxFit.cover,
|
||||||
width: widget.width,
|
width: widget.width,
|
||||||
height: widget.height,
|
height: widget.height,
|
||||||
|
|
|
||||||
|
|
@ -649,6 +649,13 @@ packages:
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.3"
|
version: "0.4.3"
|
||||||
|
transparent_image:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: transparent_image
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,7 @@ dependencies:
|
||||||
flutter_html: ^3.0.0-alpha.2
|
flutter_html: ^3.0.0-alpha.2
|
||||||
crop: ^0.5.2
|
crop: ^0.5.2
|
||||||
url_launcher: ^6.0.18
|
url_launcher: ^6.0.18
|
||||||
|
transparent_image: ^2.0.0
|
||||||
|
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue