[mob][photos] Show 'Link person' banner on contact screen if contact isn't linked to a person yet

This commit is contained in:
ashilkn 2025-01-22 18:05:29 +05:30
parent 6081dcf7a8
commit 45b2f91da5
2 changed files with 16 additions and 1 deletions

View File

@ -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,

View File

@ -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<SearchResultPage> {
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(