export type AppClient = 'android' | 'windows' | 'linux' | 'macos'; const ORDER: AppClient[] = ['windows', 'macos', 'linux', 'android']; /** Клиент, который стоит предложить первым по User-Agent. На iOS приложения нет. */ export function detectAppClient(ua = typeof navigator === 'undefined' ? '' : navigator.userAgent): AppClient | null { if (/Android/i.test(ua)) return 'android'; if (/iPhone|iPad|iPod/i.test(ua)) return null; if (/Windows/i.test(ua)) return 'windows'; if (/Mac OS X|Macintosh/i.test(ua)) return 'macos'; if (/Linux|X11/i.test(ua)) return 'linux'; return null; } export function otherAppClients(primary: AppClient | null): AppClient[] { return ORDER.filter((c) => c !== primary); }