set add QR code page
Deploy app frontend / app frontend (push) Failing after 52s
Deploy service couchdb / service couchdb (push) Successful in 28s
Deploy db-migrations / db-migrations (push) Successful in 57s
Deploy service message-delivery-method-web-push / service message-delivery-method-web-push (push) Successful in 1m3s

This commit is contained in:
2024-12-06 14:07:31 +02:00
parent 3ec74a5f9f
commit 9c69812258
14 changed files with 201 additions and 162 deletions
@@ -0,0 +1,26 @@
<template>
<Button
:icon="isCopied ? 'pi pi-check' : 'pi pi-copy'"
:label="isCopied ? 'Ссылка скопирована!' : 'Копировать ссылку'"
class="text-nowrap"
severity="secondary"
size="small"
@click="copyLink()"
:outlined="!isCopied"
/>
</template>
<script setup lang="ts">
const props = defineProps<{ url: string }>()
const {
mutate: copyLink,
isSuccess: isCopied,
reset,
} = useMutation({
mutationFn: async () => {
await navigator.clipboard.writeText(props.url)
setTimeout(reset, 2500)
},
gcTime: 100,
})
</script>
@@ -0,0 +1,26 @@
<template>
<Button
:href="telegramShareUrl"
target="_blank"
size="small"
severity="secondary"
as="a"
class="text-nowrap"
outlined
rel="noopener noreferrer"
icon="pi pi-telegram"
title="Поделиться ссылкой в Telegram"
label="отправить ссылку в Telegram"
/>
</template>
<script setup lang="ts">
import { computed } from 'vue'
const props = defineProps<{ shareUrl: string; shareText: string }>()
const telegramShareUrl = computed(
() =>
`https://t.me/share/url?url=${encodeURIComponent(props.shareUrl)}&text=${encodeURIComponent(props.shareText)}`, // &photo=${shareImage}`
)
</script>
@@ -1,5 +1,5 @@
<template>
<RouterLink :to="`/manage/qr/${qrCode.uri}/ready`" class="p-4 rounded-lg bg-white shadow-md">
<RouterLink :to="`/manage/qr/${qrCode.uri}`" class="p-4 rounded-lg bg-white shadow-md">
<div class="flex items-center justify-between mb-2">
<div class="flex items-center">
<QRCodePlacementIcon :placement="qrCode.placement" />