fix: cart email/phone capture form was never rendered
recordOrder() and autoSubmitPurchase() read userEmail()/userPhone() signals and submitEmail() was fully implemented (validation, error handling), but the success screen's template never rendered the inputs - so the form was unreachable and the fallback auto-submit always sent blank email/phone. - Added the email/phone form to the payment-success screen, wired to the existing signals/handlers. - autoSubmitPurchase() (the 5s fallback if the user doesn't submit manually) no longer navigates home via an unconditional setTimeout(0) fired before the submission result is known - it now waits for submitPurchaseEmail() to settle, same as the manual path, and skips entirely if the user already submitted (new purchaseSubmitted flag). - It also now sends whatever the user has typed instead of hardcoded-blank fields, and shows a toast instead of only logging to console when no Telegram user id is available. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -123,6 +123,9 @@ export const en: Translations = {
|
||||
emailNeedsAt: 'Email must contain @',
|
||||
emailNeedsDomain: 'Email must contain a domain (.com, .ru, etc.)',
|
||||
emailInvalid: 'Invalid email format',
|
||||
telegramIdMissing: 'We could not identify your Telegram account, so we could not save your contact details. Your payment was still successful.',
|
||||
emailPlaceholder: 'you@example.com',
|
||||
phonePlaceholder: '+7 (___) ___-__-__',
|
||||
loginRequired: 'Log in to checkout',
|
||||
loginRequiredDesc: 'Please log in via Telegram to place your order',
|
||||
loginWithTelegram: 'Log in with Telegram',
|
||||
|
||||
@@ -123,6 +123,9 @@ export const hy: Translations = {
|
||||
emailNeedsAt: 'Email-ը պետք է պարունակի @',
|
||||
emailNeedsDomain: 'Email-ը պետք է պարունակի դոմեյն (.com, .ru և այլն)',
|
||||
emailInvalid: 'Սխալ email ձևաչափ',
|
||||
telegramIdMissing: 'Չհաջողվեց հաստատել ձեր Telegram հաշիվը, ուստի կոնտակտային տվյալները չեն պահպանվել։ Վճարումը հաջողությամբ կատարվել է։',
|
||||
emailPlaceholder: 'you@example.com',
|
||||
phonePlaceholder: '+7 (___) ___-__-__',
|
||||
loginRequired: 'Մուտք գործեք ձևակերպելու համար',
|
||||
loginRequiredDesc: 'Պատվեր ձևակերպելու համար մուտք գործեք Telegram-ով',
|
||||
loginWithTelegram: 'Մուտք Telegram-ով',
|
||||
|
||||
@@ -123,6 +123,9 @@ export const ru: Translations = {
|
||||
emailNeedsAt: 'Email должен содержать @',
|
||||
emailNeedsDomain: 'Email должен содержать домен (.com, .ru и т.д.)',
|
||||
emailInvalid: 'Некорректный формат email',
|
||||
telegramIdMissing: 'Не удалось определить ваш Telegram-аккаунт, поэтому контактные данные не сохранены. Оплата прошла успешно.',
|
||||
emailPlaceholder: 'you@example.com',
|
||||
phonePlaceholder: '+7 (___) ___-__-__',
|
||||
loginRequired: 'Войдите для оформления',
|
||||
loginRequiredDesc: 'Для оформления заказа войдите через Telegram',
|
||||
loginWithTelegram: 'Войти через Telegram',
|
||||
|
||||
@@ -121,6 +121,9 @@ export interface Translations {
|
||||
emailNeedsAt: string;
|
||||
emailNeedsDomain: string;
|
||||
emailInvalid: string;
|
||||
telegramIdMissing: string;
|
||||
emailPlaceholder: string;
|
||||
phonePlaceholder: string;
|
||||
loginRequired: string;
|
||||
loginRequiredDesc: string;
|
||||
loginWithTelegram: string;
|
||||
|
||||
Reference in New Issue
Block a user