Skip to content

Commit 99dc33a

Browse files
committed
Add ability to copy message ID
1 parent f2004ed commit 99dc33a

1 file changed

Lines changed: 36 additions & 1 deletion

File tree

web/pages/threads/_id/index.vue

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,16 @@
132132
</v-list-item-title>
133133
</v-list-item-content>
134134
</v-list-item>
135+
<v-list-item @click.prevent="copyMessageId(message)">
136+
<v-list-item-icon class="pl-2">
137+
<v-icon dense>{{ mdiContentCopy }}</v-icon>
138+
</v-list-item-icon>
139+
<v-list-item-content class="ml-n3">
140+
<v-list-item-title class="pr-16 py-1">
141+
Copy Message ID
142+
</v-list-item-title>
143+
</v-list-item-content>
144+
</v-list-item>
135145
<v-list-item @click.prevent="deleteMessage(message)">
136146
<v-list-item-icon class="pl-2">
137147
<v-icon dense color="error">{{ mdiDelete }}</v-icon>
@@ -238,6 +248,16 @@
238248
</v-list-item-title>
239249
</v-list-item-content>
240250
</v-list-item>
251+
<v-list-item @click.prevent="copyMessageId(message)">
252+
<v-list-item-icon class="pl-2">
253+
<v-icon dense>{{ mdiContentCopy }}</v-icon>
254+
</v-list-item-icon>
255+
<v-list-item-content class="ml-n3">
256+
<v-list-item-title class="pr-16 py-1">
257+
Copy Message ID
258+
</v-list-item-title>
259+
</v-list-item-content>
260+
</v-list-item>
241261
<v-list-item @click.prevent="deleteMessage(message)">
242262
<v-list-item-icon class="pl-2">
243263
<v-icon dense color="error">{{ mdiDelete }}</v-icon>
@@ -321,9 +341,10 @@ import {
321341
mdiAccount,
322342
mdiRefresh,
323343
mdiSim,
344+
mdiContentCopy,
324345
} from '@mdi/js'
325346
import { Message } from '~/models/message'
326-
import { SendMessageRequest, SIM } from '~/store'
347+
import { NotificationRequest, SendMessageRequest, SIM } from '~/store'
327348
328349
export default Vue.extend({
329350
middleware: ['auth'],
@@ -349,6 +370,7 @@ export default Vue.extend({
349370
mdiPackageUp,
350371
mdiPackageDown,
351372
mdiAccount,
373+
mdiContentCopy,
352374
mdiRefresh,
353375
mdiSim,
354376
simOptions: [
@@ -507,6 +529,19 @@ export default Vue.extend({
507529
this.loadMessages(false)
508530
},
509531
532+
async copyMessageId(message: Message) {
533+
await navigator.clipboard.writeText(message.id).then(() => {
534+
this.$store.dispatch('addNotification', {
535+
message: 'Message ID copied to clipboard',
536+
type: 'success',
537+
} as NotificationRequest)
538+
})
539+
540+
setTimeout(() => {
541+
this.selectedMenuItem = -1
542+
}, 1000)
543+
},
544+
510545
async deleteThread(threadID: string) {
511546
await this.$store.dispatch('deleteThread', threadID)
512547
await this.$router.push({ name: 'threads' })

0 commit comments

Comments
 (0)