diff --git a/packages/neon/neon_files/lib/models/file_details.dart b/packages/neon/neon_files/lib/models/file_details.dart index 2a537c8d488..dec33ff5192 100644 --- a/packages/neon/neon_files/lib/models/file_details.dart +++ b/packages/neon/neon_files/lib/models/file_details.dart @@ -19,13 +19,13 @@ class FileDetails { final bool isDirectory; - final int size; + final int? size; final String? etag; final String? mimeType; - final DateTime lastModified; + final DateTime? lastModified; final bool? hasPreview; diff --git a/packages/neon/neon_files/lib/pages/details.dart b/packages/neon/neon_files/lib/pages/details.dart index de225e31ec6..5961f33e8d0 100644 --- a/packages/neon/neon_files/lib/pages/details.dart +++ b/packages/neon/neon_files/lib/pages/details.dart @@ -49,7 +49,10 @@ class FilesDetailsPage extends StatelessWidget { details.isDirectory ? AppLocalizations.of(context).detailsFolderSize : AppLocalizations.of(context).detailsFileSize: filesize(details.size, 1), - AppLocalizations.of(context).detailsLastModified: details.lastModified.toLocal().toIso8601String(), + if (details.lastModified != null) ...{ + AppLocalizations.of(context).detailsLastModified: + details.lastModified!.toLocal().toIso8601String(), + }, if (details.isFavorite != null) ...{ AppLocalizations.of(context).detailsIsFavorite: details.isFavorite! ? AppLocalizations.of(context).actionYes diff --git a/packages/neon/neon_files/lib/pages/main.dart b/packages/neon/neon_files/lib/pages/main.dart index a9317fb6291..f3e69f7c3cb 100644 --- a/packages/neon/neon_files/lib/pages/main.dart +++ b/packages/neon/neon_files/lib/pages/main.dart @@ -29,7 +29,7 @@ class _FilesMainPageState extends State { filesBloc: bloc, onPickFile: (final details) async { final sizeWarning = bloc.options.downloadSizeWarning.value; - if (sizeWarning != null && details.size > sizeWarning) { + if (sizeWarning != null && details.size != null && details.size! > sizeWarning) { // ignore: use_build_context_synchronously if (!(await showConfirmationDialog( context, diff --git a/packages/neon/neon_files/lib/widgets/browser_view.dart b/packages/neon/neon_files/lib/widgets/browser_view.dart index cde02a4d1ff..28b972dce16 100644 --- a/packages/neon/neon_files/lib/widgets/browser_view.dart +++ b/packages/neon/neon_files/lib/widgets/browser_view.dart @@ -116,12 +116,12 @@ class _FilesBrowserViewState extends State { isDirectory: matchingUploadTasks.isEmpty && file.isDirectory, size: matchingUploadTasks.isNotEmpty ? matchingUploadTasks.first.size - : file.size!, + : file.size, etag: matchingUploadTasks.isNotEmpty ? null : file.etag, mimeType: matchingUploadTasks.isNotEmpty ? null : file.mimeType, lastModified: matchingUploadTasks.isNotEmpty ? matchingUploadTasks.first.lastModified - : file.lastModified!, + : file.lastModified, hasPreview: matchingUploadTasks.isNotEmpty ? null : file.hasPreview, isFavorite: matchingUploadTasks.isNotEmpty ? null : file.favorite, ), @@ -235,10 +235,12 @@ class _FilesBrowserViewState extends State { ), subtitle: Row( children: [ - RelativeTime( - date: details.lastModified, - ), - if (details.size > 0) ...[ + if (details.lastModified != null) ...[ + RelativeTime( + date: details.lastModified!, + ), + ], + if (details.size != null && details.size! > 0) ...[ const SizedBox( width: 10, ), @@ -396,7 +398,7 @@ class _FilesBrowserViewState extends State { break; case FilesFileAction.sync: final sizeWarning = widget.bloc.options.downloadSizeWarning.value; - if (sizeWarning != null && details.size > sizeWarning) { + if (sizeWarning != null && details.size != null && details.size! > sizeWarning) { // ignore: use_build_context_synchronously if (!(await showConfirmationDialog( context,