Commit Graph

401 Commits

Author SHA1 Message Date
tomFlowee f053b34ded Cleanup imports 2024-10-31 12:09:33 +01:00
tomFlowee 26b48c5c49 Add Android shortcut: Scan QML
On Android an app can ship with (static) shortcuts. We use this feature
to allow the user to create a new icon which still starts Flowee Pay,
but it instantly opens the payment screen on the QR scanner.
2024-10-31 12:09:19 +01:00
tomFlowee c97890401e Show seed-phrase-password in backup details pages. 2024-10-28 14:47:34 +01:00
tomFlowee 65eb981d83 Revise import wallet pages
The vast vast majority of wallets imported will not have a password. So
we de-prioritize that and make the user aware of the password field
should they check the contents without one.

This moves the 'wallet name' again to the top for all types as the most
observed mistake is that people type a wallet-name in the password field
and then are confused why there is nothing there. (and additionally
annoyed that the name of the wallet is auto-generated).

Other fixes includes spacing and alignment.
Keyboard focus on desktop.
2024-10-28 13:41:24 +01:00
tomFlowee 7e60f1fdea Refactor Intent: disconnect from app lifetime
The idea of using Flowee Pay to open a payment screen, or a sweep
screen, was so far married to the executable lifetime due to it being
passed as a command line argument.
This does not reflect reality, on neither desktop nor on mobile as
multi-tasking is possible and we should allow that.

As a result the new object "Intent" has been introduced with the
usecase specific properties. Setting those properties at any time
during the lifetime of the app now pushes the correct page to the
stack on mobile. Desktop is in need of more love in this department.
2024-10-27 21:54:48 +01:00
tomFlowee 8e79d9ef9b Make startup screen show the 'cash stamp' button always.
Even if the related module is not enabled.
2024-10-27 21:54:48 +01:00
tomFlowee 0fc17ea5f8 Add bch-wif scheme support for mobile
This allows a user to click on a link in a browser with the bch-wif
scheme and we'll handle that with a sweep page on startup.

To avoid this being just-another-special case we introduce a new
module (read: plugin) concept that is a Start-screen type.
The idea is that we can have a generic handling of this type in
various parts of the app without it being specifically about the
wif handling.

Notice that it doesn't matter if the user has the module enabled,
which just operates the display of the menu option to start it manually.
2024-10-27 21:54:48 +01:00
tomFlowee afa23dba9b Also move control of 'enabled' to the module dev.
The virtua method allows full freedom for module devs to interpret the
user enabling or disabling the module and any of it child sections.
2024-10-27 21:54:48 +01:00
tomFlowee 2ce52044b1 [UX] Add filter-overlay with filtred-count 2024-10-23 19:00:18 +02:00
tomFlowee 745e78e0c6 UX: add a nice background behind the section 2024-10-23 13:19:11 +02:00
tomFlowee e6011e5b01 Invert filter meaning for nicer UX 2024-10-23 12:50:31 +02:00
tomFlowee 5e9b2770aa Add red-flash on incorrect password 2024-10-23 11:45:57 +02:00
tomFlowee 0d6bfb35db Add icon for the filter action 2024-10-23 00:05:02 +02:00
tomFlowee ca63943def Refactor, move button to open. 2024-10-23 00:05:02 +02:00
tomFlowee 871e5b1abd Make the filter-popup UX nice.
This also makes us hide the cf check on a wallet that doesn't have any.
This also adds a checkbox to filter on transactions without comment
2024-10-23 00:05:02 +02:00
tomFlowee ffb85bb403 Add ability to filter history
On the mobile client this allows the user to check per wallet which kind
of transactions to show or hide.
We allow selection of send/receive/both.
We allow the hiding of cash-fusion transactions.
2024-10-23 00:05:02 +02:00
tomFlowee 9f69241bbb API level rename of 'send' to 'action'
As we get more modules it turns out that the 'send' tab as originally
envisioned isn't really representative of how we're evolving.
Various items end up being about doing 'stuff' in general. Including
creating a transaction to receive. Only in a very loose way can we
say those are 'send' items.

So, without actually any user-visible changes, this renames the
enum in the module manager and module-section to make it about the
more accurate "action menu".
2024-10-19 23:09:20 +02:00
tomFlowee 1b5e2e4bf5 UX: only show 'sent to' for outgoing transactions. 2024-10-19 22:59:55 +02:00
tomFlowee 5a729b4da2 Ensure that the feedback instantly opens
This way we don't depend on the backend, but the actual user interaction
is the one that starts the process.
2024-10-14 20:09:43 +02:00
tomFlowee 1ab012e5d7 Fix grammar. 2024-10-14 13:28:25 +02:00
tomFlowee 32d1e22c77 Improve text
Remove the atrocious text and replace it with the text we had on Desktop
which is much simpler.
2024-10-14 13:28:25 +02:00
tomFlowee ebf0f38b1f Add wallet delete / reindex features
This adds the backend code and the buttons that allow deletion of a
wallet.
Formerly you could archive a wallet and thus remove it from view,
at popular request an archived wallet now gets a button in the
wallets overview to delete the actual wallet completely.
This indeed also removes the files from disk, making it unrecoverable.

Additionally, an actually more complex feature, this allows an existing
wallet to have its history removed and start a re-scan to re-download
all transactions and build the balance.
This is useful for debugging or for recovering from buggy code we
probably had in older versions. (nobody is perfect all the time)
2024-10-11 22:12:26 +02:00
tomFlowee 9c148598e0 Add button on startup screen. 2024-10-08 22:30:24 +02:00
tomFlowee e96a401bc2 Cleanup and polish the send/sweep module 2024-10-08 21:17:09 +02:00
tomFlowee 1a5e2c5d5a UX tweaks. 2024-10-06 14:05:54 +02:00
tomFlowee d7be2d27d6 Add sendsweep properties
This exposes some of the backend data to be shown in the UI.
Also Make 'paste' available for WIFs.
2024-10-06 11:09:34 +02:00
tomFlowee 0ecb7521ad Make AccountSelectorWidget reusable without a Payment 2024-10-05 21:30:39 +02:00
tomFlowee f1f97f5347 Add op-return creation UI for desktop 2024-10-01 17:55:05 +02:00
tomFlowee 238a5d3f40 Add indicator for price data being old.
When we start up we use the last known price information and also fetch
new data.
When the user shows the price details popup before the fetch has
completed, they may be mislead into thinking that they are looking at
current data while they are not.
So this shows a bouncy while we are fetching.
2024-07-05 12:40:16 +02:00
tomFlowee d89597d89a Remove unneeded bottom padding.
This is no longer needed after a typo fix in the popup ovelay class.
2024-07-03 23:06:45 +02:00
tomFlowee 58de1827e0 Improve display of tx-details
The popup showing details of a certain list-item had the down-side that
the list item we selected was made darker with the rest of the screen,
making it harder to understand the whole info.
This change repeats the clicked item inside the popup in a way that
makes it immediately clear which transaction we are showing details of.
2024-07-03 23:06:15 +02:00
tomFlowee e671d41a10 Skip fees when unknown
We can't calculate fees when we don't know all inputs. In that case we
simply return negative fees, which the UI then does not show.
2024-07-03 18:03:17 +02:00
tomFlowee 1960bb6260 Improve the import screens a little.
This applies the knowledge learned from mobile to desktop too.
Also set the initially selected import year to 2023 and avoid
long imports for most people.
2024-06-30 23:26:25 +02:00
tomFlowee 8776e5763a Make 'back' button do what we'd expect. 2024-06-29 12:15:30 +02:00
tomFlowee b073a6ab64 Fix regression, handle the checkbox in all cases. 2024-06-29 12:15:30 +02:00
tomFlowee bfa373dc99 Update basic description of the Blocks module
This also adds an icon.
2024-06-26 23:39:30 +02:00
tomFlowee e2d1251fc3 Move the UI to allow imports only from 2011 2024-06-26 17:55:53 +02:00
tomFlowee 7ba275fd53 On resolve start-date, show it in the UI
We use the same header-heights lookup table to show the actual month to
the user on resolve.
The resolve is the fetch of first-use of an address or seed, this
returns a blockheight from elecrum servers only and that isn't very
user-friendly. As such this now fills the comboboxes with the proper
month/year for better understanding.
2024-06-24 22:33:53 +02:00
tomFlowee 92be995fdd Hide 'blocks' module from user for now
There isn't yet any user interface they can see, so no point in showing
it to the user in the 'explore' part of the app.
2024-06-23 19:55:11 +02:00
tomFlowee a4d394aca1 Re-order and cleanup the import (seed) page.
This makes the language simpler and makes clear that the password field
is related to the import. Second, the name-field is now moved closer to
the big 'start' button and has a more obvious title.
2024-06-23 19:37:58 +02:00
tomFlowee 7005507041 Help resolve blockheight
This is the import page, it will certainly be possible for a
user to import a wallet that is older than the headers on their
device. In that case using the headers to resolve the height can't
work.
Circular dependency: Need headers to know which headers to download...

So, we hardcode the historical blockheights here for each month that
the user can select.
Notice that the dates are the first of each month, at the UTC-16
time-line.
2024-06-23 19:37:58 +02:00
tomFlowee 47f991a36e Make the DownloadChecker.qml actually functional.
The ImportWalletPage now loads the QML provided by the module,
exposed via the metadata of modules.
The module gets just a blockheight property and then will do
"its thing".
This will either instantly close when there is nothing to do
and continue instantly to the actual import.

Or the module will check the server, initiate download and when
all is setup and done THEN close the popup and continue with
the actual import.
2024-06-23 19:37:58 +02:00
tomFlowee 9efafda55d Reuse the QRScanner widget on desktop.
"Desktop" in most people's cases means laptop, of which many have
a camera. So why not allow the camera to be used to scan things?
2024-05-07 15:45:07 +02:00
tomFlowee 3926268b5d UX bugfix; only show instapay limit on payment scan
This makes sure that if we use the QR scanning page for scanning a
private key, this does not list our intapay limits.
2024-05-06 22:05:33 +02:00
tomFlowee bb9dfc9d41 Small UX fix 2024-05-06 22:05:33 +02:00
tomFlowee 97c1485560 Move the 'import' card up one. 2024-05-06 22:05:33 +02:00
tomFlowee 84e72bc606 Move image from mobile to common. 2024-05-05 20:52:26 +02:00
tomFlowee 2a507a6a96 Move the TextPasteDecorator (and icon) to common
The widget actually is pretty useful on desktop too.
2024-05-05 20:52:26 +02:00
tomFlowee dbb399fc7a Simplify the CardTypeSelector
Make the selector more compact, Instead of showing empty space, make
the size just fit the actual content.
This makes it more usable on mobile layouts.

Also improve the UX of the NewAccount page on mobile, less implicit text
and more explicit intention based titles.

Last, make the title-label's font scale to fit the size it is given.
2024-05-05 20:52:26 +02:00
tomFlowee da8802c6d1 Re-do the 'import wallet' screen (mobile)
This completely re-designed the 'import wallet' screens on
mobile.
We use the various new features available now, most importantly the
ability to detect derivation and start-height from an electrum
indexing server.
2024-05-05 20:52:26 +02:00