Copy to clipbaord

This commit is contained in:
Hillel Coren 2022-01-10 11:47:20 +02:00
parent e325d8be9d
commit fc99295017
2 changed files with 33 additions and 1 deletions

View File

@ -0,0 +1,31 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_styled_toast/flutter_styled_toast.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
class CopyToClipboard extends StatelessWidget {
const CopyToClipboard({
Key key,
this.value,
}) : super(key: key);
final String value;
@override
Widget build(BuildContext context) {
final localization = AppLocalization.of(context);
return InkWell(
child: Text(value),
onTap: () {
Clipboard.setData(ClipboardData(text: value));
showToast(
localization.copiedToClipboard.replaceFirst(
':value',
value.replaceAll('\n', ' '),
),
);
},
);
}
}

View File

@ -13,6 +13,7 @@ import 'package:invoiceninja_flutter/redux/ui/ui_actions.dart';
import 'package:invoiceninja_flutter/ui/app/actions_menu_button.dart';
import 'package:invoiceninja_flutter/ui/app/blank_screen.dart';
import 'package:invoiceninja_flutter/ui/app/buttons/app_text_button.dart';
import 'package:invoiceninja_flutter/ui/app/copy_to_clipboard.dart';
import 'package:invoiceninja_flutter/ui/app/presenters/entity_presenter.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:invoiceninja_flutter/utils/platforms.dart';
@ -95,7 +96,7 @@ class ViewScaffold extends StatelessWidget {
centerTitle: false,
leading: leading,
automaticallyImplyLeading: isMobile(context),
title: Text(title),
title: CopyToClipboard(value: title),
bottom: appBarBottom,
actions: entity.isNew
? []