Commit graph

3199 commits

Author SHA1 Message Date
cyan
e03dcc7fe9
feat: better backup errors (#2290)
Instead of creating error reports show the error to user
use BackupVersion.unknown
2025-05-26 11:38:36 +03:00
David Adegoke
d342173239
Modify Themes Startup Behaviour (#2288)
* feat(themes): Reflect current system theme at the start of the app if the themeMode is system mode

* feat(themes): Extract platform awareness for router into a function, and use where needed
2025-05-26 04:43:15 +03:00
tuxsudo
df88914628
New themes (#2239)
* 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>
2025-05-25 23:11:45 +03:00
rafael_xmr
7b8ddf9685
FIX (#2283)
* FIX!

* resolve conflicts with main

* undo debug changes

* fix: methods

* fix: methods2

* Fix Tron issue

* fix: 1k limit & reaching top

* fix: missing unspents

* fix: missing commit

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2025-05-25 22:28:08 +03:00
OmarHatem
e52bceda3a Merge remote-tracking branch 'origin/main' 2025-05-25 03:59:27 +03:00
OmarHatem
df20e22fae minor: ignore package unreasonable error 2025-05-25 03:59:18 +03:00
cyan
fd3158293e
fix(cw_monero): properly await transaction commit (#2284) 2025-05-24 22:21:49 +03:00
Konstantin Ullrich
939e5d9279
CW-1076-payjoin-ux-enhancements (#2282)
* feat: Add Payjoin Unavailable bottom sheet

* feat: Add Payjoin Info Card to Dashboard

* feat: Open payjoin docs on learn more
2025-05-24 04:24:06 +03:00
David Adegoke
1aac17676d
feat: Migrate to EtherScan v2 API for supported EVM chains (#2264) 2025-05-23 00:32:18 +03:00
OmarHatem
d356d5bfcb change exchange dock item to buy 2025-05-22 15:01:51 +03:00
OmarHatem
773adfaaca Merge remote-tracking branch 'origin/main' 2025-05-21 05:19:33 +03:00
OmarHatem
b872b43b75 fix hive error 2025-05-21 05:19:23 +03:00
Konstantin Ullrich
43808992ec
misc-seed-page-fixes (#2280)
* feat: Trim pasted seed

* fix: Fix Seed Type selection
2025-05-21 01:24:30 +03:00
OmarHatem
79faeb98af add cake relay server 2025-05-20 21:25:00 +03:00
OmarHatem
dcaeac9b85 disable swap until synced for btc/ltc/xmr 2025-05-20 03:10:49 +03:00
OmarHatem
1e5568fc1b Update button text 2025-05-17 03:30:49 +03:00
cyan
1c7dd02a53
fix(cw_monero): wait a bit before refreshing txlist so it appears (#2275) 2025-05-17 02:03:02 +03:00
Omar Hatem
914561716d
v4.28.0 Release Candidate (#2260)
* v4.28.0 Release Candidate

* Fix Android deeplinking

* minor [skip ci]

* update app versions [skip ci]

* merge main

* - Re-enable SwapTrade
- Hide Keyboard on opening fee selection

* handle old backups import

* - Fix seed type UI
- Temp fix for Deleting Monero wallet

* update build number [skip ci]

* minor nullability handling

* disable payjoin for SP
2025-05-16 13:51:36 +03:00
Konstantin Ullrich
c12daced40
feat: Load default ERC20 Tokens for existing ETH and Polygon Wallets (#2274) 2025-05-15 22:57:02 +03:00
cyan
bc52cf485e
fix(cw_monero): transaction not appearing after send (#2268)
* fix: catch error in newly added fetchTransactions call
fix: null handling in cw_monero

* fix(cw_monero): transaction not appearing after send
2025-05-15 19:48:43 +03:00
Serhii
557e1c9839
Cw 935 get exchange payment method recommendations from on ramper (#2235)
* fix: default to recommended payment method in Onramper

* fix: support displaying unknown payment methods

* feat: fetch recommended Onramper payment type
2025-05-15 19:48:06 +03:00
cyan
66efce4d70
fix(cw_monero): move isolates to top level functions so WalletBase will not get sent over. (#2269) 2025-05-15 15:17:56 +03:00
Konstantin Ullrich
1b2e3f2ee1
fix: Payjoin button not showing (#2272) 2025-05-15 14:56:43 +03:00
cyan
40084ec532
fix: catch error in newly added fetchTransactions call (#2265)
fix: null handling in cw_monero
2025-05-15 02:07:17 +03:00
David Adegoke
ca8dbf3c81
feat: Allow tap to copy on exchange url and add launch icon for launch. (#2262) 2025-05-13 15:01:53 +03:00
David Adegoke
ca2c953cf4
feat: Disable Camera Action in Wallet Restore for Desktop (#2263) 2025-05-13 15:00:22 +03:00
Konstantin Ullrich
82e3ebf4fa
implement-payjoin (#1949)
* Initial Payjoin

* Initial Payjoin

* More payjoin stuff

* Minor fixes

* Minor fixes

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Fix minor bug causes by data inconsistency in the btc utxos

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Initial Payjoin

* Initial Payjoin

* More payjoin stuff

* Minor fixes

* Minor fixes

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Fix minor bug causes by data inconsistency in the btc utxos

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Fix Rebase issues

* Move PJ Receiver to isolate

* Add Payjoin Setting

* Payjoin Sender are now isolated

* Added Payjoin sessions to tx overview. Fix Fee issue with payjoin

* Clean up code

* Fix taproot for payjoin

* Fix CI Errors

* Add Payjoin UI elements and details page

* Add Payjoin UI elements and details page

* Fix Translations

* feat: Detect Payjoin URIs in pasted text and show to the User sending Payjoin

* feat: rename pjUri to payjoinURI for more code clarity

* Update res/values/strings_pl.arb

Co-authored-by: cyan <cyjan@mrcyjanek.net>

* Update cw_bitcoin/lib/payjoin/manager.dart

Co-authored-by: cyan <cyjan@mrcyjanek.net>

* Update cw_bitcoin/lib/payjoin/manager.dart

Co-authored-by: cyan <cyjan@mrcyjanek.net>

* feat: Disable Payjoin per default

* feat: Disable Payjoin fully if disabled or no Inputs available

* feat: Resume Payjoin if app comes back to foreground

* chore: Revert overly aggressive code formats

* feat: show correct Payjoin amount for receivers

* feat: Improved payjoin status

* feat: Show payjoin errors on payjoin details screen

* deps: update flutter to 3.27.4

* feat: Revert localisations

* bug: Remove duplicate transaction id on payjoin details

* style: remove double await in payjoin sender

* refactor(cw_bitcoin): Refactor method signatures and convert constructor to factory

* refactor(cw_bitcoin): Refactor wallet service and PSBT signer for cleaner code

Removed unnecessary `CakeHive` dependency and refactored `BitcoinWallet` initialization to use `payjoinSessionSource`. Improved code readability in `PsbtSigner` by reformatting lines and simplifying constructor methods for `UtxoWithPrivateKey`.

* fix: Resume Payjoin Sessions and load PJUri after sleep

* feat: Add "Copy Payjoin URL button" to receive screen

* fix: Add "Payjoin enabled"-Box below QR Code on the receive screen

* fix: Set payjoin_enabled color to black independent of the theme

* refactor: Payjoin session management and cleanup unused code.

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: cyan <cyjan@mrcyjanek.net>
2025-05-12 20:33:14 +03:00
OmarHatem
4a08e18f00 Merge remote-tracking branch 'origin/main' 2025-05-12 18:08:55 +03:00
OmarHatem
e7fd1582a8 enable macos deps in prebuilts download 2025-05-12 18:08:43 +03:00
eveneast
b4e16a05b1
chore: fix some typos in comment (#2258)
Signed-off-by: eveneast <qcqs@foxmail.com>
2025-05-11 18:38:00 +03:00
OmarHatem
b1fc9ba2e5 add words count next to seed type 2025-05-11 01:04:47 +03:00
OmarHatem
51a4954fcb Merge remote-tracking branch 'origin/main' 2025-05-09 15:01:27 +03:00
OmarHatem
b28ea4199c Remove SwapTrade 2025-05-09 15:01:09 +03:00
Serhii
5b43cb5373
fix: hide balance for monero accounts (#2256) 2025-05-08 23:47:34 +03:00
Serhii
a9e05073a5
fix: include destination parameter in payment method fetch request (#2254) 2025-05-07 17:48:13 +03:00
Konstantin Ullrich
c6f9d12a8e
fix: selection of the wordlist for seed validation on the restore from seed page (#2255) 2025-05-07 17:46:17 +03:00
Serhii
cab4792388
fix: possible context null check issue in exchange trade (#2253) 2025-05-07 17:22:03 +03:00
Papakia
b7473594cb
Update strings_ko.arb (#2250) 2025-05-05 12:55:11 +03:00
OmarHatem
cd0844dcc1 Merge remote-tracking branch 'origin/main' 2025-05-05 11:50:13 +03:00
OmarHatem
eccc94a019 temp. ignore secure storage iOS issue 2025-05-05 11:50:04 +03:00
cyan
a2294c4a06
fix(cw_monero): prevent monero wallet from breaking during rename (#2214)
* fix(cw_monero): prevent monero wallet from breaking during rename

* update to cleaned up monero.dart

* fix: transaction screen not refreshing in monero

* fix: wallets not opening until app restart after rename.

* fix(cw_decred): wallet renaming throwing

* fix: transaction not being shown after sending until 1st confirmation

* fix(cw_monero): loop safeguard

* fix: don't await wallet.fetchTransactions
2025-05-02 15:30:39 +03:00
David Adegoke
dd8413bae2
CW 818: Improve Passphrase Discoverability When Restoring (#2224)
* feat(passphrase for restore): improve passphrase discoverability for restore flow.

Makes the option for adding a passphrase more visible for the user to see while restoring a wallet with seeds.

This change:
- Adds a checkbox on the restore from seeds page that asks if the wallet has a passphrase
- Switches the main CTA for the page to "Add Passphrase" when the checkbox is checked
- Pops up a bottomsheet with input fields for the passphrase when the "Add Passphrase" button is pressed
- Completes the flow and restores the wallet with the passphrase when the "Restore" button on the bottomsheet is pressed
- Hides the passphrase input fields in AdvancedSettings page when its a restore flow.

* feat(passphrase for restore): improve passphrase discoverability for restore flow. (Cont.)

This change:
- Obscures the passpgrase input fields by default
- Changes the color for the main CTA button

* feat(passphrase for restore): improve passphrase discoverability for restore flow. (Cont.)

This change:
- Adjusts the colors for the buttons on both the seed page and the bottomsheet

* feat(passphrase for restore): improve passphrase discoverability for restore flow. (Cont.)

This change:
- Combines the control for the visibility icons of the passphrase input fields - one tap to rule them all :)
2025-05-02 02:56:06 +03:00
Serhii
cb257e1391
fix: allow address only edits (#2233) 2025-05-01 18:23:56 +03:00
Tobias Wienkoop
2a6dad2257
Improve german translation (#2230)
* Update strings_de.arb

* Update strings_de.arb

* Update strings_de.arb
2025-05-01 18:22:54 +03:00
rottenwheel
d4190cbb0f
en: fix unmetered network typo (#2241)
* fix: remove comma in OpenAlias title

* spanish: some necessary, minor rewording for new background sync strings

* en: fix unmetered network typo
2025-05-01 18:21:16 +03:00
OmarHatem
69c2e458d5 Merge remote-tracking branch 'origin/main' 2025-05-01 16:21:59 +03:00
OmarHatem
0e4c9bb138 Fix not accepting "," in some currencies 2025-05-01 16:21:47 +03:00
Serhii
4448adb49d
Cw 925 improve automatic subaddress generation behavior (#2217)
* fix: update usedAddresses for monero

* fix: subaddresses generation for bitcoin

* fix: minor fix

* fix: update receive address UI when used

* minor fix [skip ci]
2025-04-30 19:11:36 +03:00
OmarHatem
b25cb527cb Merge remote-tracking branch 'origin/main' 2025-04-30 10:27:28 +03:00
OmarHatem
0188535eb9 Enable error reports without cooldown in testing builds 2025-04-30 10:27:21 +03:00