[mob][photos] Show face thumbnail and name of face if available in FaceFilterChip

This commit is contained in:
ashilkn
2024-10-17 17:46:41 +05:30
parent 0ef03389ab
commit 1136d47c09
3 changed files with 40 additions and 1 deletions

View File

@@ -56,6 +56,7 @@ class _AppliedFiltersState extends State<AppliedFilters> {
personId: filter.personId,
clusterId: filter.clusterId,
faceThumbnailFile: EnteFile(),
name: filter.name(),
)
: GenericFilterChip(
label: filter.name(),

View File

@@ -1,6 +1,7 @@
import "package:flutter/widgets.dart";
import "package:photos/models/file/file.dart";
import "package:photos/theme/ente_theme.dart";
import "package:photos/ui/viewer/search/result/person_face_widget.dart";
class GenericFilterChip extends StatelessWidget {
final String label;
@@ -54,16 +55,52 @@ class FaceFilterChip extends StatelessWidget {
final String? personId;
final String? clusterId;
final EnteFile faceThumbnailFile;
final String name;
const FaceFilterChip({
required this.personId,
required this.clusterId,
required this.faceThumbnailFile,
required this.name,
super.key,
});
@override
Widget build(BuildContext context) {
return const Placeholder();
return Container(
decoration: BoxDecoration(
color: getEnteColorScheme(context).fillFaint,
borderRadius: const BorderRadius.all(Radius.circular(8)),
),
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
ClipOval(
child: SizedBox(
width: 32,
height: 32,
child: PersonFaceWidget(
faceThumbnailFile,
personId: personId,
clusterID: clusterId,
),
),
),
name.isNotEmpty
? Padding(
padding: const EdgeInsets.symmetric(horizontal: 4),
child: Text(
name,
style: getEnteTextTheme(context).miniBold,
),
)
: const SizedBox.shrink(),
],
),
),
);
}
}

View File

@@ -55,6 +55,7 @@ class _RecommendedFiltersState extends State<RecommendedFilters> {
personId: filter.personId,
clusterId: filter.clusterId,
faceThumbnailFile: filter.faceFile,
name: filter.name(),
)
: GenericFilterChip(
label: filter.name(),