From 9ceeaf7cc432c40c184cc2b731c6a6227cba1243 Mon Sep 17 00:00:00 2001 From: GT610 <79314033+GT-610@users.noreply.github.com> Date: Thu, 8 Jan 2026 18:57:02 +0800 Subject: [PATCH] feat(local file page): Display server names for server folders (#996) * feat(local file page): Display server names for server folders In the local file list, server folders will display their corresponding server names, enhancing the user experience. * fix(storage page): Use ref.read instead of ref.watch to fetch the server list Avoid unnecessary watch operations during construction, reducing potential performance overhead --- lib/view/page/storage/local.dart | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/view/page/storage/local.dart b/lib/view/page/storage/local.dart index b00362a7..75726487 100644 --- a/lib/view/page/storage/local.dart +++ b/lib/view/page/storage/local.dart @@ -140,11 +140,23 @@ class _LocalFilePageState extends ConsumerState with AutomaticKee required FileStat stat, required bool isDir, }) { + final isServerFolder = isDir && file.parent.path == Paths.file; + String? serverName; + if (isServerFolder) { + final servers = ref.read(serversProvider).servers; + final server = servers[fileName]; + if (server != null) { + serverName = server.name; + } + } + return CardX( child: ListTile( leading: isDir ? const Icon(Icons.folder_open) : const Icon(Icons.insert_drive_file), - title: Text(fileName), - subtitle: isDir ? null : Text(stat.size.bytes2Str, style: UIs.textGrey), + title: Text(serverName ?? fileName), + subtitle: isDir + ? (serverName != null ? Text(fileName, style: UIs.textGrey) : null) + : Text(stat.size.bytes2Str, style: UIs.textGrey), trailing: Text(stat.modified.ymdhms(), style: UIs.textGrey), onLongPress: () { if (isDir) {