account dialogs

This commit is contained in:
Tiago Vasconcelos
2026-03-19 09:54:27 +00:00
parent 7e344de10e
commit e11ccd9757
+160 -200
View File
@@ -1231,213 +1231,173 @@
</div> </div>
</div> </div>
<q-dialog v-model="apiAcl.showPasswordDialog" position="top"> <lnbits-dialog
<q-card class="q-pa-md q-pt-md lnbits__dialog-card"> :show="apiAcl.showPasswordDialog"
<strong>User Password</strong> title="Password Required"
<div class="row q-mt-md q-col-gutter-md"> :action="{
<div class="col-12"> handler: () => runPasswordGuardedFunction(),
<q-input label: $t('ok')
v-model="apiAcl.password" }"
type="password" @update:model-value="apiAcl.showPasswordDialog = $event"
dense >
filled <div class="row q-col-gutter-md">
label="Password" <div class="col-12">
hint="User password is required for this action." <q-input
> v-model="apiAcl.password"
</q-input> type="password"
</div> dense
filled
label="Password"
hint="User password is required for this action."
>
</q-input>
</div> </div>
<div class="row q-mt-lg"> </div>
<q-btn </lnbits-dialog>
v-close-popup
flat
color="grey"
class="q-ml-auto"
v-text="$t('cancel')"
></q-btn>
<q-btn
@click="runPasswordGuardedFunction()"
:label="$t('ok')"
color="primary"
></q-btn>
</div>
</q-card>
</q-dialog>
<q-dialog v-model="apiAcl.showNewAclDialog" position="top"> <lnbits-dialog
<q-card class="q-pa-md q-pt-md lnbits__dialog-card"> :show="apiAcl.showNewAclDialog"
<strong>New API Access Control List</strong> title="New API Access Control List"
<div class="row q-mt-md q-col-gutter-md"> :action="{
<div class="col-12"> handler: () => addApiACL(),
<q-input v-model="apiAcl.newAclName" dense filled label="ACL Name"> label: 'Create'
</q-input> }"
</div> :cancel-label="$t('close')"
@update:model-value="apiAcl.showNewAclDialog = $event"
>
<div class="row q-col-gutter-md">
<div class="col-12">
<q-input v-model="apiAcl.newAclName" dense filled label="ACL Name">
</q-input>
</div> </div>
<div class="row q-mt-lg"> </div>
<q-btn @click="addApiACL()" label="Create" color="primary"></q-btn> </lnbits-dialog>
<q-btn
v-close-popup
flat
color="grey"
class="q-ml-auto"
v-text="$t('close')"
></q-btn>
</div>
</q-card>
</q-dialog>
<q-dialog v-model="apiAcl.showNewTokenDialog" position="top">
<q-card class="q-pa-md q-pt-md lnbits__dialog-card">
<strong>New API Token</strong>
<div class="row q-col-gutter-md q-mt-md">
<div class="col-12">
<q-input
v-model="apiAcl.newTokenName"
dense
filled
label="Token Name"
>
</q-input>
</div>
<div class="col-12">
<q-input
v-model="apiAcl.newTokenExpiry"
dense
filled
label="Expiration"
hit="Expiration time in minutes (default xxx)"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy
cover
transition-show="scale"
transition-hide="scale"
>
<q-date
v-model="apiAcl.newTokenExpiry"
mask="YYYY-MM-DD HH:mm"
>
<div class="row items-center justify-end">
<q-btn v-close-popup label="Close" color="primary" flat />
</div>
</q-date>
</q-popup-proxy>
</q-icon>
</template>
<template v-slot:append> <lnbits-dialog
<q-icon name="access_time" class="cursor-pointer"> :show="apiAcl.showNewTokenDialog"
<q-popup-proxy title="New API Token"
cover :action="{
transition-show="scale" handler: () => generateApiToken(),
transition-hide="scale" label: 'Create'
}"
:cancel-label="$t('close')"
@update:model-value="apiAcl.showNewTokenDialog = $event"
>
<div class="row q-col-gutter-md">
<div class="col-12">
<q-input v-model="apiAcl.newTokenName" dense filled label="Token Name">
</q-input>
</div>
<div class="col-12">
<q-input
v-model="apiAcl.newTokenExpiry"
dense
filled
label="Expiration"
hit="Expiration time in minutes (default xxx)"
>
<template v-slot:prepend>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy
cover
transition-show="scale"
transition-hide="scale"
>
<q-date v-model="apiAcl.newTokenExpiry" mask="YYYY-MM-DD HH:mm">
<div class="row items-center justify-end">
<q-btn v-close-popup label="Close" color="primary" flat />
</div>
</q-date>
</q-popup-proxy>
</q-icon>
</template>
<template v-slot:append>
<q-icon name="access_time" class="cursor-pointer">
<q-popup-proxy
cover
transition-show="scale"
transition-hide="scale"
>
<q-time
v-model="apiAcl.newTokenExpiry"
mask="YYYY-MM-DD HH:mm"
format24h
> >
<q-time <div class="row items-center justify-end">
v-model="apiAcl.newTokenExpiry" <q-btn v-close-popup label="Close" color="primary" flat />
mask="YYYY-MM-DD HH:mm" </div>
format24h </q-time>
> </q-popup-proxy>
<div class="row items-center justify-end"> </q-icon>
<q-btn v-close-popup label="Close" color="primary" flat /> </template>
</div> </q-input>
</q-time>
</q-popup-proxy>
</q-icon>
</template>
</q-input>
</div>
</div> </div>
<div class="row q-mt-lg"> </div>
<q-btn </lnbits-dialog>
@click="generateApiToken()"
label="Create" <lnbits-dialog
color="primary" :show="labelsDialog.show"
></q-btn> :title="$t('label')"
<q-btn :action="{
v-close-popup handler: () =>
flat g.user.extra.labels.some(label => label.name === labelsDialog.data.name)
color="grey" ? updateUserLabel()
class="q-ml-auto" : addUserLabel(),
v-text="$t('close')" label: g.user.extra.labels.some(
></q-btn> label => label.name === labelsDialog.data.name
)
? $t('update_label')
: $t('add_label'),
disable: !labelsDialog.data.name || !labelsDialog.data.color
}"
:cancel-label="$t('cancel')"
@update:model-value="labelsDialog.show = $event"
>
<div class="row q-col-gutter-md">
<div class="col-12">
<q-input
v-model="labelsDialog.data.name"
dense
filled
:label="$t('name')"
>
</q-input>
</div> </div>
</q-card> <div class="col-12">
</q-dialog> <q-input
<q-dialog v-model="labelsDialog.show" position="top"> v-model="labelsDialog.data.description"
<q-card class="q-pa-md q-pt-md lnbits__dialog-card"> dense
<strong v-text="$t('label')"></strong> filled
<div class="row q-mt-md q-col-gutter-md"> type="textarea"
<div class="col-12"> rows="3"
<q-input :label="$t('description')"
v-model="labelsDialog.data.name" >
dense </q-input>
filled
:label="$t('name')"
>
</q-input>
</div>
<div class="col-12">
<q-input
v-model="labelsDialog.data.description"
dense
filled
type="textarea"
rows="3"
:label="$t('description')"
>
</q-input>
</div>
<div class="col-12">
<q-input
v-model="labelsDialog.data.color"
filled
dense
class="my-input"
>
<template v-slot:append>
<q-icon name="colorize" class="cursor-pointer">
<q-popup-proxy
cover
transition-show="scale"
transition-hide="scale"
>
<q-color
v-model="labelsDialog.data.color"
default-view="palette"
/>
</q-popup-proxy>
</q-icon>
</template>
</q-input>
</div>
</div> </div>
<div class="row q-mt-lg"> <div class="col-12">
<q-btn <q-input
v-close-popup v-model="labelsDialog.data.color"
flat filled
color="grey" dense
class="q-ml-auto" class="my-input"
v-text="$t('cancel')" >
></q-btn> <template v-slot:append>
<q-btn <q-icon name="colorize" class="cursor-pointer">
v-if=" <q-popup-proxy
g.user.extra.labels.some( cover
label => label.name === labelsDialog.data.name transition-show="scale"
) transition-hide="scale"
" >
@click="updateUserLabel()" <q-color
:disable="!labelsDialog.data.name || !labelsDialog.data.color" v-model="labelsDialog.data.color"
:label="$t('update_label')" default-view="palette"
color="primary" />
></q-btn> </q-popup-proxy>
<q-btn </q-icon>
v-else </template>
@click="addUserLabel()" </q-input>
:disable="!labelsDialog.data.name || !labelsDialog.data.color"
:label="$t('add_label')"
color="primary"
></q-btn>
</div> </div>
</q-card> </div>
</q-dialog> </lnbits-dialog>
</template> </template>