| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import 'package:flutter/material.dart';
- import 'package:cached_network_image/cached_network_image.dart';
- class ArticleImage extends StatelessWidget {
- final int idArticolo;
- final String? codArticolo;
- final String? imageUrl;
- final double size;
- const ArticleImage({
- super.key,
- required this.idArticolo,
- this.codArticolo,
- this.imageUrl,
- this.size = 48,
- });
- @override
- Widget build(BuildContext context) {
- if (imageUrl != null && imageUrl!.isNotEmpty) {
- return ClipRRect(
- borderRadius: BorderRadius.circular(8),
- child: CachedNetworkImage(
- imageUrl: imageUrl!,
- width: size,
- height: size,
- fit: BoxFit.cover,
- placeholder: (_, __) => _placeholder(),
- errorWidget: (_, __, ___) => _placeholder(),
- ),
- );
- }
- return _placeholder();
- }
- Widget _placeholder() {
- return Container(
- width: size,
- height: size,
- decoration: BoxDecoration(
- color: Colors.grey.shade200,
- borderRadius: BorderRadius.circular(8),
- ),
- child: Icon(Icons.inventory_2_outlined, size: size * 0.5, color: Colors.grey.shade400),
- );
- }
- }
|