Commit Graph

34 Commits

Author SHA1 Message Date
Lukas Korba c5b8f4cf1f Keystone experience updated
- Home's more replaced with buy
- Integrations offer Coinbase
- Updated empty state img
- bugfix
2025-04-19 11:38:27 +02:00
Lukas Korba fbe119040a Code cleaned up
- This is massive cleanup of all commented code from iOS 16 navigation changes
- A few fixes along the way
2025-04-19 09:47:02 +02:00
Lukas Korba aba41ab0ee [#1477] Restore wallet screen logic
[#1477] Update Restore Wallet flow

- Everything has been redesigned
- Estimation of Birthday height logic implemented
2025-04-17 08:30:37 +02:00
Lukas Korba 6514ae2a81 Root subflows Batch 2
- Add Keystone from Home's Account switcher implemented
- Add Keystone from Home's More... menu implemented
- Scan coord flow with all send flows implemented
2025-04-17 08:29:06 +02:00
Lukas Korba 545dbc8453 Root subflows Batch 1
- get some zec flow done
- receive flow done
- advanced settings & integrations done
- send coord flow prepared - WIP
2025-04-17 08:29:06 +02:00
Lukas Korba 867cd3e53c Subroot Stack navigation idea 2025-04-17 08:27:52 +02:00
Lukas Korba 994ca3329a Another batch of updates, settings mostly done, KS flows WIP 2025-04-17 08:21:49 +02:00
Lukas Korba 63e28def20 PoC and first batch of overall re-write 2025-04-17 08:21:07 +02:00
Lukas Korba 1f92b35737 UserMetadata entry point
- UM load the data logic prepared
- Integration's seek icons have an outline now
2025-02-17 12:50:03 +01:00
Lukas Korba 0865f3de2e Integrations keystone update
- some bugfix
- Integrations screen add keystone wallet flow added
2025-02-17 12:50:03 +01:00
Lukas Korba 9c249a027d Shielding flow and API update
- the flow for sending has been updated to shielding texts - locallized
- API of the synchronizer adopted and updated
2024-12-16 13:13:03 +01:00
Lukas Korba 9871a1ad61 [#1368] Update Settings flows UI
- About
- Private data export
- Reset Zashi
- What’s New
- Recovery Phrase

[#1373] update buttons across the app and remove the grid pattern

- Send feedback finished

[#1373] update buttons across the app and remove the grid pattern

- All settings screens localized

[#1373] update buttons across the app and remove the grid pattern

- Recovery phrase screen prepared for onboarding

[#1368] Update Settings flows UI

- changelog updated

[#1368] Update Settings flows UI

- SDK bumped up to 2.2.5

[#1368] Update Settings flows UI

- Zasji testnet version bumped up

[#1368] Update Settings flows UI

- Rebased

[#1368] Update Settings flows UI

- tooltip for the birthday added

[#1368] Update Settings flows UI

- spacing

[#1368] Update Settings flows UI

- regenerated cleanup
2024-11-18 12:23:34 +01:00
Lukas Korba 821976d068 [#1367] update UI of Not Enough Free Space status screen
- The screen has been redesigned

[#1367] update UI of Not Enough Free Space status screen

- changelog updated

[#1367] update UI of Not Enough Free Space status screen

- available MBs are in bold

[#1367] update UI of Not Enough Free Space status screen

- This state must avoid any interaction with the synchronizer, therefore some of the options in the settings has been eliminated
2024-11-18 12:23:34 +01:00
Lukas Korba 0a603b0dad [#1284] Flexa
- Flexa tested and fixes implemented on our side
- SDK numerator/denominator fixes WIP

[#1284] Flexa

- Total vs. Available balance handling
- Fixed freeze of Zashi by wrapping Flexa code into Task
- Prints cleanup

[#1284] Flexa

- SDK reverted to 2.2.3

[#1284] Flexa

- rebased

[#1284] Flexa

- Initialization moved to the Integrations screen

[#1284] Flexa

- simple feature flaggins system implemented
- flexa is behind the feature flags, hidden in the production & testnet builds, available for internal builds

[#1284] Flexa

- flexa seek logo added to the integrations screen

[#1284] Flexa

- fixes
2024-10-15 20:28:30 +02:00
Lukas Korba 97a6be05fc [#1370] Appstore 1.2.1 submission fixes
- Flexa deactivated for now
- iCloud deactivated for now
- Coinbase logo added to the settings screen
- Zashi Testnet target and builds integrated into the project

[#1370] Appstore 1.2.1 submission fixes

- latest FFI

[#1370] Appstore 1.2.1 submission fixes

- Latest fixes and improvements
2024-10-08 08:57:14 +02:00
Lukas Korba 3e704537ad [#1341] add address book feature
- Initial screens for the feature done

[#1341] add address book feature

- partially redesigned to final designs
- edit updated to work without swipe over the contact

[#1341] add address book feature

- Package.resolved updated

[#1341] add address book feature

- Package.resolved update

[#1341] add address book feature

- ZashiButton component done
- Latest design for some screens
- Send screen facelift

[#1341] add address book feature

- Scan view redesigned
- Tweaks of layouts, error handlings for the fields, etc.

[#1341] add address book feature

- Another batch of tweaks and finalizations for Address Book

[#1341] add address book feature

- AddressBook finished, testing starts
- New Zashi internal target added to distribute the app

[#1341] add address book feature

- package update

[#1341] add address book feature

- Testing & Debugging
- fix: card for add new address is always visible
- fix: done button associated with the keyboard is now fully custom solution
- fix: memo field broken input

[#1341] add address book feature

- modifier for the fonts and styles

[#1341] add address book feature

- Modifier for the screen horizontal padding

[#1341] add address book feature

- All Address book texts localized

[#1341] add address book feature

- Archivo removed from the project and all instances replaced with Inter

[#1341] add address book feature

- All images refactored to use DesignSystem's modifiers

[#1341] add address book feature

- fixes + design system refactors
- transaction history revamp

[#1341] add address book feature

- Package.resolve update

[#1341] add address book feature

- Scan screen redesigned

[#1341] add address book feature

- QR code scan navigation fixed

[#1341] add address book feature

- ZashiButton tap area fix
- Auto-focuses in Add New Contact implemented

[#1341] add address book feature

- ScanView design tweaks
- Address is not in address book redesigned to hint that dismisses automatically after 3s

[#1341] add address book feature

- zImage

[#1341] add address book feature

- build fixes
2024-09-27 08:18:48 +02:00
Lukas Korba 37c976499f [#1284] Flexa integration
- implemented POC for server check in Zashi, adopted SDK with the feature

[#1237] Choose the best server by testing responses from multiple server hosts

- Logic has been updated to deliver all requirements
- UI has been upgraded to reflect latest and new design

[#1237] Choose the best server by testing responses from multiple server hosts

- inverted tint if needed implemented for the progress view

[#1237] Choose the best server by testing responses from multiple server hosts

- Rebased

[#937] Shielded transaction UI

- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

design-system

- POC done
- All Colors added/implemented
- first set of variables implemented

design-system

- Color names made unique
- CurrencyConversion screen refactored to use new design system colors
- Currency conversion colors removed from the catalogue

design-system

- Variables made for the Utilities (all of them are missing aliases in Figma so it's just prepared except a few I updated myself)
- ServerSwitch refactored to use design system
- error and primary tint updated to use design system

design-system

- Utility variables finished
- Server switch refactored to the latest design system variables

tca-deprecation-resolution

- All reducers have been updated to use @Reducer macro
- All scopes have been updated to use \. case path
- All destinations have been updated to use new Bindings

tca-deprecation-resolution

- @DependencyClient macro used for all dependencies
- Unit tests fixed

shared-state

- POC

shared-state

- Exchange rate is now handled by TCA's shared state

shared-state

- Hide balances feature has been refactored using TCA's shared state
- It's no longer treated as "hide balances" but rather "hide sensitive data" because we will add a few more things to it besides balances in the near future
- Previous approach with Combine's subject and TCA's dependency have been removed from Zashi

[#1284] Flexa integration

- WIP

[#1284] Flexa integration

- Some progress, I'm able to create an account and pass the verification
- WIP: Dealing with no assets issue

[#1284] Flexa integration

- AccountId used for the start of Flexa

[#1284] Flexa integration

- onTransactionrequest connected to the TCA

[#1284] Flexa integration

- Version bumped to 1.0.1

[#1284] Flexa integration

- Rebased and updated for the latest design

[#1284] Flexa integration

- Settings remade to have a new navigational path for all Integrations, Flexa is among them

[#1284] Flexa integration

- SettingsRow supports a description if needed

[#1284] Flexa integration

- WalletStatus updated to be handled by TCA's Shared state so it can be used to determine when Flexa is available and when it's not

[#1284] Flexa integration

- Handling of restoring status in the integrations

[#1284] Flexa integration

- Payment flow finalized, testing the functionality, cleanup needed

[#1284] Flexa integration

- code cleanup after rebase

[#1284] Flexa integration

- Code cleanup

[#1284] Flexa integration

- Flexa key handled by PartnerKeys

[#1284] Flexa integration

- Accountid generated only once until Zashi is deleted

[#1284] Flexa integration

- Package.resolved

[#1284] Flexa integration

- Version bumped up to 1.0.2
- Total balance ditched and replaced with available balance
- Start of the Flexa uses the latest known balance
2024-09-26 14:10:02 +02:00
Lukas Korba 8a760bdc99 server-checks
- implemented POC for server check in Zashi, adopted SDK with the feature

[#1237] Choose the best server by testing responses from multiple server hosts

- Logic has been updated to deliver all requirements
- UI has been upgraded to reflect latest and new design

[#1237] Choose the best server by testing responses from multiple server hosts

- inverted tint if needed implemented for the progress view

[#1237] Choose the best server by testing responses from multiple server hosts

- Rebased

[#937] Shielded transaction UI

- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

tca-deprecation-resolution

- All reducers have been updated to use @Reducer macro
- All scopes have been updated to use \. case path
- All destinations have been updated to use new Bindings

tca-deprecation-resolution

- @DependencyClient macro used for all dependencies
- Unit tests fixed

tca-deprecation-update

- cleanup

tca-navigation-update

- cleanup of : Reducer

tca-navigation-update

- code cleanup
2024-09-09 10:22:11 +02:00
Lukas Korba cbad754a0b [#937] Shielded transaction UI
- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

[#1337] update UI of the Settings and Advanced Settings screens

- Package.resolved fixes

[#1337] update UI of the Settings and Advanced Settings screens

- Cleanup after rebase

[#1337] update UI of the Settings and Advanced Settings screens

- Header fixes

server-checks

- implemented POC for server check in Zashi, adopted SDK with the feature

[#1237] Choose the best server by testing responses from multiple server hosts

- Logic has been updated to deliver all requirements
- UI has been upgraded to reflect latest and new design

[#1237] Choose the best server by testing responses from multiple server hosts

- inverted tint if needed implemented for the progress view

[#1237] Choose the best server by testing responses from multiple server hosts

- Rebased

[#937] Shielded transaction UI

- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

design-system

- POC done
- All Colors added/implemented
- first set of variables implemented

design-system

- Color names made unique
- CurrencyConversion screen refactored to use new design system colors
- Currency conversion colors removed from the catalogue

design-system

- Variables made for the Utilities (all of them are missing aliases in Figma so it's just prepared except a few I updated myself)
- ServerSwitch refactored to use design system
- error and primary tint updated to use design system

design-system

- Utility variables finished
- Server switch refactored to the latest design system variables

[#937] Shielded transaction UI

- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

[#1337] update UI of the Settings and Advanced Settings screens

- Package.resolved fixes

[#1337] update UI of the Settings and Advanced Settings screens

- Cleanup after rebase

[#1337] update UI of the Settings and Advanced Settings screens

- Header fixes

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

[#1337] update UI of the Settings and Advanced Settings screens

- Package.resolved fixes

[#1337] update UI of the Settings and Advanced Settings screens

- Cleanup after rebase

[#1337] update UI of the Settings and Advanced Settings screens

- Header fixes

design-system

- versions bumped up

Revert "[#937] Shielded transaction UI"

This reverts commit 6e50461c88165b581111f7af89a319a1125b5059.

design-system

- V2 colors removed
2024-09-09 09:49:19 +02:00
Lukas Korba fc104ba4ee [#937] Shielded transaction UI
- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

[#1337] update UI of the Settings and Advanced Settings screens

- Package.resolved fixes

[#1337] update UI of the Settings and Advanced Settings screens

- Cleanup after rebase

[#1337] update UI of the Settings and Advanced Settings screens

- Header fixes
2024-09-09 09:22:41 +02:00
Lukas Korba 2366a62f43 [#1288] Detect unavailable service and show a dialog
- draft

[#1288] Detect unavailable service and show a dialog

- cleanup

[#1288] Detect unavailable service and show a dialog

- changelog updated

[#1288] Detect unavailable service and show a dialog

- localizations added to the strings file

[#1288] Detect unavailable service and show a dialog

- Restoring badge has been completely redesigned to be a universal wallet status panel
- 3 possible states at the moment: none, restoring and disconnected
- Disconnected state is now tight to the wallet status disconnected, rendered over restoring if needed

[#1288] Detect unavailable service and show a dialog

- changelog updated

[#1288] Detect unavailable service and show a dialog

- code cleanup
- package resolved updated

[#1288] Detect unavailable service and show a dialog (#1289)

- show the dialog only with the transition from any state to disconnected one

[#1288] Detect unavailable service and show a dialog (#1289)

- cleanup

[#1288] Detect unavailable service and show a dialog (#1289)

- latest copy

[#1288] Detect unavailable service and show a dialog (#1289)

- Fixed the case when Zashi's server is down while attempting to recover wallet from a seed
2024-06-05 21:10:19 +02:00
Lukas Korba 7a307bf592 1233-changelog screen to inform users about changes implemented in an update
- WIP

[#1233] changelog screen to inform users about changes implemented in an update

- About screen is now an independent feature with standalone reducer
- What's new feature implemented
- JSON structure defined for the what's new
- What's new provider implemented to read the json file
- Custom styling via attributed strings implemented

[#1233] changelog screen to inform users about changes implemented in an update

- Localization support implemented

[#1233] changelog screen to inform users about changes implemented in an update

- About view final design
- What's new final design
- JSON extended to cover all production version releases

[#1233] changelog screen to inform users about changes implemented in an update

- Code cleanup
2024-05-16 13:04:56 +02:00
Lukas Korba 8e26014364 dark-mode
- WIP

dark-mode

- inverted QR code colours support

dark-mode

- Custom background color for TextEditor

dark-mode

- Buttons resolved

dark-mode

- Buttons consolidated with the Figma design
- Scan view fix for the back button
- Placeholders for the inputs custom color solution implemented

dark-mode

- Dark mode enabled, controlled by the system settings

dark-mode

- last few fixes, feature is ready

dark-mode

- finished buttons and all answered questions

dark-mode

- fixed issue with QR code being black in dark mode
- caching generated QR code

dark-mode

- fix for the message box shape

dark-mode

- changelog updated

[#1054] Enable dark mode

- dark mode finalized

[#1054] Enable dark mode

- commented code cleaned up
2024-05-04 07:54:52 +02:00
Lukas Korba 28a88a9a1e [#1092] Adopt proposal API
- TCA sdkSYnchronizer dependency extended with 3 new Proposal APIs
- proposeTransfer tested, works as expected

[#1092] Adopt proposal API

- send transaction via new proposal API implemented

[#1092] Adopt proposal API

- code cleaned up and finished

[#1092] Adopt proposal API

- unit tests fixed

[#1092] Adopt proposal API

- Typical Fee < 0.001 localized and updated in the UI

[#1092] Adopt proposal API

- awaiting all transaction results with use of new proposal.transactionCount() method

[#1092] Adopt proposal API

- Implemented new PartialProposalError reducer and view
- Contact support mail with transaction IDs logic implemented
- Fallback to share logic implemented
- PPE integrated into SendFlow
- PPE integrated into Shielding

[#1092] Adopt proposal API

- Changelog updated

[#1092] Adopt proposal API

- SDK's fee constant removed

[#1092] Adopt proposal API (#1117)

- debug code reverted

[#1092] Adopt proposal API (#1117)

- copy change

[#1092] Adopt proposal API (#1117)

- code cleanup

[#1092] Adopt proposal API (#1117)

- proposed total fee

[#1092] Adopt proposal API (#1117)

- Final copy

[#1092] Adopt proposal API (#1117)

- Transaction statuses added

[#1092] Adopt proposal API (#1117)

- tests fixed
2024-03-20 09:51:29 +01:00
Lukas Korba 8498cff744 [#1032] Advanced settings
- all buttons moved to appropriate positions and screens
- business logic rewired
- all new texts localized
- changelog updated

[#1032] Advanced settings

- unit tests fixed

[#1032] Advanced settings (#1047)

- separate reducer for advanced settings
2024-02-14 11:12:51 +01:00
Lukas Korba ec6e082938 [#1028] Runtime switch of lightwalletd servers
- prototype of the solution implemented

[#1028] Runtime switch of lightwalletd servers

- error handling done
- localized all new texts
- custom server resolved with all possible parsing states
- persistency of selected server done

[#1028] Runtime switch of lightwalletd servers (#1044)

- changelog update

[#1028] Runtime switch of lightwalletd servers (#1044)

- Unfortunately the compiler has a bug so Circular reference error is not possible to solve, Apple fixed reported issue from October 2023 last week so we should expect fix in Xcode 15.3, beta is released but still no fix. Until that moment I moved placeholders to the view and will move it back to the stores once the issue is resolved

[#1028] Runtime switch of lightwalletd servers (#1044)

- adoption of SDK 2.0.10

[#1028] Runtime switch of lightwalletd servers (#1044)

- comments addressed
2024-02-14 11:10:31 +01:00
Lukas Korba b801ac72d7
[#974] Restore of the wallet UI (#989)
The broadcasting technology done, the views can subscribe to the restoring wallet state dependency
The restoring wallet badge implemented + handling of different backgrounds underneath it
Progress of the sync implemented on the Account screen
SyncProgress feature implemented, this new component is used 2 times already in Zashi so it's been separated into its own module (used in balances screen and at home screen when restoring the wallet)
Unit tests fixed + implemented new ones for the restore wallet flag
2024-01-09 19:36:42 +01:00
Lukas Korba 4f06f83274
[#919] Update TODO to link ECC repo instead of secant (#927)
- the links haven been updated to point to the ECC repo
2023-11-22 10:07:48 +01:00
Lukas Korba a8a68852d3
[#902] Adopt TCA version 1 (#920)
- Reducers refactored
- EffectTasks refactored
- WithViewStores refactored
- all side effects refactored to the newest API
- tests refactored to MainActor async ones
- hosting application bypassed so the tests are passing and not flaky
- code cleanup
- snapshot tests with ViewStore bindings work again
- Confirmation dialog refactored, used brand new navigation TCA pattern
- unit tests fixed
2023-11-16 16:10:24 +01:00
Lukas Korba c15b9558b8
[#885] Export of private data (#886)
- PrivateDataConsent screen implemented where is possible to share the dataDb
- tests fixed + added
2023-11-01 19:38:41 +01:00
Lukas Korba 44510ac88d
[#865] Settings UI (#867)
- Settings UI according to the Zashi UI
- cleanup of unused code
- fixed tests
2023-10-20 15:00:52 +02:00
Lukas Korba 5ad02e0c6b
[#842] Move state and progress of the synchronizer to the balance breakdown screen (#844)
- Home screen updated to show total + spendable balances
- BalanceBreakdown screen updated to show status of the synchronizer
- Zashi BACK button applied to all screens
- tests fixed
2023-10-05 11:31:12 +02:00
Lukas Korba e33ee405ee
[#830] Zashi design buttons (#837)
- all features of the button done
- cleanup of everything that is not part of the design anymore, needed for the colors for the buttons
- zcashStyle used for the buttons
2023-10-04 11:04:22 +02:00
Lukas Korba 0d5904e30c
[#764] Modularize batch of leaf features Vol II (#765)
Following features have been modularized:
- BalanceBreakdown
- WalletEventsFlow
- Scan
- ExportLogs
- Settings
- AlertState generic type cleanup
- crashReported TODO added
2023-06-08 09:37:05 +02:00