mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
Merge d766878a52 into cc1cd299f3
This commit is contained in:
commit
0a3a2b038c
2 changed files with 43 additions and 16 deletions
|
|
@ -34,8 +34,6 @@ class _DriftActivityTextFieldState extends ConsumerState<DriftActivityTextField>
|
|||
inputController = TextEditingController();
|
||||
inputFocusNode = FocusNode();
|
||||
|
||||
inputFocusNode.requestFocus();
|
||||
|
||||
inputFocusNode.addListener(() {
|
||||
if (inputFocusNode.hasFocus) {
|
||||
widget.onKeyboardFocus?.call();
|
||||
|
|
|
|||
|
|
@ -1,10 +1,17 @@
|
|||
import 'package:auto_route/auto_route.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:immich_mobile/entities/store.entity.dart';
|
||||
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
||||
import 'package:immich_mobile/extensions/datetime_extensions.dart';
|
||||
import 'package:immich_mobile/models/activities/activity.model.dart';
|
||||
import 'package:immich_mobile/providers/image/immich_remote_thumbnail_provider.dart';
|
||||
import 'package:immich_mobile/presentation/widgets/asset_viewer/asset_viewer.page.dart';
|
||||
import 'package:immich_mobile/providers/asset_viewer/current_asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/image/immich_remote_thumbnail_provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/asset_viewer/current_asset.provider.dart';
|
||||
import 'package:immich_mobile/providers/infrastructure/timeline.provider.dart';
|
||||
import 'package:immich_mobile/routing/router.dart';
|
||||
import 'package:immich_mobile/widgets/common/user_circle_avatar.dart';
|
||||
|
||||
class ActivityTile extends HookConsumerWidget {
|
||||
|
|
@ -14,11 +21,17 @@ class ActivityTile extends HookConsumerWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final asset = ref.watch(currentAssetProvider);
|
||||
final isLike = activity.type == ActivityType.like;
|
||||
// Asset thumbnail is displayed when we are accessing activities from the album page
|
||||
// currentAssetProvider will not be set until we open the gallery viewer
|
||||
final showAssetThumbnail = asset == null && activity.assetId != null;
|
||||
bool showAssetThumbnail = false;
|
||||
if (Store.isBetaTimelineEnabled) {
|
||||
final asset = ref.watch(currentAssetNotifier);
|
||||
showAssetThumbnail = asset == null && activity.assetId != null;
|
||||
} else {
|
||||
final asset = ref.watch(currentAssetProvider);
|
||||
showAssetThumbnail = asset == null && activity.assetId != null;
|
||||
}
|
||||
|
||||
return ListTile(
|
||||
minVerticalPadding: 15,
|
||||
|
|
@ -73,24 +86,40 @@ class _ActivityTitle extends StatelessWidget {
|
|||
}
|
||||
}
|
||||
|
||||
class _ActivityAssetThumbnail extends StatelessWidget {
|
||||
class _ActivityAssetThumbnail extends ConsumerWidget {
|
||||
final String assetId;
|
||||
|
||||
const _ActivityAssetThumbnail(this.assetId);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
width: 40,
|
||||
height: 30,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: const BorderRadius.all(Radius.circular(4)),
|
||||
image: DecorationImage(
|
||||
image: ImmichRemoteThumbnailProvider(assetId: assetId),
|
||||
fit: BoxFit.cover,
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
Future<void> onAssetTapped() async {
|
||||
final asset = await ref.read(assetServiceProvider).getRemoteAsset(assetId);
|
||||
if (asset == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: remove this check when old timeline is removed
|
||||
if (Store.isBetaTimelineEnabled) {
|
||||
AssetViewer.setAsset(ref, asset);
|
||||
final timelineService = ref.read(timelineFactoryProvider).fromAssets([asset]);
|
||||
context.pushRoute(AssetViewerRoute(initialIndex: 0, timelineService: timelineService));
|
||||
}
|
||||
}
|
||||
|
||||
return GestureDetector(
|
||||
onTap: onAssetTapped,
|
||||
child: Container(
|
||||
width: 40,
|
||||
height: 30,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: const BorderRadius.all(Radius.circular(4)),
|
||||
image: DecorationImage(
|
||||
image: ImmichRemoteThumbnailProvider(assetId: assetId),
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
),
|
||||
child: const SizedBox.shrink(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue