Deep Link: Support 'stars' (#5897)
This commit is contained in:
parent
b8b60b5568
commit
a1a1e4816b
@ -10,7 +10,7 @@ import { isUsernameValid } from './username';
|
|||||||
export type DeepLinkMethod = 'resolve' | 'login' | 'passport' | 'settings' | 'join' | 'addstickers' | 'addemoji' |
|
export type DeepLinkMethod = 'resolve' | 'login' | 'passport' | 'settings' | 'join' | 'addstickers' | 'addemoji' |
|
||||||
'setlanguage' | 'addtheme' | 'confirmphone' | 'socks' | 'proxy' | 'privatepost' | 'bg' | 'share' | 'msg' | 'msg_url' |
|
'setlanguage' | 'addtheme' | 'confirmphone' | 'socks' | 'proxy' | 'privatepost' | 'bg' | 'share' | 'msg' | 'msg_url' |
|
||||||
'invoice' | 'addlist' | 'boost' | 'giftcode' | 'message' | 'premium_offer' | 'premium_multigift' | 'stars_topup'
|
'invoice' | 'addlist' | 'boost' | 'giftcode' | 'message' | 'premium_offer' | 'premium_multigift' | 'stars_topup'
|
||||||
| 'nft';
|
| 'nft' | 'stars';
|
||||||
|
|
||||||
interface PublicMessageLink {
|
interface PublicMessageLink {
|
||||||
type: 'publicMessageLink';
|
type: 'publicMessageLink';
|
||||||
@ -103,6 +103,10 @@ interface GiftUniqueLink {
|
|||||||
slug: string;
|
slug: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface StarsModalLink {
|
||||||
|
type: 'stars';
|
||||||
|
}
|
||||||
|
|
||||||
type DeepLink =
|
type DeepLink =
|
||||||
TelegramPassportLink |
|
TelegramPassportLink |
|
||||||
LoginCodeLink |
|
LoginCodeLink |
|
||||||
@ -116,7 +120,8 @@ type DeepLink =
|
|||||||
PremiumReferrerLink |
|
PremiumReferrerLink |
|
||||||
PremiumMultigiftLink |
|
PremiumMultigiftLink |
|
||||||
ChatBoostLink |
|
ChatBoostLink |
|
||||||
GiftUniqueLink;
|
GiftUniqueLink |
|
||||||
|
StarsModalLink;
|
||||||
|
|
||||||
type BuilderParams<T extends DeepLink> = Record<keyof Omit<T, 'type'>, string | undefined>;
|
type BuilderParams<T extends DeepLink> = Record<keyof Omit<T, 'type'>, string | undefined>;
|
||||||
type BuilderReturnType<T extends DeepLink> = T | undefined;
|
type BuilderReturnType<T extends DeepLink> = T | undefined;
|
||||||
@ -247,6 +252,8 @@ function parseTgLink(url: URL) {
|
|||||||
return buildChatBoostLink({ username: queryParams.domain, id: queryParams.channel });
|
return buildChatBoostLink({ username: queryParams.domain, id: queryParams.channel });
|
||||||
case 'giftUniqueLink':
|
case 'giftUniqueLink':
|
||||||
return buildGiftUniqueLink({ slug: queryParams.slug });
|
return buildGiftUniqueLink({ slug: queryParams.slug });
|
||||||
|
case 'stars':
|
||||||
|
return { type: 'stars' } satisfies StarsModalLink;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -452,6 +459,8 @@ function getTgDeepLinkType(
|
|||||||
return 'chatBoostLink';
|
return 'chatBoostLink';
|
||||||
case 'nft':
|
case 'nft':
|
||||||
return 'giftUniqueLink';
|
return 'giftUniqueLink';
|
||||||
|
case 'stars':
|
||||||
|
return 'stars';
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -75,6 +75,9 @@ export const processDeepLink = (url: string): boolean => {
|
|||||||
case 'giftUniqueLink':
|
case 'giftUniqueLink':
|
||||||
actions.openUniqueGiftBySlug({ slug: parsedLink.slug });
|
actions.openUniqueGiftBySlug({ slug: parsedLink.slug });
|
||||||
return true;
|
return true;
|
||||||
|
case 'stars':
|
||||||
|
actions.openStarsBalanceModal({});
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user