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
28 lines
1.3 KiB
TypeScript
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;
|
|
}
|