diff --git a/apps/miniapp/index.html b/apps/miniapp/index.html index fb8eb93..decebfd 100644 --- a/apps/miniapp/index.html +++ b/apps/miniapp/index.html @@ -10,7 +10,6 @@
- diff --git a/apps/miniapp/package.json b/apps/miniapp/package.json index d38e672..ff2d7ce 100644 --- a/apps/miniapp/package.json +++ b/apps/miniapp/package.json @@ -10,6 +10,7 @@ "lint": "oxlint \"src\"" }, "dependencies": { + "@twa-dev/sdk": "8.0.2", "solid-js": "^1.9.9" }, "devDependencies": { diff --git a/apps/miniapp/src/telegram-webapp.ts b/apps/miniapp/src/telegram-webapp.ts index a9601f7..e66ae97 100644 --- a/apps/miniapp/src/telegram-webapp.ts +++ b/apps/miniapp/src/telegram-webapp.ts @@ -1,31 +1,12 @@ -export interface TelegramWebAppUser { - id: number - first_name?: string - username?: string - language_code?: string -} +import WebApp from '@twa-dev/sdk' -export interface TelegramWebApp { - initData: string - initDataUnsafe?: { - user?: TelegramWebAppUser - } - ready?: () => void - expand?: () => void -} - -declare global { - interface Window { - Telegram?: { - WebApp?: TelegramWebApp - } - } -} +export type TelegramWebApp = typeof WebApp +export type TelegramWebAppUser = NonNullable['user']> export function getTelegramWebApp(): TelegramWebApp | undefined { if (typeof window === 'undefined') { return undefined } - return window.Telegram?.WebApp + return WebApp } diff --git a/bun.lock b/bun.lock index 94d8f48..dd532b8 100644 --- a/bun.lock +++ b/bun.lock @@ -30,6 +30,7 @@ "apps/miniapp": { "name": "@household/miniapp", "dependencies": { + "@twa-dev/sdk": "8.0.2", "solid-js": "^1.9.9", }, "devDependencies": { @@ -388,6 +389,10 @@ "@tailwindcss/vite": ["@tailwindcss/vite@4.2.1", "", { "dependencies": { "@tailwindcss/node": "4.2.1", "@tailwindcss/oxide": "4.2.1", "tailwindcss": "4.2.1" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7" } }, "sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w=="], + "@twa-dev/sdk": ["@twa-dev/sdk@8.0.2", "", { "dependencies": { "@twa-dev/types": "^8.0.1" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0" } }, "sha512-Pp5GxnxP2blboVZFiM9aWjs4cb8IpW3x2jP3kLOMvIqy0jzNUTuFHkwHtx+zEvh/UcF2F+wmS8G6ebIA0XPXcg=="], + + "@twa-dev/types": ["@twa-dev/types@8.0.2", "", {}, "sha512-ICQ6n4NaUPPzV3/GzflVQS6Nnu5QX2vr9OlOG8ZkFf3rSJXzRKazrLAbZlVhCPPWkIW3MMuELPsE6tByrA49qA=="], + "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], "@types/babel__generator": ["@types/babel__generator@7.27.0", "", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg=="], @@ -646,6 +651,8 @@ "quick-format-unescaped": ["quick-format-unescaped@4.0.4", "", {}, "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg=="], + "react": ["react@19.2.4", "", {}, "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ=="], + "real-require": ["real-require@0.2.0", "", {}, "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg=="], "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],