功能优化

This commit is contained in:
DelLevin-Home
2026-05-24 14:18:36 +08:00
parent 674a981aac
commit 8b63aa482f
20 changed files with 1003 additions and 396 deletions

View File

@@ -5,6 +5,7 @@ import 'package:provider/provider.dart';
import '../../providers/app_provider.dart';
import '../../models/data_models.dart';
import 'note_share_page.dart';
import '../../widgets/fade_in_local_image.dart';
/// 笔记详情页
class NoteDetailPage extends StatefulWidget {
@@ -232,12 +233,10 @@ class _NoteDetailPageState extends State<NoteDetailPage> {
for (final imgPath in note.images) {
if (imgPath.contains(path) || path.contains(imgPath)) {
if (File(imgPath).existsSync()) {
return ClipRRect(
borderRadius: BorderRadius.circular(8),
child: Image.file(File(imgPath), fit: BoxFit.cover),
child: FadeInLocalImage(path: imgPath, fit: BoxFit.cover),
);
}
}
}
@@ -265,7 +264,7 @@ class _NoteDetailPageState extends State<NoteDetailPage> {
boundaryMargin: const EdgeInsets.all(20),
minScale: 0.5,
maxScale: 4,
child: Image.file(File(images[initialIndex]), fit: BoxFit.contain),
child: FadeInLocalImage(path: images[initialIndex], fit: BoxFit.contain),
),
),
),

View File

@@ -6,6 +6,7 @@ import '../../models/data_models.dart';
import '../../utils/user_prefs.dart';
import '../../widgets/note_list_item.dart';
import '../../widgets/shimmer_skeleton.dart';
import '../../widgets/fade_in_local_image.dart';
/// 笔记标签页
class NoteTabPage extends StatefulWidget {
@@ -121,7 +122,15 @@ class _NoteTabPageState extends State<NoteTabPage> {
}
if (allNotes.isEmpty && _displayedNotes.isEmpty) {
return _buildEmptyState(context);
return RefreshIndicator(
onRefresh: _refresh,
color: const Color(0xFF1A1A1A),
backgroundColor: Colors.white,
child: ListView(
physics: const AlwaysScrollableScrollPhysics(),
children: [_buildEmptyState(context)],
),
);
}
if (_layoutStyle == 1) {
@@ -425,11 +434,10 @@ class _NoteTabPageState extends State<NoteTabPage> {
children: [
ClipRRect(
borderRadius: const BorderRadius.vertical(top: Radius.circular(10)),
child: Image.file(
File(images.first),
width: double.infinity,
child: FadeInLocalImage(
path: images.first,
fit: BoxFit.cover,
errorBuilder: (_, __, ___) => const SizedBox.shrink(),
errorWidget: const SizedBox.shrink(),
),
),
if (extraCount > 0)