* Add theme base v2
* Initial new theme base files
* Typos
* Fixes
* Update theme files
* feat: Migrate to Material 3 Theming
Foundation, Theme Data Refactor, and First Extension Cleanup Batch.
This commit completes the first major phase of migrating to Material 3 theming by setting up the foundations for material 3 integration and begins the initial migration, removing custom theme extensions, updating theme data, and refactoring all relevant widget and page theming to use Material 3’s built-in color and typography tokens.
These changes:
- Lays the groundwork for Material 3 theming by restructuring the app’s theme configuration to use Material 3’s ColorScheme and TextTheme as the primary sources of color and typography throughout the app.
- Refactors the core theme config files by removing legacy custom color roles ensuring all color definitions now map directly to Material 3’s role.
- Begins the first batch migration of custom theme extensions (InfoTheme, PlaceholderTheme, KeyboardTheme, PinCodeTheme) and updates all affected widgets and pages to use Material 3 color and typography tokens instead of the custom properties.
- Cleans up the codebase by deleting the files of the initial set of migrated extensions and eliminating all related imports and usages.
* feat: Migrate to Material 3 Theming.
This change:
- Updates the themes README.md file to reflect the current structure and give more information based on the first major phase that was completed.
* feat: Migrate to Material 3 Theming
Deleting previous theme extensions
* feat: Migrate to Material 3 Theming
Another batch of migrations from existing extensions
* feat: Migration to Material 3 Theming
Third Migration batch for theme extensions
* fwat: Migration to Material 3 Theming
Final Migration batch for previous theme extensions
* Update onboarding hero
* Update button radius
* Add surfaceContainer to light theme
* feat(themes): Migrate to Material 3 Theming
This change:
- Adds new set of hero images
- Modifies the core structure for the themes
- Add missing color tokens to the theme classes
- Adds a CustomThemeColor class for custom color tokens
- Modifies the themelist to have a fall back for previous theme implementation
- Adds localization for some texts
- Modifies the flow for loading the theme on app start
- Add a WidgetsBindingObserver that listens for changes in the device theme and updates the app theme when there is a change
- Registers the themeStore as a Singleton for codebase wide use
* feat(themes): Migrate to Material 3 theming
This change:
- Migrates UI flows across the app to the new themes
- Confirms styling and typography of components across the app uses the new themes
- Remove instances of Palette use
- Switch TextStyles across the app to use theme text styles
* feat(themes): Migrate to Material 3 Theming.
This change:
- Adjusts bottomsheets styling and removes duplicate close button
- Removes more themedata extensions from the previous implementation
* - Remove outlines from cards and dock
- Update menu colors
- Update padding/divider size for cards
* - Update PIN screen
- Fix navigation dock shadow
- Update wallet screen colors
* Update border radius --skip-ci
* feat(themes): Migrate to Material 3 Theming.
This change:
- Adds gradient backgrounds to the dashbaord and balance cards.
- Migrates the input fields across the app to BaseTextFormFields.
- Removes dependence of input fields on individual styling, focusing instead on using theme defined InputDecoration styling with adjustments on individual components where needed.
- Applies new theme styling to BaseTextFormField, AddressTextField and CurrencyAmountTextField.
* - Switch some hero images to PNG
- Fix nagivation_dock shadow
- Minor fixes
* feat: Add fallback to previous underline styling in central widgets
This change:
- Adds a fallback to CurrencyAmountTextField, AddressTextField, and BaseTextFormField, allowing them use the previous theme styling.
- Adds localization for new texts
* feat(themes): Update warning box colors for dark and light themes
* feat(themes): Relaod themes when user restores from backup, ensuring the user previous theme preference is used.
* feat(themes): Handle themes logic during restore from backup
This change:
- Refactors theme loading logic to handle backup restore edgecase
- Refreshes the theme based on the user saved preference during restore from backup flow
* Fix card gradients and spacing
* Fix even more radiuses
Test new icons for navigation_dock.dart
* Update onboarding flow backgrounds
Fix swap icon clipping
Fix some text colors
Add more hero images
* Fix incorrect color for light theme
* Fix more hero images and cleanup
* Update text field icons
Fix info box CTA colors
Fix sync indicator colors
* Update toggle colors
Update dark theme colors (minor)
Update crypto_balance_widget.dart icon
* Update page transitions in router.dart
Fix some colors
* feat(themes): Display label by default for filled textfields
* feat(themes): Refactor theme handling across various components
This change:
- Fixes issue with themeMode resetting to system mode when app is restarted causing a UI glitch
- Updates theme checks from `currentTheme.type == ThemeType.dark` to `currentTheme.isDark` for consistency
- Adjusts UI components to use the theme directly from the themeStore
* feat(themes): Add animating tagline to the create pin welcome screen
* Revert text fields label temporarily, fix a couple colors, and cleanup some images
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
* feat: Integration tests setup and tests for Disclaimer, Welcome and Setup Pin Code pages
* feat: Integration test flow from start to restoring a wallet successfully done
* test: Dashboard view test and linking to flow
* feat: Testing the Exchange flow section, selecting sending and receiving currencies
* test: Successfully create an exchange section
* feat: Implement flow up to sending section
* test: Complete Exchange flow
* fix dependency issue
* test: Final cleanups
* feat: Add CI to run automated integration tests withan android emulator
* feat: Adjust Automated integration test CI to run on ubuntu 20.04-a
* fix: Move integration test CI into PR test build CI
* ci: Add automated test ci which is a streamlined replica of pr test build ci
* ci: Re-add step to access branch name
* ci: Add KVM
* ci: Add filepath to trigger the test run from
* ci: Add required key
* ci: Add required key
* ci: Add missing secret key
* ci: Add missing secret key
* ci: Add nano secrets to workflow
* ci: Switch step to free space on runner
* ci: Remove timeout from workflow
* ci: Confirm impact that removing copy_monero_deps would have on entire workflow time
* ci: Update CI and temporarily remove cache related to emulator
* ci: Remove dynamic java version
* ci: Temporarily switch CI
* ci: Switch to 11.x jdk
* ci: Temporarily switch CI
* ci: Revert ubuntu version
* ci: Add more api levels
* ci: Add more target options
* ci: Settled on stable emulator matrix options
* ci: Add more target options
* ci: Modify flow
* ci: Streamline api levels to 28 and 29
* ci: One more trial
* ci: Switch to flutter drive
* ci: Reduce options
* ci: Remove haven from test
* ci: Check for solana in list
* ci: Adjust amounts and currencies for exchange flow
* ci: Set write response on failure to true
* ci: Split ci to funds and non funds related tests
* test: Test for Send flow scenario and minor restructuring for test folders and files
* chore: cleanup
* ci: Pause CI for now
* ci: Pause CI for now
* ci: Pause CI for now
* test: Restore wallets integration automated tests
* Fix: Add keys back to currency amount textfield widget
* fix: Switch variable name
* fix: remove automation for now
* tests: Automated tests for Create wallets flow
* tests: Further optimize common flows
* tests: Add missing await for call
* tests: Confirm Seeds Display Properly WIP
* tests: Confirm Seeds Display Correctly Automated Tests
* fix: Add missing pubspec params for bitcoin and bitcoin_cash
* feat: Automated Tests for Transaction History Flow
* fix: Add missing pubspec parameter
* feat: Automated Integration Tests for Transaction History flow
* test: Updating send page robot and also syncing branch with main
* test: Modifying tests to flow with wallet grouping implementation
* fix: Issue with transaction history test
* fix: Modifications to the PR and add automated confirmation for checking that all wallet types are restored or created correctly
* test: Attempting automation for testing
* fix: Issue from merge conflicts
* test: Remove automation of test in this PR
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* Run Monero Synchronization task in background on Android
* Add monero sync task in the load function to be registered/cancelled when user changes wallets
* Revert unused file changes
* Register Sync task on all monero wallets if any
* Add Sync Modes and change task frequency based on user's choice
* Register background task after current wallet is set
* Add Sync All toggle and change task wallets to sync accordingly
* Enable background notifications in release mode temporarily
* Disable constraints and increase the frequency of tasks
* Decrease frequency of background tasks
* Delay the background task thread till the syncing thread finish (Dummy Trial-1)
* Start Sync process and wait for it to finish
* Wait for synchronization to finish before ending the background thread
Add 10 minutes timeout duration for sync process
* Connect to node before syncing wallet
* replace testing configuration with the configurations agreed on
* Fix Conflicts with main
* Update and Migrate Background tasks to null safety
* Update workmanager version in pubspec_base also
* Move Sync options to Connection and sync page
Show Sync options only for Monero and Haven
Minor Enhancements
* Remove debugging notifications
Revert aggressive mode frequency to 6 hours [skip ci]
* Add iOS configs
* Revert debugging changes
Fix conflicts with main
* Add/Extract Sync configurations to/from backup file [skip ci]
* Add initial flow for ethereum
* Add initial create Eth wallet flow
* Complete Ethereum wallet creation flow
* Fix web3dart versioning issue
* Add primary receive address extracted from private key
* Implement open wallet functionality
* Implement restore wallet from seed functionality
* Fixate web3dart version as higher versions cause some issues
* Add Initial Transaction priorities for eth
Add estimated gas price
* Rename priority value to tip
* Re-order wallet types
* Change ethereum node
Fix connection issues
* Fix estimating gas for priority
* Add case for ethereum to fetch it's seeds
* Add case for ethereum to request node
* Fix Exchange screen initial pairs
* Add initial send transaction flow
* Add missing configure for ethereum class
* Add Eth address initial setup
* Fix Private key for Ethereum wallets
* Change sign/send transaction flow
* - Fix Conflicts with main
- Remove unused function from Haven configure.dart
* Add build command for ethereum package
* Add missing Node list file to pubspec
* - Fix balance display
- Fix parsing of Ethereum amount
- Add more Ethereum Nodes
* - Fix extracting Ethereum Private key from seeds
- Integrate signing/sending transaction with the send view model
* - Update and Fix Conflicts with main
* Add Balances for ERC20 tokens
* Fix conflicts with main
* Add erc20 abi json
* Add send erc20 tokens initial function
* add missing getHeightByDate in Haven
* Allow contacts and wallets from the same tag
* Add Shiba Inu icon
* Add send ERC-20 tokens initial flow
* Add missing import in generated file
* Add initial approach for transaction sending for ERC-20 tokens
* Refactor signing/sending transactions
* Add initial flow for transactions subscription
* Refactor signing/sending transactions
* Add home settings icon
* Fix conflicts with main
* Initial flow for home settings
* Add logic flow for adding erc20 tokens
* Fix initial UI
* Finalize UI for Tokens
* Integrate UI with Ethereum flow
* Add "Enable/Disable" feature for ERC20 tokens
* Add initial Erc20 tokens
* Add Sorting and Pin Native Token features
* Fix price sorting
* Sort tokens list as well when Sort criteria changes
* - Improve sorting balances flow
- Add initial add token from search bar flow
* Fix Accounts Popup UI
* Fix Pin native token
* Fix Enabling/Disabling tokens
Fix sorting by fiat once app is opened
Improve token availability mechanism
* Fix deleting token
Fix renaming tokens
* Fix issue with search
* Add more tokens
* - Fix scroll issue
- Add ERC20 tokens placeholder image in picker
* - Separate and organize default erc20 tokens
- Fix scrolling
- Add token placeholder images in picker
- Sort disabled tokens alphabetically
* Change BNB token initial availability
* Fix Conflicts with main
* Fix Conflicts with main
* Add Verse ERC20 token to the initial tokens list
* Add rename wallet to Ethereum
* Integrate EtherScan API for fetching address transactions
Generate Ethereum specific secrets in Ethereum package
* Adjust transactions fiat price for ERC20 tokens
* Free Up GitHub Actions Ubuntu Runner Disk Space
* Free Up GitHub Actions Ubuntu Runner Disk space (trial 2)
* Fix Transaction Fee display
* Save transaction history
* Enhance loading time for erc20 tokens transactions
* Minor Fixes and Enhancements
* Fix sending erc20
fix block explorer issue
* Fix int overflow
* Fix transaction amount conversions
* Minor: `slow` -> `Slow`
* Update build guide
* Fix fetching fiat rate taking a lot of time by only fetching enabled tokens only and making the API calls in parallel not sequential
* Update transactions on a periodic basis
* For fee, use ETH spot price, not ERC-20 spot price
* Add Etherscan History privacy option to enable/disable Etherscan API
* Show estimated fee amounts in the send screen
* fix send fiat fields parsing issue
* Fix transactions estimated fee less than actual fee
* handle balance sorting when balance is disabled
Handle empty transactions list
* Fix Delete Ethereum wallet
Fix balance < 0.01
* Fix Decimal place for Ethereum amount
Fix sending amount issue
* Change words count
* Remove balance hint and Full balance row from Ethereum wallets
* support changing the asset type in send templates
* Fix Templates for ERC tokens issues
* Fix conflicts in send templates
* Disable batch sending in Ethereum
* Fix Fee calculation with different priorities
* Fix Conflicts with main
* Add offline error to ignored exceptions
---------
Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
* feat: Replace trash and swipe with edit icons on node list item
- replaces yellow Test button with red Delete node button with confirmation on the edit node page
* feat: make node indicator icons bigger (figma comment)
* feat: Replace trash and swipe with edit icons on wallet list page and create wallet_edit_page.dart
* fix: make delete buttons red
* fix: make wallet name wrap when it is too long
* refactor: improve logic & fix observer not refreshing
* fix: add string
* feat: remove the confirmation pop-up for switching between wallets
- which was another item on the jira issue
* fix: remove slideable widgets from node list
* feat: add edit button to currently selected node & disable deleting if selected
* fix: rename wallet also renames to new wallet files
* feat: make sure edits can't overlap existing names
* fix: improve rename flow, fix electrum transactions refresh & add delete old logic
* fix: also fix rename for monero & haven
* refactor: fix identations
* refactor: dont declare the current wallet twice
* refactor: missing newWalletInfo.id
* fix: dont unnecessarily load the current wallet
* fix: remove unnecessary reaction
* feat: make save button disabled until the text is changed
* feat: make walletEditViewModel and make state useful for pending actions
* fix: add back reaction for desktop flow
* - Remove un-necessary code
- Format Edit page
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* refactor(Theme): migrate accentColor
- based on the specs at https://docs.flutter.dev/release/breaking-changes/theme-data-accent-properties#migration-guide.
* refactor(Theme): all deprecated TextTheme styles
* refactor(Theme): deprecated backgroundColor for colorScheme.background
* refactor(Theme): deprecated buttonColor to use TextTheme backgroundColor instead
* refactor(Theme): deprecated isAlwaysShown to use thumbVisibility instead
* create standart list card item
* create standart list status item
* update localization
* fix date format
* fix theme gradient
* PR comments
* fix issues from code review