diff --git a/mobile/lib/services/search_service.dart b/mobile/lib/services/search_service.dart index ebcb3cf512..ad49703911 100644 --- a/mobile/lib/services/search_service.dart +++ b/mobile/lib/services/search_service.dart @@ -1402,7 +1402,7 @@ class SearchService { peopleToSharedFiles.forEach((key, value) { final name = key.displayName != null && key.displayName!.isNotEmpty ? key.displayName! - : key.email.split("@")[0]; + : key.email; searchResults.add( GenericSearchResult( ResultType.shared, diff --git a/mobile/lib/ui/viewer/search/result/search_result_page.dart b/mobile/lib/ui/viewer/search/result/search_result_page.dart index 19a3c7f25e..2ae15a5ad6 100644 --- a/mobile/lib/ui/viewer/search/result/search_result_page.dart +++ b/mobile/lib/ui/viewer/search/result/search_result_page.dart @@ -1,5 +1,6 @@ import "dart:async"; +import "package:email_validator/email_validator.dart"; import 'package:flutter/material.dart'; import 'package:photos/core/event_bus.dart'; import 'package:photos/events/files_updated_event.dart'; @@ -8,7 +9,9 @@ import 'package:photos/models/file/file.dart'; import 'package:photos/models/file_load_result.dart'; import 'package:photos/models/gallery_type.dart'; import 'package:photos/models/search/search_result.dart'; +import "package:photos/models/search/search_types.dart"; import 'package:photos/models/selected_files.dart'; +import "package:photos/ui/components/end_to_end_banner.dart"; import 'package:photos/ui/viewer/actions/file_selection_overlay_bar.dart'; import 'package:photos/ui/viewer/gallery/gallery.dart'; import 'package:photos/ui/viewer/gallery/gallery_app_bar_widget.dart'; @@ -94,6 +97,18 @@ class _SearchResultPageState extends State { selectedFiles: _selectedFiles, enableFileGrouping: widget.enableGrouping, initialFiles: [widget.searchResult.resultFiles().first], + header: widget.searchResult.type() == ResultType.shared && + EmailValidator.validate(widget.searchResult.name()) + ? Padding( + padding: const EdgeInsets.only(top: 12, bottom: 8), + child: EndToEndBanner( + title: "Link person", + caption: "for better sharing experience", + leadingIcon: Icons.person, + onTap: () async {}, + ), + ) + : null, ); return GalleryFilesState(