show album name with dedupe files + UI changes

This commit is contained in:
ashilkn 2022-09-03 19:15:23 +05:30
parent 78ff0b5f30
commit 0308dcd665

View file

@ -6,6 +6,7 @@ import 'package:photos/ente_theme_data.dart';
import 'package:photos/events/user_details_changed_event.dart';
import 'package:photos/models/duplicate_files.dart';
import 'package:photos/models/file.dart';
import 'package:photos/services/collections_service.dart';
import 'package:photos/services/deduplication_service.dart';
import 'package:photos/ui/viewer/file/detail_page.dart';
import 'package:photos/ui/viewer/file/thumbnail_widget.dart';
@ -26,7 +27,7 @@ class DeduplicatePage extends StatefulWidget {
class _DeduplicatePageState extends State<DeduplicatePage> {
static const kHeaderRowCount = 3;
static final kDeleteIconOverlay = Container(
static final selectedOverlay = Container(
color: Colors.black.withOpacity(0.4),
child: const Align(
alignment: Alignment.bottomRight,
@ -314,41 +315,44 @@ class _DeduplicatePageState extends State<DeduplicatePage> {
return SizedBox(
width: double.infinity,
child: SafeArea(
child: TextButton(
style: OutlinedButton.styleFrom(
backgroundColor:
Theme.of(context).colorScheme.inverseBackgroundColor,
),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
const Padding(padding: EdgeInsets.all(2)),
Text(
text,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: Colors.white,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 2),
child: TextButton(
style: OutlinedButton.styleFrom(
backgroundColor:
Theme.of(context).colorScheme.inverseBackgroundColor,
),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
const Padding(padding: EdgeInsets.all(2)),
Text(
text,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: Colors.white,
),
textAlign: TextAlign.center,
),
textAlign: TextAlign.center,
),
const Padding(padding: EdgeInsets.all(2)),
Text(
formatBytes(size),
style: TextStyle(
color: Colors.white.withOpacity(0.7),
fontSize: 12,
const Padding(padding: EdgeInsets.all(2)),
Text(
formatBytes(size),
style: TextStyle(
color: Colors.white.withOpacity(0.7),
fontSize: 12,
),
),
),
const Padding(padding: EdgeInsets.all(2)),
],
const Padding(padding: EdgeInsets.all(2)),
],
),
onPressed: () async {
await deleteFilesFromRemoteOnly(context, _selectedFiles.toList());
Bus.instance.fire(UserDetailsChangedEvent());
Navigator.of(context)
.pop(DeduplicationResult(_selectedFiles.length, size));
},
),
onPressed: () async {
await deleteFilesFromRemoteOnly(context, _selectedFiles.toList());
Bus.instance.fire(UserDetailsChangedEvent());
Navigator.of(context)
.pop(DeduplicationResult(_selectedFiles.length, size));
},
),
),
);
@ -359,7 +363,7 @@ class _DeduplicatePageState extends State<DeduplicatePage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.fromLTRB(16, 8, 4, 4),
padding: const EdgeInsets.fromLTRB(2, 4, 4, 12),
child: Text(
duplicates.files.length.toString() +
" files, " +
@ -381,6 +385,7 @@ class _DeduplicatePageState extends State<DeduplicatePage> {
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 4,
crossAxisSpacing: 4,
childAspectRatio: 0.75,
),
padding: const EdgeInsets.all(0),
),
@ -417,8 +422,10 @@ class _DeduplicatePageState extends State<DeduplicatePage> {
);
},
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
//(screen width - (4px total horizontal padding for every thumbnail x 4 thumbnails)) / 4
height: (MediaQuery.of(context).size.width - (4 * 4)) / 4,
child: Stack(
children: [
@ -439,12 +446,23 @@ class _DeduplicatePageState extends State<DeduplicatePage> {
_selectedFiles.contains(file)
? ClipRRect(
borderRadius: BorderRadius.circular(4),
child: kDeleteIconOverlay,
child: selectedOverlay,
)
: const SizedBox.shrink(),
],
),
),
const SizedBox(height: 6),
Padding(
padding: const EdgeInsets.only(right: 2),
child: Text(
CollectionsService.instance
.getCollectionByID(file.collectionID)
.name,
style: Theme.of(context).textTheme.caption.copyWith(fontSize: 12),
overflow: TextOverflow.ellipsis,
),
),
],
),
);