From ea37b12b3902d8bc74e593fc0f267d8e756c06cc Mon Sep 17 00:00:00 2001 From: idubnori Date: Thu, 18 Dec 2025 19:43:31 +0900 Subject: [PATCH] refactor(mobile): simplify owner name retrieval logic in asset tile widget --- .../widgets/timeline/fixed/segment.model.dart | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/mobile/lib/presentation/widgets/timeline/fixed/segment.model.dart b/mobile/lib/presentation/widgets/timeline/fixed/segment.model.dart index ed5dc304f2..017819bde8 100644 --- a/mobile/lib/presentation/widgets/timeline/fixed/segment.model.dart +++ b/mobile/lib/presentation/widgets/timeline/fixed/segment.model.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:math' as math; import 'package:auto_route/auto_route.dart'; +import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; @@ -201,22 +202,13 @@ class _AssetTileWidget extends ConsumerWidget { if (asset case RemoteAsset remoteAsset) { final ownerId = remoteAsset.ownerId; - // If owner matches album owner if (album.ownerId == ownerId) { return album.ownerName; } - // Check shared users final sharedUsersAsync = ref.watch(remoteAlbumSharedUsersProvider(album.id)); return sharedUsersAsync.maybeWhen( - data: (sharedUsers) { - for (final user in sharedUsers) { - if (user.id == ownerId) { - return user.name; - } - } - return null; - }, + data: (sharedUsers) => sharedUsers.firstWhereOrNull((user) => user.id == ownerId)?.name, orElse: () => null, ); }