mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 10:37:11 -04:00 
			
		
		
		
	* feat: memories sliver * memories lane * display and show memory * fix: get correct memories * naming * pr feedback * use equalsValue for visibility --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:auto_route/auto_route.dart';
 | |
| import 'package:flutter/material.dart';
 | |
| import 'package:hooks_riverpod/hooks_riverpod.dart';
 | |
| import 'package:immich_mobile/presentation/widgets/memory/memory_lane.widget.dart';
 | |
| import 'package:immich_mobile/presentation/widgets/timeline/timeline.widget.dart';
 | |
| import 'package:immich_mobile/providers/infrastructure/memory.provider.dart';
 | |
| 
 | |
| @RoutePage()
 | |
| class MainTimelinePage extends ConsumerWidget {
 | |
|   const MainTimelinePage({super.key});
 | |
| 
 | |
|   @override
 | |
|   Widget build(BuildContext context, WidgetRef ref) {
 | |
|     final memoryLaneProvider = ref.watch(driftMemoryFutureProvider);
 | |
| 
 | |
|     return memoryLaneProvider.when(
 | |
|       data: (memories) {
 | |
|         return memories.isEmpty
 | |
|             ? const Timeline()
 | |
|             : Timeline(
 | |
|                 topSliverWidget: SliverToBoxAdapter(
 | |
|                   key: Key('memory-lane-${memories.first.assets.first.id}'),
 | |
|                   child: DriftMemoryLane(memories: memories),
 | |
|                 ),
 | |
|                 topSliverWidgetHeight: 200,
 | |
|               );
 | |
|       },
 | |
|       loading: () => const Timeline(),
 | |
|       error: (error, stackTrace) => const Timeline(),
 | |
|     );
 | |
|   }
 | |
| }
 |