* 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>
* decred: Add decred. (#1322)
* multi: Add initial decred screens. (#1165)
Use a mock libwallet for now.
* cw_decred: add libdcrwallet dependency and link library for android, ios and macos (#1240)
* change cw_decred from package to plugin
* add libdcrwallet dependency and link library for android, ios and macos
* remove spvwallet, make some libdcrwallet fns async, light refactor
* libdcrwallet: use json payload returns
* use specific libwallet commit hash
* decred: fix Rename wallet.
---------
Co-authored-by: JoeGruff <joegruffins@gmail.com>
* decred: Add sync.
* decred: Add send transaction.
* decred: Fix fee estimation.
* decred: List transactions.
* decred: Add rescan.
* decred: Sign message.
* decred: Add new addr and addrs.
* decred: Add change wallet pass.
* decred: Add restore from seed.
* decred: Add watching only wallets.
* decred: Enable mainnet.
* decred: Allow using blank node address.
This allows a persistent peer to be unset, falling back to decred
seeders.
* decred: Rescan from wallet birthday.
* add and update macos build scripts, update build readme, gitignore macos project.pbxproj
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* multi: hide decred rescan page if it's not ready
- move hasRescan method to WalletBase and implement for decred
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* cw_decred: fix bug where decred wallets are not loaded after app restart
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* add buy and sell for decred via onramp
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* bug-fix: account for other send outputs that are part of the same tx
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* decred: Return address with no peers.
* decred: Update pubspec.
* decred: Add verify message.
* upgrade hive_generator dep in cw_decred
* decred: Clean up code.
---------
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Philemon Ukane <ukanephilemon@gmail.com>
* fix extracted addresses not used
fix conflicts with main
* remove print [skip ci]
* minor formatting
* fix initial migration version
* add build decred script to workflow
* install go before build decred
fix switch cases
* trial 2 to fix decred build
* re-install go
* revert build script change
* refactor/clean nodes functions
* Fix address book issue
Fix send ALL (to be continued with the fees point)
* Fix transactions display issues
Add missing file
* Fix unconfirmed balance not displayed
Change Wallet order
Minor cleanup
* Fix workflow
* Fix workflow
* Fix workflow
* test
* hardcode path for now
* fix + cleanup decred build script to work on mac and linux
* Update decred build script
* Run actions on pull requests, extract commit message
* run after checkout
* add safe directory
* Get commit message from base.sha instead of last commit
* base -> head
* Do not merge main branch into pr
* [skip slack] [run tests] clone by sha
* Proper name for decred library in the build script
* Throw an error when ANDROID_HOME or ANDROID_NDK_VERSION is missing
* Fix conflicts with main
* minor code enhancement
* decred: Add used address history. (#1941)
* decred: Update pubspec.
* decred testnet
* decred: Add used address history.
* decred: Remove default node list.
* populate transaction history before sync begins
* decred: Add some awaits.
* decred: Fix send all.
* decred: Add clang export to build script.
* decred: Update logo colors.
* cleanup cw_decred.dart
* make decred wallet addresses selectable in receive page
* decred: Always set default addr when used.
* decred: Add back default node list.
* decred: Allow creating addresses manually.
---------
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* minor fixes and cleanup
* minor fix, feel free to test now
* - Fix transaction details
- Fix Nodes
- Add processing sync status
* Add decred info card
* push missing file
* Add missing text for decred info card
* minor: change docs link [skip ci]
* decred: Update derivation info. (#2013)
* decred: Update derivation info.
* decred: Allow unsynced unused addresses.
* decred: Update dcrwallet dep to 4.3.0.
* Merge main and fix conflicts
* Merge main and fix conflicts
* decred: Fix background sync panic. (#2080)
* decred: Run libwallet in isolate. (#2077)
* decred: Fix contact save inquiry. (#2083)
Also fix tx time and the fee shown on pending transactions.
* Disable send button in view only decred wallets
* - Fix frozen coins
- Add URI support
- Fix fees in tx details
- Handle empty coins send
- Handle wallets in address book
* Merge main
* remove print [skip ci]
* Fix restore from QR
* minor improvement for QR restore
* Remove Haven Wallet
* Remove haven scripts
* minor fixes [skip ci]
* decred: Get slip44 addrs before sync completes. (#2092)
* - Fix loading wallet more than one time
- Fix minor UI issue
* fix merge issue
* fix merge issue
---------
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: JoeGruffins <34998433+JoeGruffins@users.noreply.github.com>
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
* 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>
* fix: make welcome screen scrollable
* fix: make pre seed page scrollable
* fix: make wallet seed page scrollable
* refactor: remove unnecessary and stacked widgets and remove IntrinsicHeight & LayoutBuilder used for SingleChildScrollView, and replace it for CustomScrollView on welcome_page.dart
* refactor: remove unnecessary Flexible widgets and remove IntrinsicHeight & LayoutBuilder for SingleChildScrollView and replace it for CustomScrollView on pre_seed_page.dart
* refactor: remove unnecessary and stacked widgets and remove IntrinsicHeight & LayoutBuilder used for SingleChildScrollView, and replace it for CustomScrollView on wallet_seed_page.dart
* fix: revert welcome_page.dart unwanted changes
* fix: image expands more than needed
* fix: fix image expands more than needed while testing on Linux build
* Fix Scrolling behavior on Desktop and Overflow on Mobile
---------
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
* Add build scripts for macOS. Add macos for cw_monero plugin. Add macos proj to the application.
* - Update Flutter secure storage to work with macos
- Enable uni links only on Mobile
- Update devcelocale to work with macos
* Add network access to mac
* Change Dashboard view on desktop size screens
* Add on Tap to desktop_action_button.dart
Remove unused functions
* Fix arch match for monero lib for darwin x86_64 -> x86-64
* Add Bundle ID in entitlements files through app config script
* Update deployment target to 10.13
* Revert back to Cake fork for secure storage
* Revert back to Cake fork for secure storage
* Revert mac os version
* Revert mac os version
* Add platform channel specific code for mac os
* Add desktop sidebar
* [skip ci] Add desktop sidebar
* [skip ci] Add desktop sidebar
* - Remove legacy migration from macos
- Remove wake lock native code and just use the ready made package
* Remove wake lock native code and just use the ready made package
* Remove unstoppable domain from macos since it's not supported
* Temporarily fetch unstoppable domains only on mobile
* refactor desktop settings sidebar
* Ignore increasing brightness for non-mobile platforms
* Add Wallet selection dropdown to dashboard desktop view
* Generate MacOS icons
* localize settings
* fix dashboard sidebar and responsive utils
* Change Mac os app name and bundle id
* Fix exchange page as fullScreenDialog
* Remove constants
* - Refactor onRamper to have a single point of modification
- Enlarge initial app size
- update Flutter and Packages
* Add pubspec.lock and Podfile.lock to gitignore
* Remove Podfile.lock from cache
* Fix bug on sidebar reset
* Fix issues from code review
* [skip ci] reformat desktop dashboard
* [skip ci] reformat desktop dashboard
* Revert removing .lock files
* Revert changes in .gitignore
* [skip ci] remove .project changes
* [skip ci] remove .project changes
* Separate Dashboard desktop view from mobile view
* constraint images and pincoded box
* Remove drawer from mac os
* - Listen to keyboard events in PIN screen
- Fix PIN buttons style
* Fix desktop nav bar UI
* Add Marketplace to dashboard view
* Update trailing icon to open transaction page
* Update widget contraints
* Add empty trailing to center page title on desktop
* Refresh desktop dashboard actions on wallet change
* Change ionia welcome page animation
* Fix Constrained width screens UI
* Refactor sidebar state management
* remove empty line
* Add max width constrain to Welcome page
* Change Exchange page UI depending on platform
* - Change design/paddings for Send page on desktop view
- Make AddTemplateButton instead of having it duplicated in send/exchange
* Fix Desktop dashboard actions background color
* Constrain primary Buttons width
* Make side menu items toggle back to dashboard
* Add padding to support page
* Add width constraints to desktop dashboard
* Fix UI issues, paddings and alignments
* Rename misleading variable
Change initial mac window size
* Fix wallet create in settings
* remove unnecessary code
* remove unnecessary code
* Remove duplicated constrains
* - Use close icon on main screens
- Minor UI fixes
* fix pageview controller reset index
* Add create and restore wallet options to dropdown menu
* Fix desktop background color and address book view issues
* Fix input field
* Add onFieldSubmitted to allow "enter" button interaction
* Fix issue from code review
* Fix Popup width constraint and add focus orders
* Fix variable name
* Fix issues from code review
* refactor dropdown items
* Fix alignment in create and restore wallet screens
* Fix dropdown change state bug
Hide scanner for desktop
* remove space
* override navbar with desktopnavbar
* Remove autofocus
* remove unused code
* Fix ionia input field alignment
* Replace removed code
* Add app lock feature on mac
* Add assertion to avoid null
* Add Nano currency image
* Enable adding contact from send screen
* Fix UI issues
Add missing translation
* pop only PIN screen after successful auth
* Add back wallet settings page to desktop settings actions
* Fix Navigation animation for settings screens
* Fixate MobX version to fix restore issue
* CW-324 Refresh current settings page if wallet changed (#811)
* Fix refresh current settings page if wallet changed
* Fix refresh current settings page if wallet changed
* Refresh Wallet Seeds/Keys List upon wallet change
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* Remove navigation workaround for duplicate key, and fix the issue by handling creation/disposing of global key (#840)
* Cw 323 add wallet list to settings on mac (#843)
* Remove navigation workaround for duplicate key, and fix the issue by handling creation/disposing of global key
* - Register Wallet List as singleton in Desktop to be modify the same instance from settings and dropdown
- General Fixes and Enhancements
* Fix Changing/Restoring wallet from settings
* Fix Create wallet not showing seeds screens if launched from settings
* Add max width constraint for Alerts
* - Add Desktop API keys
- Fix Change back up password issue
- Fix Popup width
* Sync Mac with latest main updates
* Swap Transactions icon with lock icon
* Save backup file locally on desktop
* Sync with latest main updates
* Fix Navigation issues with anonpay
* Update macos build version
* Remove deprecated custom wake lock code for Android
* Remove Legacy CryptoSwift package from MacOS
* - Refactor Payfura page code
- Add OnRamper new configs to onramper_buy_provider.dart
- Fix Conflicts with main
* Updated device locale package
* Update android tools
* Revert changes and update only gradle version
* Downgrade android tools version
* Update gradle version
* Update package/gradle/plugin version
* - Fixate device locale version
- Downgrade gradle version
* Update kotlin version
* Update gradle version
* Trial for a custom fork from devicelocale
* Fixate shared preferences package version
* Revert gradle version
* Revert kotlin version
* Downgrade gradle version
* Downgrade gradle version
* Repair cache and clean before build
* Fixate flutter version
* update google services version
* revert google services version
* Force shared pref android version
* Override shared prefs android package version
* Override shared prefs android package [skip ci]
---------
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Godwin Asuquo <godilite@gmail.com>
Co-authored-by: Godwin Asuquo <41484542+godilite@users.noreply.github.com>