feat(mobile): more info for asset viewer

pull/24630/head
Alex 2025-12-16 14:28:13 -06:00
parent f0b069adb9
commit 92f8ffe722
No known key found for this signature in database
GPG Key ID: 53CD082B3A5E1082
1 changed files with 24 additions and 0 deletions

View File

@ -1,4 +1,5 @@
import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/enums.dart';
@ -77,6 +78,8 @@ class ViewerTopAppBar extends ConsumerWidget implements PreferredSizeWidget {
child: AppBar(
backgroundColor: isShowingSheet ? Colors.transparent : Colors.black.withAlpha(125),
leading: const _AppBarBackButton(),
centerTitle: true,
title: isShowingSheet ? null : _AssetInfoTitle(asset: asset),
iconTheme: const IconThemeData(size: 22, color: Colors.white),
actionsIconTheme: const IconThemeData(size: 22, color: Colors.white),
shape: const Border(),
@ -120,3 +123,24 @@ class _AppBarBackButton extends ConsumerWidget {
);
}
}
class _AssetInfoTitle extends StatelessWidget {
final BaseAsset asset;
const _AssetInfoTitle({required this.asset});
@override
Widget build(BuildContext context) {
final dateTime = asset.createdAt.toLocal();
final dateFormatted = DateFormat.yMMMd().format(dateTime);
final timeFormatted = DateFormat.jm().format(dateTime);
return Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(dateFormatted, style: context.textTheme.bodyMedium?.copyWith(color: Colors.white)),
Text(timeFormatted, style: context.textTheme.labelMedium?.copyWith(color: Colors.white70)),
],
);
}
}