Refactor _SimpleDialogItem class

pull/596/head
X Code 3 years ago
parent a623888658
commit 97090ea2e5
  1. 33
      lib/src/utils/simple_dialog_item.dart
  2. 39
      lib/src/widgets/embeds/default_embed_builder.dart

@ -1,33 +0,0 @@
import 'package:flutter/material.dart';
class SimpleDialogItem extends StatelessWidget {
const SimpleDialogItem(
{required this.icon,
required this.color,
required this.text,
required this.onPressed,
Key? key})
: super(key: key);
final IconData icon;
final Color color;
final String text;
final VoidCallback onPressed;
@override
Widget build(BuildContext context) {
return SimpleDialogOption(
onPressed: onPressed,
child: Row(
children: [
Icon(icon, size: 36, color: color),
Padding(
padding: const EdgeInsetsDirectional.only(start: 16),
child:
Text(text, style: const TextStyle(fontWeight: FontWeight.bold)),
),
],
),
);
}
}

@ -5,7 +5,6 @@ import 'package:gallery_saver/gallery_saver.dart';
import '../../../widgets/image.dart'; import '../../../widgets/image.dart';
import '../../models/documents/nodes/leaf.dart' as leaf; import '../../models/documents/nodes/leaf.dart' as leaf;
import '../../utils/platform_helper.dart'; import '../../utils/platform_helper.dart';
import '../../utils/simple_dialog_item.dart';
import '../../utils/string_helper.dart'; import '../../utils/string_helper.dart';
import 'video_app.dart'; import 'video_app.dart';
import 'youtube_video_app.dart'; import 'youtube_video_app.dart';
@ -42,7 +41,7 @@ Widget defaultEmbedBuilder(
return image; return image;
} }
/// We provide option menu only for mobile platform excluding base64 // We provide option menu only for mobile platform excluding base64 image
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
showDialog( showDialog(
@ -54,7 +53,7 @@ Widget defaultEmbedBuilder(
borderRadius: borderRadius:
BorderRadius.all(Radius.circular(10))), BorderRadius.all(Radius.circular(10))),
children: [ children: [
SimpleDialogItem( _SimpleDialogItem(
icon: Icons.save, icon: Icons.save,
color: Colors.greenAccent, color: Colors.greenAccent,
text: 'Save', text: 'Save',
@ -66,7 +65,7 @@ Widget defaultEmbedBuilder(
content: Text('Saved')))); content: Text('Saved'))));
}, },
), ),
SimpleDialogItem( _SimpleDialogItem(
icon: Icons.zoom_in, icon: Icons.zoom_in,
color: Colors.cyanAccent, color: Colors.cyanAccent,
text: 'Zoom', text: 'Zoom',
@ -97,3 +96,35 @@ Widget defaultEmbedBuilder(
); );
} }
} }
class _SimpleDialogItem extends StatelessWidget {
const _SimpleDialogItem(
{required this.icon,
required this.color,
required this.text,
required this.onPressed,
Key? key})
: super(key: key);
final IconData icon;
final Color color;
final String text;
final VoidCallback onPressed;
@override
Widget build(BuildContext context) {
return SimpleDialogOption(
onPressed: onPressed,
child: Row(
children: [
Icon(icon, size: 36, color: color),
Padding(
padding: const EdgeInsetsDirectional.only(start: 16),
child:
Text(text, style: const TextStyle(fontWeight: FontWeight.bold)),
),
],
),
);
}
}

Loading…
Cancel
Save