HyM attachments resolve: #2 #3

Merged
Juan merged 15 commits from login into main 2025-04-24 16:52:58 +00:00
2 changed files with 40 additions and 38 deletions
Showing only changes of commit ef9cb5b00d - Show all commits

View File

@ -1,59 +1,62 @@
import "package:crab_ui/structs.dart"; import "package:crab_ui/structs.dart";
import "package:flutter/material.dart"; import "package:flutter/material.dart";
import 'package:pdfrx/pdfrx.dart';
class AttachmentWidget extends StatelessWidget { class AttachmentWidget extends StatelessWidget {
final AttachmentResponse attachment; final AttachmentResponse attachment;
AttachmentWidget({required this.attachment}); AttachmentWidget({required this.attachment});
Widget attachmentViewer(AttachmentResponse att) {
String extension = att.name
.toString()
.substring(att.name.toString().indexOf(".") + 1)
.toLowerCase();
if (extension == "jpg") {
return Image.memory(att.data);
} else if (extension == "pdf") {
return PdfViewer.data(att.data, sourceName: att.name);
}
return Text(
"Attachment not supported for preview, you'll need to download",
style: TextStyle(
color: Colors.black, fontSize: 20, decoration: TextDecoration.none),
);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
color: Colors.black38, color: Colors.black38,
child: Stack( child: Stack(children: <Widget>[
// appBar: AppBar(title: Text('New Tab Content')),
children: <Widget> [
Container( Container(
color: Colors.white, color: Colors.white,
child: Padding( child: Padding(
padding: EdgeInsets.fromLTRB(10, 20, 0, 10), padding: EdgeInsets.fromLTRB(10, 20, 0, 10),
child: Row( child: Column(
children: [ children: [
CloseButton( Row(
onPressed: () => { children: [
Navigator.pop(context) CloseButton(onPressed: () => {Navigator.pop(context)}),
} Text(
), attachment.name
Text( .toString(), //its alr a string but incase ¯\()/¯
attachment.name.toString(), //its alr a string but incase ¯\()/¯ style: TextStyle(
style: TextStyle( color: Colors.black,
color: Colors.black, fontSize: 20,
fontSize: 20, decoration:
decoration: TextDecoration.none TextDecoration.none), //TODO: personalize your fonts
), //TODO: personalize your fonts ),
],
), ),
Expanded(
child: attachmentViewer(attachment),
)
], ],
), ),
), ),
), ),
Center( ]));
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(
width: 1000,
height: 600,
child: Image.memory(attachment.data),
)
],
),
),
],
),
);
} }
} }

View File

@ -309,7 +309,6 @@ class AugmentClasses {
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => AttachmentWidget(attachment: file))); builder: (context) => AttachmentWidget(attachment: file)));
})); }));
} }
return listOfFiles; return listOfFiles;