mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-13 09:20:31 -07:00
feature: Details screen rework (#190)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
473e817e0f
commit
d2138da785
21 changed files with 462 additions and 394 deletions
|
|
@ -10,15 +10,19 @@ import 'package:fladder/providers/settings/client_settings_provider.dart';
|
|||
class FladderImage extends ConsumerWidget {
|
||||
final ImageData? image;
|
||||
final Widget Function(BuildContext context, Widget child, int? frame, bool wasSynchronouslyLoaded)? frameBuilder;
|
||||
final Widget Function(BuildContext context, Object object, StackTrace? stack)? imageErrorBuilder;
|
||||
final Widget? placeHolder;
|
||||
final BoxFit fit;
|
||||
final AlignmentGeometry? alignment;
|
||||
final bool enableBlur;
|
||||
final bool blurOnly;
|
||||
const FladderImage({
|
||||
required this.image,
|
||||
this.frameBuilder,
|
||||
this.imageErrorBuilder,
|
||||
this.placeHolder,
|
||||
this.fit = BoxFit.cover,
|
||||
this.alignment,
|
||||
this.enableBlur = false,
|
||||
this.blurOnly = false,
|
||||
super.key,
|
||||
|
|
@ -50,7 +54,9 @@ class FladderImage extends ConsumerWidget {
|
|||
fit: fit,
|
||||
placeholderFit: fit,
|
||||
excludeFromSemantics: true,
|
||||
alignment: alignment ?? Alignment.center,
|
||||
filterQuality: FilterQuality.high,
|
||||
imageErrorBuilder: imageErrorBuilder,
|
||||
placeholderFilterQuality: FilterQuality.low,
|
||||
image: newImage.imageProvider,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ extension DurationExtensions on Duration? {
|
|||
final duration = this!;
|
||||
final hours = duration.inHours != 0 ? '${duration.inHours.toString()}h' : null;
|
||||
final minutes = duration.inMinutes % 60 != 0 ? '${duration.inMinutes % 60}m'.padLeft(3, '0') : null;
|
||||
final seconds = duration.inHours == 0 ? '${duration.inSeconds % 60}s'.padLeft(3, '0') : null;
|
||||
final seconds = duration.inSeconds % 60 != 0 ? '${duration.inSeconds % 60}s'.padLeft(3, '0') : null;
|
||||
final result = [hours, minutes, seconds].whereNotNull().map((e) => e).join(' ');
|
||||
return result.isNotEmpty ? result : null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ extension StringExtensions on String {
|
|||
}
|
||||
|
||||
String maxLength({int limitTo = 75}) {
|
||||
if (isEmpty) return this;
|
||||
if (length > limitTo) {
|
||||
return "${substring(0, limitTo.clamp(0, length))}...";
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue