Skip to content

Conversation

@karlbuys
Copy link
Contributor

@karlbuys karlbuys commented Jan 7, 2026

Issue Number: MVP for #CW-888 (This should only be considered a draft, NOT a candidate for inclusion in main)

Description

The final commit makes massive changes and refactoring to bring the visual presentation and options in line with what has been discussed.

This should strictly be considered a first draft. There is so much I still want to clean up, and as yet, I've only tested this commit on Android, as I don't have the other environments set up at present.

To confirm Android, I used adb shell to browse to the Downloads folder and confirmed that the files were indeed there.

I've also verified that everything is formatted correctly, that timestamp formats match as well.

Unfortunately, there are some changes I'll need to go make to address problems with data populating as "N/A" for other coins, but I don't foresee that taking long.

Lastly, now that it works, as much logic as possible should be pulled out of dashboard_view_model.dart. I need to review what gets injected into the header_row widget properly and address this as necessary. Then clean it all up.

Pull Request - Checklist

  • [Y] Initial Manual Tests Passed
  • [Y] Double check modified code and verify it with the feature/task requirements
  • [Y] Format code
  • [Needs work] Look for code duplication
  • Clear naming for variables and methods
  • Manual tests in accessibility mode (TalkBack on Android) passed

Creates a slightly different widget called export_options_widget.dart, designed to allow for cross-platform invocation of relevant export functions depending on platform
This is a first draft generic transaction data formatter. This isn't complete, it's still lacking swap data. It should hopefully work across different currencies though. Not meant for testing
This commit makes massive changes and refactoring to bring the visual presentation and options in line with what has been discussed.

This should strictly be considered a first draft. There is so much I still want to clean up, and as yet, I've only tested this commit on Android, as I don't have the other environments set up at present.

To confirm Android, I used adb shell to browse to the Downloads folder and confirmed that the files were indeed there.

I've also verified that everything is formatted correctly, that timestamp formats match as well.

Unfortunately, there are some changes I'll need to go make to address problems with data populating as "N/A" for other coins, but I don't foresee that taking long.

Lastly, now that it works, as much logic as possible should be pulled out of dashboard_view_model.dart. I need to review what gets injected into the header_row widget properly and address this as necessary. Then clean it all up.
@karlbuys karlbuys requested a review from OmarHatem28 January 7, 2026 20:25
This commit concludes the refactoring I wished to do. I have tested the code on Android. Please focus on testing this functionality on a wide range of different wallet types. I have confirmed that the functionality for Android works as expected for Monero.

To perform an export, you will see a new button on the history page next to the "Filter by" button. This button has a floppy disk icon.

Please note that the expected output you should see is a unified file. First, you'll see an export of all your transactions in CSV format. After that, underneath the transactions, you'll see a new heading listing swap details, followed by all swaps performed in that wallet.

The export is specific to the active wallet you have open, and only exports that wallet's information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants