mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-22 21:55:53 +00:00
Add a Pending Signatures card to the wallet home screen
Surfaces multisig operations awaiting the current signatory's own approval directly on the main balance screen, instead of requiring navigation to the separate pending-operations list. Each row shows the formatted amount, destination, chain, and approval progress, with a red Sign button that opens the existing operation-details/approve flow (fee estimation, signatory balance check, and validation are all already handled there - not reimplemented here). Reuses the already-tested MultisigCallFormatter from feature-multisig:operations (added as a new feature-assets dependency, exposed via the standard FeatureApi/FeatureContainer pattern - see AssetsFeatureHolder/AssetsFeatureComponent/AssetsFeatureDependencies) rather than re-deriving call-preview formatting independently. The card follows the same SingleItemAdapter + ConcatAdapter pattern as the existing Pezkuwi Dashboard card on the same screen. Once a pending operation is actually signed, it naturally drops off this list on the next sync (no separate client-side "signed" state is tracked in parallel with the real on-chain approval status). String only added to the base (English) strings.xml for now - not yet translated into the other ~14 locales this app otherwise maintains.
This commit is contained in:
@@ -108,6 +108,8 @@ import io.novafoundation.nova.feature_ledger_impl.presentation.account.addChain.
|
||||
import io.novafoundation.nova.feature_ledger_impl.presentation.account.common.selectLedger.SelectLedgerPayload
|
||||
import io.novafoundation.nova.feature_multisig_operations.presentation.created.MultisigCreatedBottomSheet
|
||||
import io.novafoundation.nova.feature_multisig_operations.presentation.created.MultisigCreatedPayload
|
||||
import io.novafoundation.nova.feature_multisig_operations.presentation.details.general.MultisigOperationDetailsFragment
|
||||
import io.novafoundation.nova.feature_multisig_operations.presentation.details.general.MultisigOperationDetailsPayload
|
||||
import io.novafoundation.nova.feature_onboarding_impl.OnboardingRouter
|
||||
import io.novafoundation.nova.feature_onboarding_impl.presentation.welcome.WelcomeFragment
|
||||
import io.novafoundation.nova.feature_swap_api.presentation.model.SwapSettingsPayload
|
||||
@@ -983,6 +985,12 @@ class Navigator(
|
||||
.navigateInFirstAttachedContext()
|
||||
}
|
||||
|
||||
override fun openMultisigOperationDetails(payload: MultisigOperationDetailsPayload) {
|
||||
navigationBuilder().action(R.id.action_multisigOperationDetailsFragment)
|
||||
.setArgs(MultisigOperationDetailsFragment.createPayload(payload))
|
||||
.navigateInFirstAttachedContext()
|
||||
}
|
||||
|
||||
override fun openMainWithFinishMultisigTransaction(accountWasSwitched: Boolean) {
|
||||
val payload = MultisigCreatedBottomSheet.createPayload(MultisigCreatedPayload(accountWasSwitched))
|
||||
openSplitScreenWithInstantAction(R.id.action_open_multisigCreatedDialog, nestedActionExtras = payload)
|
||||
|
||||
Reference in New Issue
Block a user