Files
boursecu_user/src/views/base/home/components/ShareModal.vue
T

78 lines
2.2 KiB
Vue
Raw Normal View History

2026-05-14 13:44:43 +03:30
<template>
<BasicModal v-model:visible="visible" :custom-footer="true">
<div class="p-2">
<div
v-if="referralId"
class="text-primary font-bold w-full text-center flex justify-between gap-2 items-center"
>
کد معرف:
<div class="flex gap-2">
<div class="mr-2">{{ referralId }}</div>
</div>
</div>
<div class="w-full flex gap-2 mt-1">
<BasicButton
icon="vuesax-linear:share"
size="small"
class="flex-1"
icon-size="18"
@click.stop="shareCode"
>
اشتراک گذاری
</BasicButton>
<BasicButton
icon="vuesax-linear:copy"
size="small"
class="flex-1"
icon-size="18"
@click.stop="copyCode"
>
رونوشت
</BasicButton>
</div>
</div>
</BasicModal>
</template>
<script setup lang="ts">
import { computed } from 'vue'
import BasicModal from '@/components/BasicPacks/BasicModal.vue'
import BasicButton from '@/components/BasicPacks/BasicButton.vue'
import { message } from 'ant-design-vue'
import { useUserStore } from '@/store/userStore'
const props = defineProps<{
show: boolean
referralId: string
}>()
const emit = defineEmits<{
'update:show': [value: boolean]
}>()
const userStore = useUserStore()
const visible = computed({
get: () => props.show,
set: (val) => emit('update:show', val)
})
const shareCode = () => {
const text = `⭐️الان طلا بخر؛ آخر ماه سودشو ببر!
با خرید طلای آبشده در مقدارهای کم ولی مستمر، سود بیشتری ببر!
این دعوت نامه از طرف "${userStore.userInfo?.name}" عزیز برای شما ارسال شده تا شما هم از بازار طلا جا نمونید.
روی لینک زیر کلیک کنید و ثبت نام خود را تکمیل کنید.
${window.location.hostname}/login?id=${props.referralId}`
navigator.share({ title: 'طلا', text })
}
const copyCode = () => {
if (props.referralId) {
navigator.clipboard.writeText(props.referralId)
message.info('کد رونوشت شد')
}
}
</script>