mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
refactor(mobile): image thumbnails (#19821)
* image thumbnail refactor * minor const-ification in new thumbnail tile * underscore helper classes --------- Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
parent
a918481c0b
commit
fd48a33686
6 changed files with 317 additions and 228 deletions
|
|
@ -1,15 +1,5 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
@pragma('vm:prefer-inline')
|
||||
String _formatDuration(Duration position) {
|
||||
final seconds = position.inSeconds.remainder(60).toString().padLeft(2, "0");
|
||||
final minutes = position.inMinutes.remainder(60).toString().padLeft(2, "0");
|
||||
if (position.inHours == 0) {
|
||||
return "$minutes:$seconds";
|
||||
}
|
||||
final hours = position.inHours.toString().padLeft(2, '0');
|
||||
return "$hours:$minutes:$seconds";
|
||||
}
|
||||
import 'package:immich_mobile/extensions/duration_extensions.dart';
|
||||
|
||||
class FormattedDuration extends StatelessWidget {
|
||||
final Duration data;
|
||||
|
|
@ -20,7 +10,7 @@ class FormattedDuration extends StatelessWidget {
|
|||
return SizedBox(
|
||||
width: data.inHours > 0 ? 70 : 60, // use a fixed width to prevent jitter
|
||||
child: Text(
|
||||
_formatDuration(data),
|
||||
data.format(),
|
||||
style: const TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.white,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue