transfer_codes.dart 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import 'package:flutter/material.dart';
  2. import '../l10n/app_localizations.dart';
  3. import 'export_accounts.dart';
  4. import 'import_accounts.dart';
  5. class TransferCodesPage extends StatelessWidget {
  6. const TransferCodesPage({super.key});
  7. @override
  8. Widget build(BuildContext context) {
  9. return Scaffold(
  10. appBar: AppBar(
  11. title: Text(AppLocalizations.of(context)?.transferCodesTitle ?? 'Transfer codes'),
  12. ),
  13. body: Padding(
  14. padding: const EdgeInsets.all(24.0),
  15. child: Column(
  16. mainAxisAlignment: MainAxisAlignment.center,
  17. children: [
  18. Text(
  19. AppLocalizations.of(context)?.transferCodesDescription ?? 'Transfer your accounts to another device.',
  20. style: Theme.of(context).textTheme.titleMedium,
  21. textAlign: TextAlign.center,
  22. ),
  23. const SizedBox(height: 40),
  24. ElevatedButton.icon(
  25. icon: const Icon(Icons.upload_file, size: 32),
  26. label: Padding(
  27. padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 8.0),
  28. child: Text(
  29. AppLocalizations.of(context)?.exportAccounts ?? 'Export accounts',
  30. style: const TextStyle(fontSize: 18),
  31. ),
  32. ),
  33. style: ElevatedButton.styleFrom(
  34. minimumSize: const Size.fromHeight(60),
  35. shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
  36. ),
  37. onPressed: () {
  38. Navigator.of(context).push(
  39. MaterialPageRoute(builder: (context) => const ExportAccountsPage()),
  40. );
  41. },
  42. ),
  43. const SizedBox(height: 24),
  44. ElevatedButton.icon(
  45. icon: const Icon(Icons.download, size: 32),
  46. label: Padding(
  47. padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 8.0),
  48. child: Text(
  49. AppLocalizations.of(context)?.importAccounts ?? 'Import accounts',
  50. style: const TextStyle(fontSize: 18),
  51. ),
  52. ),
  53. style: ElevatedButton.styleFrom(
  54. minimumSize: const Size.fromHeight(60),
  55. shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
  56. ),
  57. onPressed: () {
  58. Navigator.of(context).push(
  59. MaterialPageRoute(builder: (context) => const ImportAccountsPage()),
  60. );
  61. },
  62. ),
  63. ],
  64. ),
  65. ),
  66. );
  67. }
  68. }