diff --git a/lib/ui/home/memories/memory_cover_widget.dart b/lib/ui/home/memories/memory_cover_widget.dart deleted file mode 100644 index 5218ba5ff..000000000 --- a/lib/ui/home/memories/memory_cover_widget.dart +++ /dev/null @@ -1,131 +0,0 @@ -import "package:flutter/material.dart"; -import "package:photos/generated/l10n.dart"; -import "package:photos/models/memory.dart"; -import "package:photos/theme/ente_theme.dart"; -import 'package:photos/ui/home/memories/full_screen_memory.dart'; -import "package:photos/ui/viewer/file/thumbnail_widget.dart"; -import "package:photos/utils/navigation_util.dart"; - -class MemoryCovertWidget extends StatefulWidget { - const MemoryCovertWidget({ - Key? key, - required this.memories, - }) : super(key: key); - - final List memories; - - @override - State createState() => _MemoryCovertWidgetState(); -} - -class _MemoryCovertWidgetState extends State { - @override - Widget build(BuildContext context) { - //memories will be empty if all memories are deleted and setState is called - //after FullScreenMemory screen is popped - if (widget.memories.isEmpty) { - return const SizedBox.shrink(); - } - final index = _getNextMemoryIndex(); - final title = _getTitle(widget.memories[index]); - return GestureDetector( - onTap: () async { - await routeToPage( - context, - FullScreenMemoryDataUpdater( - initialIndex: index, - memories: widget.memories, - child: FullScreenMemory(title, index), - ), - forceCustomPageRoute: true, - ); - setState(() {}); - }, - child: Row( - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - children: [ - _buildMemoryItem(context, index), - const Padding(padding: EdgeInsets.all(4)), - Hero( - tag: title, - child: Material( - type: MaterialType.transparency, - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 84), - child: Text( - title, - style: getEnteTextTheme(context).mini, - textAlign: TextAlign.center, - ), - ), - ), - ), - ], - ), - ), - ], - ), - ); - } - - Container _buildMemoryItem(BuildContext context, int index) { - final colorScheme = getEnteColorScheme(context); - final memory = widget.memories[index]; - final isSeen = memory.isSeen(); - return Container( - decoration: BoxDecoration( - border: Border.all( - color: isSeen ? colorScheme.strokeFaint : colorScheme.primary500, - width: 2, - ), - borderRadius: BorderRadius.circular(40), - ), - child: ClipOval( - child: SizedBox( - width: 56, - height: 56, - child: Hero( - tag: "memories" + memory.file.tag, - child: ThumbnailWidget( - memory.file, - shouldShowSyncStatus: false, - key: Key("memories" + memory.file.tag), - ), - ), - ), - ), - ); - } - - // Returns either the first unseen memory or the memory that succeeds the - // last seen memory - int _getNextMemoryIndex() { - int lastSeenIndex = 0; - int lastSeenTimestamp = 0; - for (var index = 0; index < widget.memories.length; index++) { - final memory = widget.memories[index]; - if (!memory.isSeen()) { - return index; - } else { - if (memory.seenTime() > lastSeenTimestamp) { - lastSeenIndex = index; - lastSeenTimestamp = memory.seenTime(); - } - } - } - if (lastSeenIndex == widget.memories.length - 1) { - return 0; - } - return lastSeenIndex + 1; - } - - String _getTitle(Memory memory) { - final present = DateTime.now(); - final then = DateTime.fromMicrosecondsSinceEpoch(memory.file.creationTime!); - final diffInYears = present.year - then.year; - return S.of(context).yearsAgo(diffInYears); - } -}