From a1a1e4816b881d298a44a38afb1702502265626f Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Wed, 14 May 2025 19:02:03 +0300 Subject: [PATCH] Deep Link: Support 'stars' (#5897) --- src/util/deepLinkParser.ts | 13 +++++++++++-- src/util/deeplink.ts | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/util/deepLinkParser.ts b/src/util/deepLinkParser.ts index f216dd8e5..a8b2db38f 100644 --- a/src/util/deepLinkParser.ts +++ b/src/util/deepLinkParser.ts @@ -10,7 +10,7 @@ import { isUsernameValid } from './username'; export type DeepLinkMethod = 'resolve' | 'login' | 'passport' | 'settings' | 'join' | 'addstickers' | 'addemoji' | 'setlanguage' | 'addtheme' | 'confirmphone' | 'socks' | 'proxy' | 'privatepost' | 'bg' | 'share' | 'msg' | 'msg_url' | 'invoice' | 'addlist' | 'boost' | 'giftcode' | 'message' | 'premium_offer' | 'premium_multigift' | 'stars_topup' -| 'nft'; +| 'nft' | 'stars'; interface PublicMessageLink { type: 'publicMessageLink'; @@ -103,6 +103,10 @@ interface GiftUniqueLink { slug: string; } +interface StarsModalLink { + type: 'stars'; +} + type DeepLink = TelegramPassportLink | LoginCodeLink | @@ -116,7 +120,8 @@ type DeepLink = PremiumReferrerLink | PremiumMultigiftLink | ChatBoostLink | - GiftUniqueLink; + GiftUniqueLink | + StarsModalLink; type BuilderParams = Record, string | undefined>; type BuilderReturnType = T | undefined; @@ -247,6 +252,8 @@ function parseTgLink(url: URL) { return buildChatBoostLink({ username: queryParams.domain, id: queryParams.channel }); case 'giftUniqueLink': return buildGiftUniqueLink({ slug: queryParams.slug }); + case 'stars': + return { type: 'stars' } satisfies StarsModalLink; default: break; } @@ -452,6 +459,8 @@ function getTgDeepLinkType( return 'chatBoostLink'; case 'nft': return 'giftUniqueLink'; + case 'stars': + return 'stars'; default: break; } diff --git a/src/util/deeplink.ts b/src/util/deeplink.ts index 6f5eb9c5d..cd432d249 100644 --- a/src/util/deeplink.ts +++ b/src/util/deeplink.ts @@ -75,6 +75,9 @@ export const processDeepLink = (url: string): boolean => { case 'giftUniqueLink': actions.openUniqueGiftBySlug({ slug: parsedLink.slug }); return true; + case 'stars': + actions.openStarsBalanceModal({}); + break; default: break; }