Prior to this commit, the function was expected on a `chatView` QML object.
This has worked out so far because the places where the API is used were always
living inside `ChatLayout`.
With the new timeline however, this is no longer the case so we have to make sure
that the API is available to other views as well.
This is needed when accessing the context menu from the timeline status updates.
Previously, it'd only change the active channel because it assumed the user is already
in the chat view. This is no longer the case when in timeline view, so we need to make sure
we first navigate to the chat view.
We've introduced a bug in https://github.com/status-im/nim-status-client/commit/8fd28dfa where a
non-existing `UnblockContactConfirmationDialog` usage was added.
This commit changes it to be a standard `ConfirmationDialog` to make the application compile
again.
This PR is a response to @emizzle's suggested change in PR #1431 . It checks if a user is blocked before exposing certain functionality to the user in a Profile popup. The new unblock button also has a fail-safe unblock confirmation popup
disable the chat input if 1-on-1 chat recipient has been blocked.
Fixes: #926.
Gas estimations were not being decoded correctly (indicated with "error getting gas price predictions" in the console) and were preventing transaction dialogs from continuing past the step containing the GasSelector component. This affected mainnet only, because in testnet we have hardcoded gas prices (for when the gas prices on mainnet are insane) which is why it was not apparent in testnet.
fix: Contract address not showing correctly
This was caused by `getStickerMarketContractAddress` being moved to `utilsView` but not updated in QML
Closes: #586
Previously, loading sticker packs and stickers would show a lot of blank and non-interactive content.
Now, stickers and sticker packs have grey circles to indicate loading. Additionally, the sticker market button (+) shows a loading indicator until the sticker packs are loaded.
Related to: #586.
Adds a loading state to stickers, so that a loading indicator appears while the sticker is being downloaded from IPFS.
In the case of a network failure or timetout, a reload button is shown instead. Once network is restored and the reload button is clicked, the image is reloaded from the network, going through the same lifecycle of showing the loading state first.
This component introduces `StatusLetterIdenticon`, `StatusImageIdenticon`
and `StatusIdenticon`.
- `StatusLetterIdenticon` renders an identicon with a single letter based on a
name.
- `StatusImageIdenticon` renders an actual image based on an identicon URL
- `StatusIdenticon` is a composition of the former both, but with a loading mechanism
to decide which should be rendered
The commit also ensures all of these components are used respectively throughout
the application.