Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from lnbits.core import db as core_db
from lnbits.core.models import Payment
from lnbits.core.services import websocketUpdater
from lnbits.core.services import websocket_updater
from lnbits.helpers import get_current_extension_name
from lnbits.tasks import register_invoice_listener

Expand Down Expand Up @@ -65,11 +65,11 @@ async def on_invoice_paid(payment: Payment) -> None:
except (httpx.ConnectError, httpx.RequestError):
await mark_webhook_sent(payment, -1)
if payment.extra.get("comment"):
await websocketUpdater(
await websocket_updater(
copilot.id, str(data) + "-" + str(payment.extra.get("comment"))
)

await websocketUpdater(copilot.id, str(data) + "-none")
await websocket_updater(copilot.id, str(data) + "-none")


async def mark_webhook_sent(payment: Payment, status: int) -> None:
Expand Down
131 changes: 117 additions & 14 deletions templates/copilot/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -220,15 +220,51 @@ <h6 class="text-subtitle1 q-my-none">
<q-card-section>
<div class="row">
<div class="col">
<q-toggle
:label="`${formDialogCopilot.toggle ? 'Select' : 'Upload'}`"
v-model="formDialogCopilot.toggle"
></q-toggle>
</div>
<div class="col">

<q-select
v-if="formDialogCopilot.toggle"
filled
dense
v-model.trim="formDialogCopilot.data.animation1"
:options="options"
label="Animation"
/>
></q-select>

<q-file
v-else
filled
dense
capture="environment"
accept="image/jpeg, image/png"
:max-file-size="3*1024**2"
label="Small image (optional)"
clearable
@input="imageAdded"
@clear="imageCleared"
>
<template v-if="formDialogCopilot.data.image" v-slot:before>
<img style="height: 1em" :src="itemDialog.data.image" />
</template>
<template v-if="formDialogCopilot.data.image" v-slot:append>
<q-icon
name="cancel"
@click.stop.prevent="imageCleared"
class="cursor-pointer"
/>
</template>
<q-tooltip>Upload small image</q-tooltip>
</q-file>


</div>


<div class="col q-pl-xs">
<q-input
filled
Expand All @@ -241,6 +277,8 @@ <h6 class="text-subtitle1 q-my-none">
min="10"
>
</q-input>


</div>
<div class="col q-pl-xs">
<q-input
Expand All @@ -263,20 +301,52 @@ <h6 class="text-subtitle1 q-my-none">
expand-separator
label="Payment threshold 2 (Must be higher than last)"
>
<q-card>
<q-card>
<q-card-section>
<div
class="row"
v-if="formDialogCopilot.data.animation1threshold > 0"
>
<div class="row">
<div class="col">
<q-toggle
:label="`${formDialogCopilot.toggle2 ? 'Select' : 'Upload'}`"
v-model="formDialogCopilot.toggle2"
></q-toggle>
</div>
<div class="col">

<q-select
v-if="formDialogCopilot.toggle2"
filled
dense
v-model.trim="formDialogCopilot.data.animation2"
:options="options"
label="Animation"
/>
></q-select>

<q-file
v-else
filled
dense
capture="environment"
accept="image/jpeg, image/png"
:max-file-size="3*1024**2"
label="Small image (optional)"
clearable
@input="imageAdded"
@clear="imageCleared"
>
<template v-if="formDialogCopilot.data.image2" v-slot:before>
<img style="height: 1em" :src="itemDialog.data.image2" />
</template>
<template v-if="formDialogCopilot.data.image2" v-slot:append>
<q-icon
name="cancel"
@click.stop.prevent="imageCleared"
class="cursor-pointer"
/>
</template>
<q-tooltip>Upload small image</q-tooltip>
</q-file>


</div>

<div class="col q-pl-xs">
Expand Down Expand Up @@ -312,20 +382,52 @@ <h6 class="text-subtitle1 q-my-none">
expand-separator
label="Payment threshold 3 (Must be higher than last)"
>
<q-card>
<q-card>
<q-card-section>
<div
class="row"
v-if="formDialogCopilot.data.animation2threshold > formDialogCopilot.data.animation1threshold"
>
<div class="row">
<div class="col">
<q-toggle
:label="`${formDialogCopilot.toggle2 ? 'Select' : 'Upload'}`"
v-model="formDialogCopilot.toggle2"
></q-toggle>
</div>
<div class="col">

<q-select
v-if="formDialogCopilot.toggle2"
filled
dense
v-model.trim="formDialogCopilot.data.animation3"
v-model.trim="formDialogCopilot.data.animation2"
:options="options"
label="Animation"
/>
></q-select>

<q-file
v-else
filled
dense
capture="environment"
accept="image/jpeg, image/png"
:max-file-size="3*1024**2"
label="Small image (optional)"
clearable
@input="imageAdded"
@clear="imageCleared"
>
<template v-if="formDialogCopilot.data.image2" v-slot:before>
<img style="height: 1em" :src="itemDialog.data.image2" />
</template>
<template v-if="formDialogCopilot.data.image2" v-slot:append>
<q-icon
name="cancel"
@click.stop.prevent="imageCleared"
class="cursor-pointer"
/>
</template>
<q-tooltip>Upload small image</q-tooltip>
</q-file>


</div>

<div class="col q-pl-xs">
Expand Down Expand Up @@ -461,6 +563,7 @@ <h6 class="text-subtitle1 q-my-none">
data: {}
},
formDialogCopilot: {
toggle: false,
show: false,
data: {
lnurl_toggle: false,
Expand Down
4 changes: 2 additions & 2 deletions views_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from fastapi import Depends, Request
from fastapi.exceptions import HTTPException

from lnbits.core.services import websocketUpdater
from lnbits.core.services import websocket_updater
from lnbits.decorators import WalletTypeInfo, get_key_type, require_admin_key

from . import copilot_ext
Expand Down Expand Up @@ -97,7 +97,7 @@ async def api_copilot_ws_relay(copilot_id: str, comment: str, data: str):
status_code=HTTPStatus.NOT_FOUND, detail="Copilot does not exist"
)
try:
await websocketUpdater(copilot_id, str(data) + "-" + str(comment))
await websocket_updater(copilot_id, str(data) + "-" + str(comment))
except:
raise HTTPException(status_code=HTTPStatus.FORBIDDEN, detail="Not your copilot")
return ""