mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
add save as dialog for seed on desktop (#2753)
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/src/widgets/seedphrase_grid_widget.dart';
|
||||
import 'package:cake_wallet/src/widgets/warning_box_widget.dart';
|
||||
import 'package:cake_wallet/utils/clipboard_util.dart';
|
||||
import 'package:cake_wallet/utils/share_util.dart';
|
||||
import 'package:cake_wallet/utils/show_bar.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import "package:file_picker/file_picker.dart";
|
||||
import 'package:flutter_mobx/flutter_mobx.dart';
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
||||
@@ -104,10 +108,7 @@ class WalletSeedPage extends BasePage {
|
||||
child: PrimaryButton(
|
||||
key: ValueKey('wallet_seed_page_save_seeds_button_key'),
|
||||
onPressed: () {
|
||||
ShareUtil.share(
|
||||
text: walletSeedViewModel.seed,
|
||||
context: context,
|
||||
);
|
||||
_shareSeed(context);
|
||||
},
|
||||
text: S.of(context).save,
|
||||
color: Theme.of(context).colorScheme.surfaceContainer,
|
||||
@@ -139,4 +140,29 @@ class WalletSeedPage extends BasePage {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _shareSeed(BuildContext context) async {
|
||||
switch(defaultTargetPlatform) {
|
||||
case TargetPlatform.android:
|
||||
case TargetPlatform.iOS:
|
||||
ShareUtil.share(
|
||||
text: walletSeedViewModel.seed,
|
||||
context: context,
|
||||
);
|
||||
break;
|
||||
case TargetPlatform.macOS:
|
||||
case TargetPlatform.windows:
|
||||
case TargetPlatform.linux:
|
||||
final path = await FilePicker.platform.saveFile(
|
||||
dialogTitle: "Save seed as",
|
||||
fileName: "${walletSeedViewModel.name}-seed.txt",
|
||||
);
|
||||
if(path != null) {
|
||||
final file = File(path);
|
||||
await file.writeAsString(walletSeedViewModel.seed);
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user