Commit Graph

807 Commits

Author SHA1 Message Date
tomFlowee 7383f1eb3c Add progress indicators on wallet list items. 2024-12-23 23:36:27 +01:00
tomFlowee 3ba6d494ca like mobile, hide network status when synched 2024-12-23 22:55:09 +01:00
tomFlowee a66352b6d1 Avoid quick toggling of dark-mode
The toggle on some devices takes a second or 2, as such it may be
tempting to press multiple times waiting for the change.
This hardcodes a 3 second wait to increase the UX a little.
2024-12-23 22:45:22 +01:00
tomFlowee 580faaa67a Don't show fees when not know.
When the fees return zero, this is almost certainly due to us
lacking the information to determine the fees paid.
2024-12-23 22:31:34 +01:00
tomFlowee 4559b68f93 Avoid duplication, create utils file
This moves the heuristic to exist only once and avoids duplicating it.
Additionally this increases the checks accuracy.
Last, the 'moved' price in desktop now is white to indicate it is
not a balance change.
2024-12-23 22:26:54 +01:00
tomFlowee 341be443bb Avoid confusion 2024-12-23 22:07:07 +01:00
tomFlowee 1b1bf7164b Rename property and be consistent.
The TextButton already had an 'image' and now got an 'icon'
added. So having the fallback of the image have a name with
icon in it was just confusing.
2024-12-23 18:51:55 +01:00
tomFlowee 86ced6f747 Avoid duplication, move to file. 2024-12-23 18:44:30 +01:00
tomFlowee e200766dda Split camera and intent out of the handling pages
In the send-sweep module as well as in the PayWithQR this removes
the UserIntent handling and instead moves that to the main.qml
exclusively.
Additionally in the send-sweep module the camera work is split
into its own page, like in the other parts of the app. This helps
us avoiding hacks when we want the main functionality without the
camera.

This is the last of the series of reworks, we should have all
former functionality working again.
2024-12-23 18:36:36 +01:00
tomFlowee 29fa685c09 Fix isPayment property for QR scanner page 2024-12-22 17:37:04 +01:00
tomFlowee 33799f0c1f Add new tab 'Explore'.
Continuing the 'rework send page' series.

This moves stuff that had no business being on the "Send" page to
live on a new tab instead. Prime example was the 'sweep' module
that creates a transaction we send, but to ourselves. So it's far
fetched that it fits in 'send'.
2024-12-22 17:23:27 +01:00
tomFlowee 644241255f Revert "API level rename of 'send' to 'action'"
This reverts commit 9f69241bbb.

Reason for revert is that instead of renaming the send, we're now
creating a new tab instead. So we'll keep "Send" and add a new one
as well.
2024-12-22 15:02:30 +01:00
tomFlowee 3800093643 Rework 'Send' page. Part 1.
The initial design has done well for over 2 years, but problems
are starting to show.

This does a bit of cleanup in the UX and many cleanups in the
underlying architecture that were the result of those UX choices.

We remove the clipboard (paste) concept from the camera pipeline
completely and simply make it a new top-level button "paste" on the
send page. This helps discovery AND helps architecture!

The both workflows now also become 2 stage affairs, when the button
is pressed we open a page that does the scanning or pasting and then
introspects the actual data in order to redirect to the right page.
This means that we auto-detect if the scanned item is an address or
a private key or whatever, and handle it appropriately without needing
any user interaction.
2024-12-22 14:56:14 +01:00
tomFlowee 184ca5136a Draft UX idea 2024-12-21 13:04:19 +01:00
tomFlowee b64082dfa4 Add icon feature to TextButton 2024-12-21 12:50:53 +01:00
tomFlowee 6e6c909be5 Add Christmas-egg
The easter-egg for Christmas.
2024-12-18 13:05:52 +01:00
tomFlowee 86dcb5c39e Stop mixing two format types
This now switches to only using html, removing some markdown headers.
2024-12-16 10:10:12 +01:00
tomFlowee 45832b1b9e Rewrite progressbar UI component
Have a different approach which makes everything much simpler
2024-12-01 13:57:18 +01:00
tomFlowee bc2ee8abe6 Auto hide sync status when we're up to date.
This upgrades us to no longer use the expected block height based
on current time, but instead uses the certainty we get from asking
various peers for their view of the world.
Now when we are certain that we're at the same tip as the rest of
the world, we can safely hide the 'up to date' text and make the UX
again a little bit simpler.
2024-11-30 16:54:55 +01:00
tomFlowee f72663df66 Add backup sync progress to bar 2024-11-30 14:33:15 +01:00
tomFlowee d16695c35b Qualify properties when not clear. 2024-11-29 15:50:42 +01:00
tomFlowee 527c1c3dc5 Various possible fixes for camera usage. 2024-10-31 20:50:01 +01:00
tomFlowee 7a7270e9d8 Fix linter warnings from QML 2024-10-31 15:32:36 +01:00
tomFlowee 168dd95430 Document that Qt fixed this. 2024-10-31 14:50:01 +01:00
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 ad8287da1e Add filterpopup.qml
also sort the list alphabetically
2024-10-23 12:57:53 +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 148cbadcd5 UX: make 'paste' button always be there
To amke it more clear that the QR scanning screen also always allows
clipboard input, make the paste button always be there and just make
it have a constrasting background when the clipboard content is
acceptable.

We also add a 'shake' feedback when the paste doesn't work, and naturall
the paste button is available for clicking even if it doesn't look
'enabled' which will then just result in a shake and 'failed' feedback.
2024-10-23 00:05:02 +02:00
tomFlowee d8e082fed1 Simplify: don't import local dir 2024-10-19 23:36:09 +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 2e14659371 Move to the first tab on finishing import. 2024-10-18 15:54:23 +02:00
tomFlowee c2e838d1ef Remove GUI debug logging. 2024-10-18 15:54:23 +02:00
tomFlowee 48566f1fa6 Fix documentation of property 2024-10-14 20:09:43 +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 40e94b8255 Consistency in wording
Now both the 'new account' tabs have the same style of grammar
2024-10-14 13:28:25 +02:00