improved handling of absent or loading icons

This commit is contained in:
Fabian Freund
2025-08-02 12:31:26 +02:00
parent 1f061d9b3d
commit 411a890df6
4 changed files with 31 additions and 13 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ class UrlIcon extends HookConsumerWidget {
);
return Skeletonizer(
enabled: !icon.hasData,
enabled: icon.connectionState != ConnectionState.done,
child: SizedBox.square(
dimension: iconSize,
child: (icon.data != null)
@@ -18,6 +18,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:nullability/nullability.dart';
import 'package:skeletonizer/skeletonizer.dart';
@@ -40,10 +41,16 @@ class WebsiteTitleTile extends HookConsumerWidget {
skipLoadingOnReload: true,
data: (info) {
return ListTile(
leading: RawImage(
image: info.favicon?.image.value,
height: 24,
width: 24,
leading: RepaintBoundary(
child:
info.favicon.mapNotNull(
(favicon) => RawImage(
image: favicon.image.value,
height: 24,
width: 24,
),
) ??
const Icon(MdiIcons.web, size: 24),
),
contentPadding: EdgeInsets.zero,
title: Text(