fix: prevent popup blocker on telegram connect link
This commit is contained in:
@@ -650,6 +650,7 @@ async function loadTelegramConnectStatus() {
|
|||||||
async function startTelegramBusinessConnect() {
|
async function startTelegramBusinessConnect() {
|
||||||
if (telegramConnectBusy.value) return;
|
if (telegramConnectBusy.value) return;
|
||||||
telegramConnectBusy.value = true;
|
telegramConnectBusy.value = true;
|
||||||
|
const popup = process.client ? window.open("about:blank", "_blank", "noopener,noreferrer") : null;
|
||||||
try {
|
try {
|
||||||
const result = await $fetch<{
|
const result = await $fetch<{
|
||||||
ok: boolean;
|
ok: boolean;
|
||||||
@@ -660,8 +661,15 @@ async function startTelegramBusinessConnect() {
|
|||||||
telegramConnectStatus.value = result?.status ?? "pending_link";
|
telegramConnectStatus.value = result?.status ?? "pending_link";
|
||||||
telegramConnectUrl.value = String(result?.connectUrl ?? "").trim();
|
telegramConnectUrl.value = String(result?.connectUrl ?? "").trim();
|
||||||
if (telegramConnectUrl.value && process.client) {
|
if (telegramConnectUrl.value && process.client) {
|
||||||
window.open(telegramConnectUrl.value, "_blank", "noopener,noreferrer");
|
if (popup) {
|
||||||
|
popup.location.href = telegramConnectUrl.value;
|
||||||
|
} else {
|
||||||
|
window.open(telegramConnectUrl.value, "_blank", "noopener,noreferrer");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch {
|
||||||
|
popup?.close();
|
||||||
|
telegramConnectStatus.value = "not_connected";
|
||||||
} finally {
|
} finally {
|
||||||
telegramConnectBusy.value = false;
|
telegramConnectBusy.value = false;
|
||||||
await loadTelegramConnectStatus();
|
await loadTelegramConnectStatus();
|
||||||
|
|||||||
Reference in New Issue
Block a user