import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_details/appears_in_details.widget.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_details/date_time_details.widget.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_details/drag_handle.widget.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_details/location_details.widget.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_details/people_details.widget.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_details/rating_details.widget.dart'; import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_details/technical_details.widget.dart'; import 'package:immich_mobile/providers/infrastructure/asset_viewer/asset.provider.dart'; class AssetDetails extends ConsumerWidget { final double minHeight; const AssetDetails({required this.minHeight, super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final asset = ref.watch(currentAssetNotifier); if (asset == null) { return const SizedBox.shrink(); } return Container( constraints: BoxConstraints(minHeight: minHeight), decoration: BoxDecoration( color: context.colorScheme.surface, borderRadius: const BorderRadius.vertical(top: Radius.circular(20)), ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const DragHandle(), const DateTimeDetails(), const PeopleDetails(), const LocationDetails(), const TechnicalDetails(), const RatingDetails(), const AppearsInDetails(), SizedBox(height: context.padding.bottom + 48), ], ), ); } }