This commit is contained in:
xds
2025-10-27 17:02:59 +03:00
parent 99890102ef
commit 1963f06cc7
3 changed files with 14 additions and 8 deletions

View File

@@ -13,7 +13,6 @@
}, },
"dependencies": { "dependencies": {
"@amirafa/vue3-pull-to-refresh": "^1.2.13", "@amirafa/vue3-pull-to-refresh": "^1.2.13",
"@grammyjs/web-app": "^1.3.0",
"@primevue/themes": "^4.4.1", "@primevue/themes": "^4.4.1",
"@tailwindcss/postcss": "^4.1.16", "@tailwindcss/postcss": "^4.1.16",
"@tailwindcss/vite": "^4.1.16", "@tailwindcss/vite": "^4.1.16",

View File

@@ -5,6 +5,8 @@ import {computed, onMounted, ref} from "vue";
import Toolbar from "@/components/Toolbar.vue"; import Toolbar from "@/components/Toolbar.vue";
import {useToolbarStore} from "@/stores/toolbar-store"; import {useToolbarStore} from "@/stores/toolbar-store";
import router from "@/router/index.js"; import router from "@/router/index.js";
import {WebApp} from "@grammyjs/web-app";
const spaceStore = useSpaceStore(); const spaceStore = useSpaceStore();
const toolbarStore = useToolbarStore() const toolbarStore = useToolbarStore()
@@ -41,6 +43,11 @@ onMounted(() => {
toolbarStore.registerHandler('openSpacePicker', () => { toolbarStore.registerHandler('openSpacePicker', () => {
isSpaceSelectorVisible.value = true isSpaceSelectorVisible.value = true
}); });
WebApp.ready()
let tgApp = window.Telegram.WebApp
tgApp.requestFullscreen()
tgApp.lockOrientation()
}) })
</script> </script>

View File

@@ -1,27 +1,27 @@
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, ref, computed } from "vue" import { onMounted, ref, computed } from "vue"
import { WebApp } from "@grammyjs/web-app"
import router from "@/router"; // если используешь другой SDK, импорт может отличаться import router from "@/router"; // если используешь другой SDK, импорт может отличаться
// необязательно делать реактивным, но удобно для шаблона // необязательно делать реактивным, но удобно для шаблона
const tgData = ref(WebApp.initDataUnsafe) const tgApp = ref(window.Telegram.WebApp)
const tgData = ref(tgApp.value.initDataUnsafe)
// какие-то удобные вычисления для UI // какие-то удобные вычисления для UI
const userId = computed(() => tgData.value?.user?.id?.toString() ?? "") const userId = computed(() => tgApp.value?.user?.id?.toString() ?? "")
const username = computed(() => tgData.value?.user?.username ?? "") const username = computed(() => tgApp.value?.user?.username ?? "")
const firstName = computed(() => tgData.value?.user?.first_name ?? "") const firstName = computed(() => tgData.value?.user?.first_name ?? "")
onMounted(() => { onMounted(() => {
// сообщаем Telegram WebApp, что UI готов // сообщаем Telegram WebApp, что UI готов
WebApp.ready() tgData.ready()
// если есть данные пользователя — положим что-то в localStorage // если есть данные пользователя — положим что-то в localStorage
if (tgData.value?.user?.id != null) { if (tgData.value.user?.id != null) {
localStorage.setItem("token", tgData.value.user.id.toString()) localStorage.setItem("token", tgData.value.user.id.toString())
} else { } else {
localStorage.setItem("token", "123") localStorage.setItem("token", "123")
} }
router.push('/') // router.push('/')
}) })
</script> </script>