UNPKG

vue3-telegram-login

Version:

Base on [vue-telegram-login](https://github.com/vchaptsev/vue-telegram-login), thanks [@vchaptsev](https://github.com/vchaptsev)

65 lines (64 loc) 1.79 kB
import { ref as n, onMounted as d, openBlock as c, createElementBlock as o } from "vue"; const p = { __name: "Temp", props: { mode: { type: String, required: !0, validator(t) { return ["callback", "redirect"].includes(t); } }, telegramLogin: { type: String, required: !0, validator(t) { return t.endsWith("bot") || t.endsWith("Bot"); } }, redirectUrl: { type: String, default: "" }, requestAccess: { type: String, default: "read", validator(t) { return ["read", "write"].includes(t); } }, size: { type: String, default: "large", validator(t) { return ["small", "medium", "large"].includes(t); } }, userpic: { type: Boolean, default: !0 }, radius: { type: String } }, emits: ["callback", "loaded"], setup(t, { emit: s }) { const r = t, a = s; function u(l) { a("callback", l); } const i = n(null), e = document.createElement("script"); return e.async = !0, e.src = "https://telegram.org/js/telegram-widget.js?3", e.setAttribute("data-size", r.size), e.setAttribute("data-userpic", r.userpic), e.setAttribute("data-telegram-login", r.telegramLogin), e.setAttribute("data-request-access", r.requestAccess), e.onload = () => { a("loaded"); }, r.radius && e.setAttribute("data-radius", r.radius), r.mode === "callback" ? (window.onTelegramAuth = u, e.setAttribute("data-onauth", "window.onTelegramAuth(user)")) : e.setAttribute("data-auth-url", r.redirectUrl), d(() => { i.value.appendChild(e); }), (l, m) => (c(), o("div", { ref_key: "telegram", ref: i }, null, 512)); } }; export { p as telegramLoginTemp };