Files
scrabble-game/ui/src/lib/landing.ts
T
Ilia Denisov 564abdcf88
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 11s
CI / integration (pull_request) Successful in 21s
CI / ui (pull_request) Successful in 1m14s
CI / conformance (pull_request) Successful in 10s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 2m7s
chore: fix broken telegram links
2026-07-14 09:06:03 +02:00

28 lines
1.3 KiB
TypeScript

// Pure helpers for the public landing page, kept out of the Svelte component so the
// platform-entry link selection is unit-testable.
/**
* telegramChannelLink returns the t.me link for the single bot's game channel, or null
* when it is not configured. The channel username is a build-time var
* (VITE_TELEGRAM_GAME_CHANNEL_NAME) because the test and prod contours run different
* channels; it is the same channel the connector posts to via TELEGRAM_GAME_CHANNEL_ID
* (the id to post, the name to link). A leading "@" is tolerated.
*/
export function telegramChannelLink(): string | null {
const raw = import.meta.env.VITE_TELEGRAM_GAME_CHANNEL_NAME;
const name = (raw as string | undefined)?.trim().replace(/^@/, '');
return name ? `https://telegram.me/${name}` : null;
}
/**
* vkAppLink returns the VK Mini App link for the landing "Play on VK" entry, or null when it is
* not configured. The link is a build-time var (VITE_VK_APP_LINK, the full URL
* `https://vk.com/app<id>`) because the test and prod contours run the same VK app but the var
* mirrors the per-contour Telegram entries.
*/
export function vkAppLink(): string | null {
const raw = import.meta.env.VITE_VK_APP_LINK;
const link = (raw as string | undefined)?.trim();
return link ? link : null;
}