Skip to content
Snippets Groups Projects

Prepare withdraw routes part of the HP managament

Merged Jakub Ziebinski requested to merge jziebinski/withdraw-routes-prepare into develop
Compare and Show latest version
11 files
+ 89
82
Compare changes
  • Side-by-side
  • Inline
Files
11
@@ -4,7 +4,7 @@ from datetime import datetime
from typing import TYPE_CHECKING
from textual import on
from textual.containers import Horizontal, ScrollableContainer
from textual.containers import Horizontal
from textual.widgets import Pretty, Static, TabPane
from clive.__private.core.formatters.humanize import humanize_datetime
@@ -17,6 +17,7 @@ from clive.__private.ui.operations.hive_power_management.common_hive_power.opera
OperationNameInfo,
)
from clive.__private.ui.operations.operation_summary.cancel_power_down import CancelPowerDown
from clive.__private.ui.widgets.can_focus_with_scrollbars_only import CanFocusWithScrollbarsOnly
from clive.__private.ui.widgets.clive_button import CliveButton
from clive.__private.ui.widgets.clive_checkerboard_table import (
EVEN_CLASS_NAME,
@@ -45,7 +46,7 @@ class PlaceTaker(Static):
pass
class ScrollablePart(ScrollableContainer):
class ScrollablePart(CanFocusWithScrollbarsOnly):
pass
@@ -80,9 +81,9 @@ class WithdrawRoutesDisplay(CliveWidget):
class PendingPowerDownHeader(Horizontal):
def compose(self) -> ComposeResult:
yield Static("Next power down", classes=EVEN_CLASS_NAME)
yield Static("Power down [HP]", classes=ODD_CLASS_NAME)
yield Static("Power down [VESTS]", classes=EVEN_CLASS_NAME)
yield Static("Next power down", classes=ODD_CLASS_NAME)
yield Static("Power down [HP]", classes=EVEN_CLASS_NAME)
yield Static("Power down [VESTS]", classes=ODD_CLASS_NAME)
yield PlaceTaker()
@@ -101,7 +102,7 @@ class PendingPowerDown(CliveCheckerboardTable):
CliveCheckerBoardTableCell(humanize_datetime(content.next_vesting_withdrawal)),
CliveCheckerBoardTableCell(Asset.pretty_amount(content.next_power_down.hp_balance)),
CliveCheckerBoardTableCell(Asset.pretty_amount(content.next_power_down.vests_balance)),
CliveButton("Cancel", variant="error"),
CliveCheckerBoardTableCell(CliveButton("Cancel", variant="error")),
)
]
@@ -146,6 +147,7 @@ class PowerDown(TabPane, OperationActionBindings):
obj_to_watch=self._shares_input.input,
attribute_name="value",
callback=self._calculate_one_withdrawal,
init=False,
)
self._one_withdrawal_display.display = False
@@ -162,8 +164,8 @@ class PowerDown(TabPane, OperationActionBindings):
def _get_shares_balance(self) -> Asset.Hive | Asset.Vests:
if self._shares_input.selected_asset_type is Asset.Hive:
return self.provider.content.owned_balance.hp_balance
return self.provider.content.owned_balance.vests_balance
return self.provider.content.owned_balance.hp_balance - self.provider.content.delegated_balance.hp_balance
return self.provider.content.owned_balance.vests_balance - self.provider.content.delegated_balance.vests_balance
def _calculate_one_withdrawal(self) -> str:
"""The withdrawal is divided into 13 parts - calculate and inform the user of the amount of one of them."""
Loading