优化漫步界面

This commit is contained in:
DelLevin-Home
2026-08-09 14:29:17 +08:00
parent 26ec55dc9b
commit ca95a27b2b
4 changed files with 372 additions and 376 deletions

View File

@@ -1,5 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import '../../../widgets/fade_in_local_image.dart';
/// Display mode for the book grid item.
enum ViewMode { relaxed, compact }
@@ -188,8 +188,7 @@ class BookGridItem extends StatelessWidget {
StackFit fit = StackFit.loose,
}) {
final coverPath = book['cover_path'] as String?;
final hasCover =
coverPath != null && coverPath.isNotEmpty && File(coverPath).existsSync();
final placeholder = _buildPlaceholder(context);
return Stack(
fit: fit,
@@ -197,15 +196,14 @@ class BookGridItem extends StatelessWidget {
Container(
decoration: BoxDecoration(borderRadius: BorderRadius.circular(8)),
clipBehavior: Clip.antiAlias,
child: hasCover
? Image.file(
File(coverPath),
fit: BoxFit.cover,
width: double.infinity,
height: double.infinity,
errorBuilder: (_, __, ___) => _buildPlaceholder(context),
)
: _buildPlaceholder(context),
child: FadeInLocalImage(
path: coverPath,
fit: BoxFit.cover,
width: double.infinity,
height: double.infinity,
placeholder: placeholder,
errorWidget: placeholder,
),
),
...extras,
],