You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.8 KiB
77 lines
2.8 KiB
part of '../neon_files.dart'; |
|
|
|
class FilesDetailsPage extends StatelessWidget { |
|
const FilesDetailsPage({ |
|
required this.bloc, |
|
required this.details, |
|
super.key, |
|
}); |
|
|
|
final FilesBloc bloc; |
|
final FileDetails details; |
|
|
|
@override |
|
Widget build(final BuildContext context) => Scaffold( |
|
resizeToAvoidBottomInset: false, |
|
appBar: AppBar( |
|
title: Text(details.name), |
|
), |
|
body: Scrollbar( |
|
interactive: true, |
|
child: ListView( |
|
primary: true, |
|
children: [ |
|
ColoredBox( |
|
color: Theme.of(context).colorScheme.primary, |
|
child: FilePreview( |
|
bloc: bloc, |
|
details: details, |
|
color: Theme.of(context).colorScheme.onPrimary, |
|
size: Size( |
|
MediaQuery.of(context).size.width, |
|
MediaQuery.of(context).size.height / 4, |
|
), |
|
), |
|
), |
|
DataTable( |
|
headingRowHeight: 0, |
|
columns: [ |
|
DataColumn(label: Container()), |
|
DataColumn(label: Container()), |
|
], |
|
rows: [ |
|
for (final entry in { |
|
details.isDirectory |
|
? AppLocalizations.of(context).detailsFolderName |
|
: AppLocalizations.of(context).detailsFileName: details.name, |
|
AppLocalizations.of(context).detailsParentFolder: |
|
details.path.length == 1 ? '/' : details.path.sublist(0, details.path.length - 1).join('/'), |
|
if (details.size != null) ...{ |
|
details.isDirectory |
|
? AppLocalizations.of(context).detailsFolderSize |
|
: AppLocalizations.of(context).detailsFileSize: filesize(details.size, 1), |
|
}, |
|
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 |
|
: AppLocalizations.of(context).actionNo, |
|
}, |
|
}.entries) ...[ |
|
DataRow( |
|
cells: [ |
|
DataCell(Text(entry.key)), |
|
DataCell(Text(entry.value)), |
|
], |
|
), |
|
], |
|
], |
|
), |
|
], |
|
), |
|
), |
|
); |
|
}
|
|
|