* 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>
* improve exception throwing on broken wallets
- put _lastOpenedWallet to avoid issues on windows (file is currently open by)
- don't throw corruptedWalletsSeed - instead store it inside of secureStorage
- await ExceptionHandler.onError calls where possible to makse sure that popup won't be canceled by some UI element
- adjust BaseAlertDialog to be scrollable if the text is too long
- add ExceptionHandler.resetLastPopupDate - that can be called when we want to show error report screen (bypassing cooldown)
* fix: HiveError: Box has already been closed.
* await the alerts to be sure that each one of them is being shown
fix typo in secure storage
* Update lib/core/backup_service.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* address comments on github
* don't store seeds in secure storage
* fix wallet password
* update monero_c
update corrupted seeds UI
prevent app from crashing when wallet is corrupted
* show alert with seeds
* Update corrupted wallet UI
Fix wallet opening cache
* remove unused code
---------
Co-authored-by: Omar Hatem <omarh.ismail1@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
* Fix: Add keys back to currency amount textfield widget
* fix: Switch variable name
* fix: remove automation for now
* test: Updating send page robot and also syncing branch with main
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* New price API
* Fix test app package id
* Fix workflow
* change environment variable to use pr number [skip ci]
* Fix un-needed padding
* Fix raw value for usdtSol
* Remove duplicate fetching for balance and transactions at start [skip ci]
* Fix address validation of spl tokens
* Add Service Status
* Update lib/src/widgets/service_status_tile.dart
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* Update lib/src/widgets/services_updates_widget.dart
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* Update monero version
* update sodium script
* Change automatic priority fee rate
---------
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* New versions
Fix issues with Monero.com
* Add sending for Solana tokens exchanges
* Add default keyword for P2WPKH [skip ci]
* chore: Switch solana commitment to confirmed to reduced blockhash expiration (#1313)
* Modify test workflow to send arm64-v8a build only
* Fix workflow build path
* Remove unnecessary reverse of txId
* Show case sensitive evm wallet address
* Revert default Cake Theme
add custom package id for test builds
* Fix workflow script
* Fix workflow
* hash branch name
* hash branch name
* Update versions
* Add user image to Nostr
Add fetching address from text for tokens
* Fix test app package id
* fix: Solana message improvement (#1316)
---------
Co-authored-by: Adegoke David <64401859+Blazebrain@users.noreply.github.com>
* - Catch get balance network issues
- Disable remove button when adding node
* Update packages and android gradle version
minor enhancements
* Backup issue fix
* update workflow java version
* Remove useless permission check for saving file
* minor enhancements
* only delete secure storage key before overriding it on MacOS
* Minor UI changes
* Remove debug prints [skip ci]
* Revert FR localization changes
* 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
* Initial ionia service
* Ionia manage card UI (#374)
* design ui for cakepay
* Add manage cards page ui
* create auth ui for ionia
* add authentication logic
* implement user create card
* Add ionia merchant sevic
* Add anypay. Add purschase gift card.
* display virtual card (#385)
* display virtual card
* fix formatting
* Remove IoniaMerchantService from IoniaViewModel
* Add hex and txKey for monero pending transaction.
* Changed monero version and monero repo to cake tech.
* Add anypay payment. Add filter by search for ionia, add get purchased items for ionia.
* Fix for get transactions for hidden addresses for electrum wallet
* Add ionia categories.
* Add anypay commited info for payments.
* Update UI with new fixes (#400)
* Change ionia base url. Add exception throwing for error messaging for some of ionia calls.
* CW-102 fix logic for ionia issues (#403)
* refactor tips (#406)
* refactor tips
* refactor ionia tips implementation
* Cw 115 implement gift cards list for ionia (#405)
* Implement show purchased cards
* fix padding
* Fixes for getting of purchased gift cards.
* Implement gift card details screen (#408)
* Implement gift card details screen
* Add redeem for ionia gift cards
* Fix navigation after ionia opt redirection.
* Fix update gift cards list.
* Add payment status update for ionia.
* Add usage instruction to gift card.
* Add copy for ionia gift card info.
* Change version for Cake Wallet ios.
* Add localisation (#414)
* Fixes for fiat amounts for ionia.
* CW-128 marketplace screen text changes (#416)
* Change text on marketplace
* fix build issues
* fix build
* UI fixes for ionia.
* UI fixes for ionia. (#421)
* CW-129 ionia welcome screen text changes (#418)
* update welcome text
* Update localization
* Cw 133 (#422)
* UI fixes for ionia.
* Fixes for display card item on gift cards screen.
* Fix signup page (#419)
* Changed tips for ionia.
* Cw 132 (#425)
* UI fixes for ionia.
* Changed tips for ionia.
* Cw 131 (#426)
* UI fixes for ionia.
* Changed tips for ionia.
* Fixes for IoniaBuyGiftCardDetailPage screen. Renamed 'Manage Cards' to 'Gift Cards'. Hide discount badge label for 0 discount.
* Change ionia heading font style (#427)
* Fix for AddressResolver in di
* Changed build number for Cake Wallet ios.
* fix currency format for card details and routing for mark as redeemed (#431)
* fix terms and condition overflow in ionia (#430)
* fix terms and condition scroll
* fix color issues
* reuse
* refactor widget
* Remove IoniaTokenService
* Change api for ionia to staging
* Update versions for Cake Wallet for android and ios.
* Fixes for instructions. Remove diplay error on payment status screen.
* Change build versions for Cake Wallet
* Add ionia sign in.
* Update for discounts and statuses for ionia merch.
* Fixes for qr/barcode on ionia gift card screen.
* Fixed formatting for display ionia discounts.
* Fix merchant.discount.toStringAsFixed issue
* Add savingsPercentage to ionia merch discount.
* Change build number for Cake Wallet ios and android.
* Disable ionia for haven (#440)
Co-authored-by: Godwin Asuquo <41484542+godilite@users.noreply.github.com>