feat: navigate from chat to orders

This commit is contained in:
Vlad Stan 2023-03-29 17:02:31 +03:00
parent 2d522f8c47
commit 4974192b21
5 changed files with 34 additions and 3 deletions

View file

@ -1,7 +1,21 @@
<div>
<q-card>
<q-card-section>
<div class="row">
<div class="col-6">
<h6 class="text-subtitle1 q-my-none">Messages</h6>
</div>
<div class="col-6">
<q-btn
v-if="activePublicKey"
@click="showClientOrders"
unelevated
outline
class="float-right"
>Client Orders</q-btn
>
</div>
</div>
</q-card-section>
<q-card-section class="q-pa-none">
<q-separator></q-separator>

View file

@ -81,6 +81,9 @@ async function directMessages(path) {
LNbits.utils.notifyApiError(error)
}
},
showClientOrders: function () {
this.$emit('customer-selected', this.activePublicKey)
},
selectActiveCustomer: async function () {
await this.getDirectMessages(this.activePublicKey)
},

View file

@ -2,9 +2,18 @@ async function orderList(path) {
const template = await loadTemplateAsync(path)
Vue.component('order-list', {
name: 'order-list',
props: ['stall-id', 'adminkey', 'inkey'],
props: ['stall-id', 'customer-pubkey-filter', 'adminkey', 'inkey'],
template,
watch: {
customerPubkeyFilter: async function (n) {
this.search.publicKey = n
this.search.isPaid = {label: 'All', id: null}
this.search.isShipped = {label: 'All', id: null}
await this.getOrders()
}
},
data: function () {
return {
orders: [],

View file

@ -21,6 +21,7 @@ const merchant = async () => {
merchant: {},
shippingZones: [],
activeChatCustomer: '',
orderPubkey: null,
showKeys: false,
importKeyDialog: {
show: false,
@ -103,6 +104,9 @@ const merchant = async () => {
customerSelectedForOrder: function (customerPubkey) {
this.activeChatCustomer = customerPubkey
},
filterOrdersForCustomer: function (customerPubkey) {
this.orderPubkey = customerPubkey
},
waitForNotifications: function () {
try {
const scheme = location.protocol === 'http:' ? 'ws' : 'wss'

View file

@ -66,6 +66,7 @@
<order-list
:adminkey="g.user.wallets[0].adminkey"
:inkey="g.user.wallets[0].inkey"
:customer-pubkey-filter="orderPubkey"
@customer-selected="customerSelectedForOrder"
></order-list>
</div>
@ -149,8 +150,8 @@
:inkey="g.user.wallets[0].inkey"
:adminkey="g.user.wallets[0].adminkey"
:active-chat-customer="activeChatCustomer"
@customer-selected="filterOrdersForCustomer"
>
</direct-messages>
</div>
</div>