* feat: Support Send templates with multiple recipients
* feat: use only first name for template display, and sum total amount
* fix: amounts being wiped
* feat: make send template card buttons function like send card
* feat: replace amount -> name for template name
* fix: template name
* 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>
* 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>
* feat(Talkback): make add contact button labeled
* feat(Talkback): add labeled semantics to cakepay buttons
- Use BasePage's default labeled back button instead of override
- Add filter button semantics
- Add ExcludeSemantics to search icon because it was messing with the whole search input box semantics and making it sound like an unlabeled button
- Add profile button label
* feat(Talkback): add labeled semantics to send page buttons
- Add semantics label to Paste button
- Add semantics label to Scan button
- Add semantics label to Address Book button
* fix: use i18n strings instead of hardcoded semantics labels and add missing 'profile' string
* fix: also add localization to back button on base page
* fix(Talkback): add the rest of localized strings & add missing close string
* fix: pt strings
* feat: add correct strings using translate script
* Update strings_yo.arb [skip ci]
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* refactor: Improve Monero/Haven account selection picker
* feat: If the amount would be wrapped, instead display it under the account name
* fix: balance str
* refactor: add theme changes
* refactor: remove duplicate observer
* feat(strings): create new script to auto translate all files
* - Fix path issue in append_translation.sh
- Document flow for using it
- Reformat localization files
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* feat: replace "swipe to delete" wallet action with a delete / trash icon on the right
* fix: remove InkWell and _actionPane actions
* feat: add a bit of padding from the end
* feat: allow reversing displayMode by long pressing on transactions page
* feat: allow reversing displayMode by long pressing on send page
* revert: revert transaction_list_item.dart but keep BalanceDisplayMode get displayMode => balanceViewModel.displayMode
* 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
* feat: Proper Bitcoin address validation in exchange screen
* fix: use custom validation in addition to RegEx to make sure all address cases are validated
- for cases like P2SH addresses starting with a 3, which are not validated by bitcoin_flutter functions
* feat: add bitcoin_flutter to root project
* refactor: improve conditional isValid return chain
* feat: enhance contact page address validation
- only shows address box when a currency is selected, to prevent the selected value from being null
- changes TextValidator() for the new AddressValidator()
* fix: use -1 for initial selectedAtIndex, since there is no currency yet selected
* feat: Proper Bitcoin address validation in exchange screen
* fix: use custom validation in addition to RegEx to make sure all address cases are validated
- for cases like P2SH addresses starting with a 3, which are not validated by bitcoin_flutter functions
* feat: add bitcoin_flutter to root project
* refactor: improve conditional isValid return chain
* feat: In the privacy settings screen, add 2 options to Enable/Disable Buy and Sell actions
* fix: add strings
* fix: add the rest of the strings
* fix: disable instead of hide buy & sell buttons
* fix: use disableSell
* fix: main actions able to be onTapped even when disabled
* feat: use common modal widget for repeated picker logic and display
* refactor: rename widget
* refactor: clear wrapper logic from picker widget and move title to hasTitle
* Minor code readability enhancements [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* feat: Add missing title on wallet_list_page.dart
* feat: add bool lightTitleColor value when theme needs lighter color title, instead of hardcoding to Colors.white
- Light color theme taken from Share button from receive page
* fix: revert changes & use currentTheme.type to use proper theme style
* fix: use share button color logic also on overriden leading Widget on address_page
* refactor: remove unnecessary titleColor
* fix(#536): add talkback support to missing main and common elements
* fix(#564): add talkback support for slidable node items & addresses page
* fix: add missing delete button from add pin widget
* fix: Currency picker UI when keyboard is showing
* refactor: move picker logic into the common Picker widget
- CurrencyPicker uses the common Picker widget in grid mode
- SeedLanguagePicker uses the common Picker widget in grid mode
- Added logic for keyboard showing UI into Picker widget
- Added `softWrap: true` to the item text, so it doesn't overflow
* fix: remove subPickerItemsList
* fix: add final
* fix: move function out of initState()
* fix: keep build functions separate to remove boolean comparisons
* fix: remove onItemSelected from already selected item
* fix: change Expanded for Flexible widget