Add copy button for sub link

This commit is contained in:
Hamidreza Ghavami 2023-05-12 21:56:13 +04:30
parent 5bd6baa055
commit 8143379645
No known key found for this signature in database
GPG key ID: 402C6797325182D9

View file

@ -114,6 +114,7 @@
<tr v-if="infoModal.clientSettings.subId"> <tr v-if="infoModal.clientSettings.subId">
<td>Subscription link</td> <td>Subscription link</td>
<td><a :href="[[ subBase + infoModal.clientSettings.subId ]]" target="_blank">[[ subBase + infoModal.clientSettings.subId ]]</a></td> <td><a :href="[[ subBase + infoModal.clientSettings.subId ]]" target="_blank">[[ subBase + infoModal.clientSettings.subId ]]</a></td>
<td><a-icon id="copy-sub-link" type="snippets" @click="copyToClipboard('copy-sub-link', subBase + infoModal.clientSettings.subId)"></a-icon></td>
</tr> </tr>
<tr v-if="infoModal.clientSettings.tgId"> <tr v-if="infoModal.clientSettings.tgId">
<td>Telegram ID</td> <td>Telegram ID</td>
@ -190,7 +191,7 @@
<div v-if="dbInbound.hasLink()"> <div v-if="dbInbound.hasLink()">
<a-divider>URL</a-divider> <a-divider>URL</a-divider>
<p>[[ infoModal.link ]]</p> <p>[[ infoModal.link ]]</p>
<button class="ant-btn ant-btn-primary" id="copy-url-link"><a-icon type="snippets"></a-icon>{{ i18n "copy" }}</button> <button class="ant-btn ant-btn-primary" id="copy-url-link" @click="copyToClipboard('copy-url-link', infoModal.link)"><a-icon type="snippets"></a-icon>{{ i18n "copy" }}</button>
</div> </div>
</a-modal> </a-modal>
<script> <script>
@ -218,14 +219,6 @@
this.isExpired = this.inbound.isExpiry(index); this.isExpired = this.inbound.isExpiry(index);
this.clientStats = this.settings.clients ? this.dbInbound.clientStats.find(row => row.email === this.clientSettings.email) : []; this.clientStats = this.settings.clients ? this.dbInbound.clientStats.find(row => row.email === this.clientSettings.email) : [];
this.visible = true; this.visible = true;
infoModalApp.$nextTick(() => {
if (this.clipboard === null) {
this.clipboard = new ClipboardJS('#copy-url-link', {
text: () => this.link,
});
this.clipboard.on('success', () => app.$message.success('{{ i18n "copied" }}'));
}
});
}, },
close() { close() {
infoModal.visible = false; infoModal.visible = false;
@ -263,7 +256,7 @@
}, },
}, },
methods: { methods: {
copyTextToClipboard(elmentId, content) { copyToClipboard(elmentId, content) {
this.infoModal.clipboard = new ClipboardJS('#' + elmentId, { this.infoModal.clipboard = new ClipboardJS('#' + elmentId, {
text: () => content, text: () => content,
}); });