diff --git a/lnbits/core/models.py b/lnbits/core/models.py
index 7e5930f3b..8c6403e8f 100644
--- a/lnbits/core/models.py
+++ b/lnbits/core/models.py
@@ -113,8 +113,6 @@ class Account(BaseModel):
username: Optional[str] = None
password_hash: Optional[str] = None
email: Optional[str] = None
- balance_msat: Optional[int] = 0
- last_payment: Optional[datetime] = None
extra: Optional[UserExtra] = None
created_at: datetime = datetime.now()
updated_at: datetime = datetime.now()
@@ -144,6 +142,8 @@ class Account(BaseModel):
class AccountOverview(Account):
transaction_count: Optional[int] = 0
wallet_count: Optional[int] = 0
+ balance_msat: Optional[int] = 0
+ last_payment: Optional[datetime] = None
class AccountFilters(FilterModel):
diff --git a/lnbits/core/templates/core/wallet.html b/lnbits/core/templates/core/wallet.html
index 795f923d9..0f9db18cc 100644
--- a/lnbits/core/templates/core/wallet.html
+++ b/lnbits/core/templates/core/wallet.html
@@ -6,7 +6,7 @@
{% endblock %}
-{% block title %} {{ wallet.name }} - {{ SITE_TITLE }} {% endblock %}
+{% block title %}{{ wallet_name }} - {{ SITE_TITLE }} {% endblock %}
{% block page %}
diff --git a/lnbits/core/views/generic.py b/lnbits/core/views/generic.py
index d138a3da3..b0733f6a7 100644
--- a/lnbits/core/views/generic.py
+++ b/lnbits/core/views/generic.py
@@ -202,6 +202,7 @@ async def wallet(
{
"user": user.json(),
"wallet": wallet.json(),
+ "wallet_name": wallet.name,
"currencies": allowed_currencies(),
"service_fee": settings.lnbits_service_fee,
"service_fee_max": settings.lnbits_service_fee_max,
diff --git a/lnbits/db.py b/lnbits/db.py
index 96e8b2185..058fb36bd 100644
--- a/lnbits/db.py
+++ b/lnbits/db.py
@@ -619,7 +619,7 @@ def dict_to_model(_row: dict, model: type[TModel]) -> TModel:
"""
# TODO: no recursion, maybe make them recursive?
# TODO: check why keys are sometimes not in the dict
- _dict = {}
+ _dict: dict = {}
for key, value in _row.items():
if key not in model.__fields__:
logger.warning(f"Converting {key} to model `{model}`.")
@@ -628,6 +628,9 @@ def dict_to_model(_row: dict, model: type[TModel]) -> TModel:
continue
type_ = model.__fields__[key].type_
if issubclass(type_, BaseModel) and value is not None:
+ if isinstance(value, str) and value == "null":
+ _dict[key] = None
+ continue
_dict[key] = type_.construct(**json.loads(value))
continue
_dict[key] = value
diff --git a/lnbits/templates/components.vue b/lnbits/templates/components.vue
index ac9301df1..f2f764a5f 100644
--- a/lnbits/templates/components.vue
+++ b/lnbits/templates/components.vue
@@ -585,12 +585,12 @@
:rows="paymentsOmitter"
:row-key="paymentTableRowKey"
:columns="paymentsTable.columns"
- :pagination.sync="paymentsTable.pagination"
:no-data-label="$t('no_transactions')"
:filter="paymentsTable.search"
:loading="paymentsTable.loading"
:hide-header="mobileSimple"
:hide-bottom="mobileSimple"
+ v-model:pagination="paymentsTable.pagination"
@request="fetchPayments"
>