fix(generic-fixes): Wallet Grouping Bug

Add ability to export hash change logs
This commit is contained in:
Blazebrain 2025-05-08 05:37:29 +01:00 committed by Czarek Nakamoto
parent 7d9f9400f0
commit e457481108
2 changed files with 31 additions and 9 deletions

View file

@ -36,7 +36,7 @@ import 'package:cake_wallet/src/screens/dashboard/pages/address_page.dart';
import 'package:cake_wallet/src/screens/dashboard/pages/nft_details_page.dart';
import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart';
import 'package:cake_wallet/src/screens/dashboard/sign_page.dart';
import 'package:cake_wallet/src/screens/dev/hash_change_log.dart';
import 'package:cake_wallet/src/screens/dev/hash_change_logs_page.dart';
import 'package:cake_wallet/src/screens/dev/monero_background_sync.dart';
import 'package:cake_wallet/src/screens/dev/moneroc_call_profiler.dart';
import 'package:cake_wallet/src/screens/dev/secure_preferences_page.dart';
@ -922,7 +922,7 @@ Route<dynamic> createRoute(RouteSettings settings) {
);
case Routes.devHashChangeLogs:
return MaterialPageRoute<void>(builder: (_) => HashChangeLogViewerPage());
return MaterialPageRoute<void>(builder: (_) => HashChangeLogsPage());
default:
return MaterialPageRoute<void>(

View file

@ -1,14 +1,36 @@
import 'dart:io';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/utils/share_util.dart';
import 'package:flutter/material.dart';
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart' as p;
class HashChangeLogViewerPage extends StatelessWidget {
const HashChangeLogViewerPage({super.key});
class HashChangeLogsPage extends BasePage {
@override
String? get title => "[dev] hash change logs";
Future<String?> loadHashLog() async {
@override
Widget? trailing(BuildContext context) {
return IconButton(
icon: Icon(Icons.download, size: 20),
onPressed: () => _shareLog(context),
);
}
Future<void> _shareLog(BuildContext context) async {
final dir = await getApplicationDocumentsDirectory();
final file = File('${dir.path}/hashed_identifier_changes.log');
if (await file.exists()) {
await ShareUtil.shareFile(
filePath: file.path,
fileName: 'Hash-change log',
context: context,
);
}
}
Future<String?> _loadHashLog() async {
final dir = await getApplicationDocumentsDirectory();
final file = File(p.join(dir.path, 'hashed_identifier_changes.log'));
if (!await file.exists()) return null;
@ -16,11 +38,11 @@ class HashChangeLogViewerPage extends StatelessWidget {
}
@override
Widget build(BuildContext context) {
Widget body(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Hash Change Log')),
body: FutureBuilder<String?>(
future: loadHashLog(),
future: _loadHashLog(),
builder: (context, snap) {
if (snap.connectionState != ConnectionState.done) {
return Center(child: CircularProgressIndicator());
@ -33,7 +55,7 @@ class HashChangeLogViewerPage extends StatelessWidget {
padding: EdgeInsets.all(16),
child: Text(
text,
style: TextStyle(fontFamily: 'monospace', fontSize: 12),
style: TextStyle(fontFamily: 'monospace', fontSize: 14),
),
);
},