-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ui: Trade flow UI and improvements in Take Offer #90
Conversation
…sted in small screen devices; BisqTextField improvements
…BisqSlider; SvgImage; AmountSelector
- Take offer screens - Added Interfaces - OfferCard proper UI - Layout spacing improvements - RootNavGraph -> Optimised routes definition and improved popBack nav animation - i18n Improvements
rebased to fix compilation issue on ios |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nostrbuddha this is starting to feel like we are in the real app :D
First comment is that its been a pleasure to test this one, working great on all 3 apps.
Besides my code comments, here are some functional things I would suggest to work on before merging this one:
- "Close Trade" button at the end of the workflow should close the whole trading workflow process and go back to the original tab where all started which is buy/sell (eventually we can redirect to my trades when we have support for viewing completed trades)
- Trade Amount Slider should:
- be fixed if the offer is for a fixed price
- allow values between min/max if the offer has a min max for trade
- show only 8 decimals (for BTC, min trade is 1 SAT) or 11 decimals (for lightning mSAT is allowed) accordingly to the trade
- there is a glitch in the transition animation where sometimes it would come from the top left. Couldn't figure out how to consistently reproduce it I'll create a separate card for it if I find it.
Hope this makes sense please ask otherwise. It is ok if you prefer to leave some of this stuff above for later on, just please add TODOs or create GH issues for it 🙏
There are also some UX stuff we could improve, like title text spacing for example, but we can do that later when we have the trading fully implemented.
...mmonMain/kotlin/network/bisq/mobile/presentation/ui/components/atoms/CircularLoadingImage.kt
Show resolved
Hide resolved
...presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/di/PresentationModule.kt
Show resolved
Hide resolved
...ntation/src/commonMain/kotlin/network/bisq/mobile/presentation/ui/components/atoms/Slider.kt
Show resolved
Hide resolved
...rc/commonMain/kotlin/network/bisq/mobile/presentation/ui/components/layout/StaticScaffold.kt
Show resolved
Hide resolved
...ommonMain/kotlin/network/bisq/mobile/presentation/ui/components/molecules/DirectionToggle.kt
Outdated
Show resolved
Hide resolved
...network/bisq/mobile/presentation/ui/components/organisms/trades/TradeFlow01AccountDetails.kt
Outdated
Show resolved
Hide resolved
...otlin/network/bisq/mobile/presentation/ui/uicases/offers/takeOffer/PaymentMethodPresenter.kt
Outdated
Show resolved
Hide resolved
.../kotlin/network/bisq/mobile/presentation/ui/uicases/offers/takeOffer/ReviewTradePresenter.kt
Outdated
Show resolved
Hide resolved
.../kotlin/network/bisq/mobile/presentation/ui/uicases/offers/takeOffer/ReviewTradePresenter.kt
Show resolved
Hide resolved
} | ||
} | ||
|
||
// TODO: Should do Interface for this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably yes since this handles the wholw trade flow. This presenter is very important, it will be interacting with services and/or repositories to manage the real world data and views should be consuming what they need through the interface that this presenter will implement (see other existing examples but I'm sure you know what I'm talking about already :) )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah. Got it
Small comments:
After a trade was closed we delete all data. The user can export trade data if needed, but we intentionally dont keep history to avoid that your privacy gets weakened by your trade peers who keep all the trades and in case that computer falls into the wrong hands your persona data is revealed as well (like name, bank account,...).
In Bisq 2 we do not support mSAT. Those tiny amounts would be irrelevant in fiat terms. we also round the Fiat amount to avoid decimals and the BTC amount gets then converted to that. |
Thanks for the review @rodvar :-)
Doing this now
For an offer with fixed trade amount, we will skip this screen, similar to the flow in desktop app.
For this, created a design for btc/sats display component in Figma, as cbeams suggested. Was planning to code this component next PR. Is that okay?
Actually this happened in previous code, where transitions weren't properly defined for all routes. I thought that was fixed in this PR. Spent sometime now to try replicate this, but not happening!
Yeah sure. Once functionalities are done, I will do a last iteration of final UI polish. |
thanks Henrik @HenrikJannsen !! |
Awesome @nostrbuddha - yep the BTC/SAT component should go on a different PR, but let's keep it lo prio for now until we have all the trading fully working, do you agree? |
@HenrikJannsen @nostrbuddha maybe we can have statistics like # trades done between what currencies, and things like that without compromising any sensitive info. Anyways, that's out of the way for now 👍 |
- Close trade button logic - Fixed missed i18n keys - Removed number from Trade flow composables - Removed confusing comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nostrbuddha Just checked the last push, this is pretty much ready to merge just the slider limit on the decimals is missing.
I think we'll merge it as is and do that fix later on the "polishing" times
Pushing this, so functional integration can start happening.
This PR covers 90% of the Trade flow UI. Some pending items are