mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-03-09 16:04:47 +01:00
Added extra default ads to support project (#2421)
This commit is contained in:
parent
839fe8b96d
commit
d78f6a1f9e
10 changed files with 38 additions and 25 deletions
|
@ -69,7 +69,6 @@ from .tasks import (
|
||||||
|
|
||||||
|
|
||||||
async def startup(app: FastAPI):
|
async def startup(app: FastAPI):
|
||||||
|
|
||||||
# wait till migration is done
|
# wait till migration is done
|
||||||
await migrate_databases()
|
await migrate_databases()
|
||||||
|
|
||||||
|
@ -177,7 +176,6 @@ def create_app() -> FastAPI:
|
||||||
|
|
||||||
|
|
||||||
async def check_funding_source() -> None:
|
async def check_funding_source() -> None:
|
||||||
|
|
||||||
funding_source = get_funding_source()
|
funding_source = get_funding_source()
|
||||||
|
|
||||||
max_retries = settings.funding_source_max_retries
|
max_retries = settings.funding_source_max_retries
|
||||||
|
|
|
@ -146,14 +146,17 @@ async def create_invoice(
|
||||||
f"{settings.lnbits_wallet_limit_max_balance} sats."
|
f"{settings.lnbits_wallet_limit_max_balance} sats."
|
||||||
)
|
)
|
||||||
|
|
||||||
ok, checking_id, payment_request, error_message = (
|
(
|
||||||
await funding_source.create_invoice(
|
ok,
|
||||||
amount=amount_sat,
|
checking_id,
|
||||||
memo=invoice_memo,
|
payment_request,
|
||||||
description_hash=description_hash,
|
error_message,
|
||||||
unhashed_description=unhashed_description,
|
) = await funding_source.create_invoice(
|
||||||
expiry=expiry or settings.lightning_invoice_expiry,
|
amount=amount_sat,
|
||||||
)
|
memo=invoice_memo,
|
||||||
|
description_hash=description_hash,
|
||||||
|
unhashed_description=unhashed_description,
|
||||||
|
expiry=expiry or settings.lightning_invoice_expiry,
|
||||||
)
|
)
|
||||||
if not ok or not payment_request or not checking_id:
|
if not ok or not payment_request or not checking_id:
|
||||||
raise InvoiceError(error_message or "unexpected backend error.")
|
raise InvoiceError(error_message or "unexpected backend error.")
|
||||||
|
|
|
@ -502,18 +502,28 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% if AD_SPACE %} {% for ADS in AD_SPACE %} {% set AD = ADS.split(';') %}
|
{% if AD_SPACE %}
|
||||||
<div class="col-6 col-sm-4 col-md-8 q-gutter-y-sm">
|
<div class="q-mx-auto">
|
||||||
<q-btn flat color="secondary" class="full-width q-mb-md"
|
<q-btn flat color="secondary" class="full-width q-mb-md"
|
||||||
>{{ AD_SPACE_TITLE }}</q-btn
|
>{{ AD_SPACE_TITLE }}</q-btn
|
||||||
>
|
>
|
||||||
|
<div class="row justify-center">
|
||||||
|
{% for ADS in AD_SPACE %} {% set AD = ADS.split(';') %}
|
||||||
|
<div class="flex flex-center column">
|
||||||
|
<a href="{{ AD[0] }}">
|
||||||
|
<img
|
||||||
|
v-if="($q.dark.isActive)"
|
||||||
|
src="{{ AD[1] }}"
|
||||||
|
style="max-width: 420px"
|
||||||
|
/>
|
||||||
|
<img v-else src="{{ AD[2] }}" style="max-width: 420px" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<a href="{{ AD[0] }}" class="q-ma-md">
|
{% endfor %}
|
||||||
<img v-if="($q.dark.isActive)" src="{{ AD[1] }}" style="max-width: 90%" />
|
</div>
|
||||||
<img v-else src="{{ AD[2] }}" style="max-width: 90%" />
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
{% endfor %} {% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div v-if="'{{SITE_TITLE}}' == 'LNbits'" class="row gt-sm q-mt-xl">
|
<div v-if="'{{SITE_TITLE}}' == 'LNbits'" class="row gt-sm q-mt-xl">
|
||||||
<div class="col-1"></div>
|
<div class="col-1"></div>
|
||||||
|
|
|
@ -459,19 +459,21 @@
|
||||||
</q-list>
|
</q-list>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
{% endif %} {% if AD_SPACE %} {% for ADS in AD_SPACE %} {% set AD =
|
{% endif %} {% if AD_SPACE %}
|
||||||
ADS.split(";") %}
|
|
||||||
<q-card>
|
<q-card>
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
<h6 class="text-subtitle1 q-mt-none q-mb-sm">
|
<h6 class="text-subtitle1 q-mt-none q-mb-sm">
|
||||||
{{ AD_SPACE_TITLE }}
|
{{ AD_SPACE_TITLE }}
|
||||||
</h6>
|
</h6>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
{% for ADS in AD_SPACE %} {% set AD = ADS.split(";") %}
|
||||||
|
|
||||||
<q-card-section class="q-pa-none">
|
<q-card-section class="q-pa-none">
|
||||||
<a
|
<a
|
||||||
style="display: inline-block"
|
style="display: inline-block"
|
||||||
href="{{ AD[0] }}"
|
href="{{ AD[0] }}"
|
||||||
class="q-ma-md"
|
class="q-ml-md q-mb-xs q-mr-md"
|
||||||
|
style="max-width: 80%"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
style="max-width: 100%; height: auto"
|
style="max-width: 100%; height: auto"
|
||||||
|
@ -483,8 +485,10 @@
|
||||||
v-else
|
v-else
|
||||||
src="{{ AD[2] }}"
|
src="{{ AD[2] }}"
|
||||||
/>
|
/>
|
||||||
</a> </q-card-section></q-card
|
</a> </q-card-section
|
||||||
>{% endfor %} {% endif %}
|
>{% endfor %}
|
||||||
|
</q-card>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,7 @@ class ThemesSettings(LNbitsSettings):
|
||||||
lnbits_custom_logo: str = Field(default=None)
|
lnbits_custom_logo: str = Field(default=None)
|
||||||
lnbits_ad_space_title: str = Field(default="Supported by")
|
lnbits_ad_space_title: str = Field(default="Supported by")
|
||||||
lnbits_ad_space: str = Field(
|
lnbits_ad_space: str = Field(
|
||||||
default="https://shop.lnbits.com/;/static/images/lnbits-shop-light.png;/static/images/lnbits-shop-dark.png"
|
default="https://shop.lnbits.com/;/static/images/bitcoin-shop-banner.png;/static/images/bitcoin-shop-banner.png,https://affil.trezor.io/aff_c?offer_id=169&aff_id=33845;/static/images/bitcoin-hardware-wallet.png;/static/images/bitcoin-hardware-wallet.png,https://opensats.org/;/static/images/open-sats.png;/static/images/open-sats.png"
|
||||||
) # sneaky sneaky
|
) # sneaky sneaky
|
||||||
lnbits_ad_space_enabled: bool = Field(default=False)
|
lnbits_ad_space_enabled: bool = Field(default=False)
|
||||||
lnbits_allowed_currencies: list[str] = Field(default=[])
|
lnbits_allowed_currencies: list[str] = Field(default=[])
|
||||||
|
|
BIN
lnbits/static/images/bitcoin-hardware-wallet.png
Normal file
BIN
lnbits/static/images/bitcoin-hardware-wallet.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
lnbits/static/images/bitcoin-shop-banner.png
Normal file
BIN
lnbits/static/images/bitcoin-shop-banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 55 KiB |
BIN
lnbits/static/images/open-sats.png
Normal file
BIN
lnbits/static/images/open-sats.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
|
@ -28,7 +28,6 @@ class TestMock(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class Mock(FunctionMock, TestMock):
|
class Mock(FunctionMock, TestMock):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def combine_mocks(fs_mock, test_mock):
|
def combine_mocks(fs_mock, test_mock):
|
||||||
_mock = fs_mock | test_mock
|
_mock = fs_mock | test_mock
|
||||||
|
|
|
@ -45,7 +45,6 @@ async def test_rest_wallet(httpserver: HTTPServer, test_data: WalletTest):
|
||||||
|
|
||||||
|
|
||||||
def _apply_mock(httpserver: HTTPServer, mock: Mock):
|
def _apply_mock(httpserver: HTTPServer, mock: Mock):
|
||||||
|
|
||||||
request_data: Dict[str, Union[str, dict]] = {}
|
request_data: Dict[str, Union[str, dict]] = {}
|
||||||
request_type = getattr(mock.dict(), "request_type", None)
|
request_type = getattr(mock.dict(), "request_type", None)
|
||||||
# request_type = mock.request_type <--- this des not work for whatever reason!!!
|
# request_type = mock.request_type <--- this des not work for whatever reason!!!
|
||||||
|
|
Loading…
Add table
Reference in a new issue