💄 Optimize cloud file sizing
This commit is contained in:
@@ -215,6 +215,7 @@ class CloudFileList extends HookConsumerWidget {
|
|||||||
}
|
}
|
||||||
if (files.length == 1) {
|
if (files.length == 1) {
|
||||||
final isImage = files.first.mimeType?.startsWith('image') ?? false;
|
final isImage = files.first.mimeType?.startsWith('image') ?? false;
|
||||||
|
final ratio = files.first.fileMeta?['ratio'] as num?;
|
||||||
final widgetItem = ClipRRect(
|
final widgetItem = ClipRRect(
|
||||||
borderRadius: const BorderRadius.all(Radius.circular(8)),
|
borderRadius: const BorderRadius.all(Radius.circular(8)),
|
||||||
child: _CloudFileListEntry(
|
child: _CloudFileListEntry(
|
||||||
@@ -242,7 +243,13 @@ class CloudFileList extends HookConsumerWidget {
|
|||||||
minWidth: minWidth ?? 0,
|
minWidth: minWidth ?? 0,
|
||||||
maxWidth: files.length == 1 ? maxWidth : double.infinity,
|
maxWidth: files.length == 1 ? maxWidth : double.infinity,
|
||||||
),
|
),
|
||||||
child: IntrinsicWidth(child: IntrinsicHeight(child: widgetItem)),
|
child:
|
||||||
|
(ratio == null && isImage)
|
||||||
|
? IntrinsicWidth(child: IntrinsicHeight(child: widgetItem))
|
||||||
|
: AspectRatio(
|
||||||
|
aspectRatio: ratio?.toDouble() ?? 1,
|
||||||
|
child: widgetItem,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -408,8 +415,6 @@ class _CloudFileListEntry extends HookConsumerWidget {
|
|||||||
final lockedByMature = file.sensitiveMarks.isNotEmpty && !showMature.value;
|
final lockedByMature = file.sensitiveMarks.isNotEmpty && !showMature.value;
|
||||||
final meta = file.fileMeta is Map ? file.fileMeta as Map : const {};
|
final meta = file.fileMeta is Map ? file.fileMeta as Map : const {};
|
||||||
|
|
||||||
final ratio = meta['ratio'] as num?;
|
|
||||||
|
|
||||||
final fit = BoxFit.cover;
|
final fit = BoxFit.cover;
|
||||||
|
|
||||||
Widget bg = const SizedBox.shrink();
|
Widget bg = const SizedBox.shrink();
|
||||||
@@ -448,9 +453,7 @@ class _CloudFileListEntry extends HookConsumerWidget {
|
|||||||
fit: fit,
|
fit: fit,
|
||||||
useInternalGate: false,
|
useInternalGate: false,
|
||||||
))
|
))
|
||||||
: IntrinsicWidth(
|
: const SizedBox.shrink();
|
||||||
child: IntrinsicHeight(child: const SizedBox.shrink()),
|
|
||||||
);
|
|
||||||
|
|
||||||
Widget overlays;
|
Widget overlays;
|
||||||
if (lockedByDS) {
|
if (lockedByDS) {
|
||||||
@@ -481,7 +484,7 @@ class _CloudFileListEntry extends HookConsumerWidget {
|
|||||||
onTap?.call();
|
onTap?.call();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: AspectRatio(aspectRatio: ratio?.toDouble() ?? 1, child: content),
|
child: content,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user