ui: Remove the ThumbnailService for images
This commit is contained in:
parent
58bccc1d83
commit
1886bf7ecc
@ -1,3 +1,4 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
|
||||
@ -10,7 +11,6 @@ import 'package:moxxyv2/ui/helpers.dart';
|
||||
import 'package:moxxyv2/ui/widgets/avatar.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/chatbubble.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/media/media.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/thumbnail.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/typing.dart';
|
||||
import 'package:moxxyv2/ui/widgets/textfield.dart';
|
||||
import 'package:moxxyv2/ui/widgets/topbar.dart';
|
||||
@ -428,15 +428,11 @@ class ConversationPageState extends State<ConversationPage> {
|
||||
final query = MediaQuery.of(context);
|
||||
|
||||
if (state.backgroundPath.isNotEmpty) {
|
||||
return ImageThumbnailWidget(
|
||||
state.backgroundPath,
|
||||
(data) => Image.memory(
|
||||
data,
|
||||
fit: BoxFit.cover,
|
||||
width: query.size.width,
|
||||
height: query.size.height - query.padding.top,
|
||||
),
|
||||
showSpinner: false,
|
||||
return Image.file(
|
||||
File(state.backgroundPath),
|
||||
fit: BoxFit.cover,
|
||||
width: query.size.width,
|
||||
height: query.size.height - query.padding.top,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:mime/mime.dart';
|
||||
@ -120,9 +121,8 @@ class SendFilesPage extends StatelessWidget {
|
||||
|
||||
if (mime.startsWith('image/')) {
|
||||
// Render the image
|
||||
return ImageThumbnailWidget(
|
||||
path,
|
||||
Image.memory,
|
||||
return Image.file(
|
||||
File(path),
|
||||
);
|
||||
} else if (mime.startsWith('video/')) {
|
||||
// Render the video thumbnail
|
||||
|
@ -11,7 +11,6 @@ import 'package:moxxyv2/ui/widgets/chat/helpers.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/media/base.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/media/file.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/progress.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/thumbnail.dart';
|
||||
import 'package:open_file/open_file.dart';
|
||||
|
||||
class ImageChatWidget extends StatelessWidget {
|
||||
@ -30,10 +29,7 @@ class ImageChatWidget extends StatelessWidget {
|
||||
|
||||
Widget _buildUploading() {
|
||||
return MediaBaseChatWidget(
|
||||
ImageThumbnailWidget(
|
||||
message.mediaUrl!,
|
||||
Image.memory,
|
||||
),
|
||||
Image.file(File(message.mediaUrl!)),
|
||||
MessageBubbleBottom(message),
|
||||
radius,
|
||||
extra: ProgressWidget(id: message.id),
|
||||
@ -72,10 +68,7 @@ class ImageChatWidget extends StatelessWidget {
|
||||
/// The image exists locally
|
||||
Widget _buildImage() {
|
||||
return MediaBaseChatWidget(
|
||||
ImageThumbnailWidget(
|
||||
message.mediaUrl!,
|
||||
Image.memory,
|
||||
),
|
||||
Image.file(File(message.mediaUrl!)),
|
||||
MessageBubbleBottom(message),
|
||||
radius,
|
||||
onTap: () {
|
||||
|
@ -1,5 +1,5 @@
|
||||
import 'dart:io';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:moxxyv2/shared/helpers.dart';
|
||||
@ -85,31 +85,9 @@ Widget buildQuoteMessageWidget(Message message, { void Function()? resetQuote})
|
||||
height: 48,
|
||||
child: ClipRRect(
|
||||
borderRadius: const BorderRadius.all(Radius.circular(8)),
|
||||
child: FutureBuilder<Uint8List>(
|
||||
future: GetIt.I.get<ThumbnailCacheService>().getImageThumbnail(message.mediaUrl!),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.done) {
|
||||
if (snapshot.data != null) {
|
||||
return Image.memory(
|
||||
snapshot.data!,
|
||||
fit: BoxFit.cover,
|
||||
);
|
||||
} else {
|
||||
return const Padding(
|
||||
padding: EdgeInsets.all(32),
|
||||
child: Icon(
|
||||
Icons.error_outline,
|
||||
size: 32,
|
||||
),
|
||||
);
|
||||
}
|
||||
} else {
|
||||
return const CircularProgressIndicator();
|
||||
}
|
||||
},
|
||||
),
|
||||
child: Image.file(File(message.mediaUrl!)),
|
||||
),
|
||||
)
|
||||
),
|
||||
],
|
||||
),
|
||||
resetQuotedMessage: resetQuote,
|
||||
|
@ -1,7 +1,5 @@
|
||||
import 'dart:typed_data';
|
||||
import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:moxxyv2/ui/service/thumbnail.dart';
|
||||
import 'package:moxxyv2/ui/widgets/chat/shared/base.dart';
|
||||
|
||||
class SharedImageWidget extends StatelessWidget {
|
||||
@ -15,32 +13,20 @@ class SharedImageWidget extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SharedMediaContainer(
|
||||
FutureBuilder<Uint8List>(
|
||||
future: GetIt.I.get<ThumbnailCacheService>().getImageThumbnail(path),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.done) {
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
border: borderColor != null ? Border.all(
|
||||
color: borderColor!,
|
||||
width: 4,
|
||||
) : null,
|
||||
image: DecorationImage(
|
||||
fit: BoxFit.cover,
|
||||
image: MemoryImage(snapshot.data!),
|
||||
),
|
||||
),
|
||||
clipBehavior: Clip.hardEdge,
|
||||
child: child,
|
||||
);
|
||||
} else {
|
||||
return const Padding(
|
||||
padding: EdgeInsets.all(32),
|
||||
child: CircularProgressIndicator(),
|
||||
);
|
||||
}
|
||||
},
|
||||
Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
border: borderColor != null ? Border.all(
|
||||
color: borderColor!,
|
||||
width: 4,
|
||||
) : null,
|
||||
image: DecorationImage(
|
||||
fit: BoxFit.cover,
|
||||
image: FileImage(File(path)),
|
||||
),
|
||||
),
|
||||
clipBehavior: Clip.hardEdge,
|
||||
child: child,
|
||||
),
|
||||
onTap: onTap,
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user