diff --git a/src/components/TelegramLoginButton.tsx b/src/components/TelegramLoginButton.tsx index 70746bc..02a1ff3 100644 --- a/src/components/TelegramLoginButton.tsx +++ b/src/components/TelegramLoginButton.tsx @@ -43,8 +43,12 @@ export default function TelegramLoginButton({ referralCode }: TelegramLoginButto await loginWithTelegramOIDC(data.id_token); navigate('/'); } catch (err: unknown) { - const error = err as { response?: { data?: { detail?: string } } }; - setOidcError(error.response?.data?.detail || t('common.error')); + let message = t('common.error'); + if (err && typeof err === 'object' && 'response' in err) { + const resp = (err as { response?: { data?: { detail?: string } } }).response; + if (resp?.data?.detail) message = resp.data.detail; + } + setOidcError(message); } finally { setOidcLoading(false); } @@ -61,7 +65,7 @@ export default function TelegramLoginButton({ referralCode }: TelegramLoginButto if (window.Telegram?.Login) { window.Telegram.Login.init( { - client_id: widgetConfig.oidc_client_id, + client_id: Number(widgetConfig.oidc_client_id) || widgetConfig.oidc_client_id, request_access: widgetConfig.request_access ? ['write'] : undefined, lang: document.documentElement.lang || 'en', }, diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index c13e555..2e44efe 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -23,7 +23,7 @@ interface TelegramWebAppGlobal { interface TelegramLoginGlobal { init: ( options: { - client_id: string; + client_id: string | number; request_access?: string[]; lang?: string; },