Skip to content

Commit

Permalink
fixup! TW-1902 added image preview in chat_list
Browse files Browse the repository at this point in the history
  • Loading branch information
KhaledNjim committed Aug 23, 2024
1 parent 393610c commit 58187ed
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import 'package:flutter/material.dart';

class SubtitleImagePreviewStyle {
static const double width = 20;
static const double height = 20;
static const double borderRadius = 4;
static const BoxFit fit = BoxFit.fill;
static const EdgeInsets labelPadding = EdgeInsets.only(left: 5);
}
36 changes: 22 additions & 14 deletions lib/presentation/mixins/chat_list_item_mixin.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:fluffychat/pages/chat/events/images_builder/image_placeholder.dart';
import 'package:fluffychat/presentation/decorators/chat_list/subtitle_image_preview_style.dart';
import 'package:fluffychat/presentation/decorators/chat_list/subtitle_text_style_decorator/subtitle_text_style_view.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/event_extension.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
Expand Down Expand Up @@ -160,24 +162,30 @@ mixin ChatListItemMixin {
return Row(
children: [
if (room.lastEvent?.status != EventStatus.synced)
const SizedBox(
width: 20,
height: 20,
child: CircularProgressIndicator(),
)
const SizedBox.shrink()
else
ClipRRect(
borderRadius: BorderRadius.circular(4),
child: MxcImage(
uri: room.lastEvent?.attachmentMxcUrl,
placeholder: (BuildContext context) => const SizedBox.shrink(),
width: 20,
height: 20,
fit: BoxFit.fill,
SizedBox(
height: SubtitleImagePreviewStyle.height,
width: SubtitleImagePreviewStyle.width,
child: ClipRRect(
borderRadius:
BorderRadius.circular(SubtitleImagePreviewStyle.borderRadius),
child: MxcImage(
key: ValueKey(room.lastEvent!.eventId),
cacheKey: room.lastEvent!.eventId,
event: room.lastEvent!,
placeholder: (context) => ImagePlaceholder(
event: room.lastEvent!,
width: SubtitleImagePreviewStyle.width,
height: SubtitleImagePreviewStyle.height,
fit: SubtitleImagePreviewStyle.fit,
),
fit: SubtitleImagePreviewStyle.fit,
),
),
),
Padding(
padding: const EdgeInsets.only(left: 5.0),
padding: SubtitleImagePreviewStyle.labelPadding,
child: Text(
L10n.of(context)!.photo,
style: LinagoraTextStyle.material()
Expand Down

0 comments on commit 58187ed

Please sign in to comment.