feat: guest purchase cabinet credentials UI

- CabinetCredentialsState with copyable email/password fields
- Auto-login via JWT token with checkAdminStatus
- /auto-login route with ErrorBoundary and no-referrer meta
- Narrowed contact_type to 'email' | 'telegram' | null
- Disabled button styling for PendingActivation go-to-cabinet
- i18n: added landing.copy key to all 4 locales
This commit is contained in:
Fringg
2026-03-06 21:59:59 +03:00
parent b852e1e4cd
commit d228d997d8
9 changed files with 410 additions and 31 deletions

View File

@@ -3960,6 +3960,7 @@
"total": "Total",
"pay": "Pay",
"choosePeriod": "Choose period",
"copy": "Copy",
"copied": "Copied!",
"copyLink": "Copy link",
"giftToggleLabel": "Purchase type",
@@ -3970,6 +3971,16 @@
"activateNow": "Activate now",
"activating": "Activating...",
"activationFailed": "Activation failed",
"giftMessage": "Message"
"giftMessage": "Message",
"cabinetReady": "Your account is ready",
"cabinetEmail": "Email",
"cabinetPassword": "Password",
"goToCabinet": "Go to Cabinet",
"saveCredentials": "Save these login credentials",
"credentialsSentToEmail": "Login credentials sent to your email",
"giftSentSuccess": "Gift sent!",
"giftSentDesc": "Recipient will be notified by email",
"autoLoginFailed": "Auto-login failed",
"autoLoginProcessing": "Signing in..."
}
}

View File

@@ -3511,6 +3511,7 @@
"total": "مجموع",
"pay": "پرداخت",
"choosePeriod": "انتخاب دوره",
"copy": "کپی",
"copied": "کپی شد!",
"copyLink": "کپی لینک",
"giftToggleLabel": "\u0646\u0648\u0639 \u062e\u0631\u06cc\u062f",
@@ -3521,6 +3522,16 @@
"activateNow": "فعال‌سازی",
"activating": "در حال فعال‌سازی...",
"activationFailed": "خطا در فعال‌سازی",
"giftMessage": "پیام"
"giftMessage": "پیام",
"cabinetReady": "حساب شما آماده است",
"cabinetEmail": "ایمیل",
"cabinetPassword": "رمز عبور",
"goToCabinet": "رفتن به پنل کاربری",
"saveCredentials": "این اطلاعات ورود را ذخیره کنید",
"credentialsSentToEmail": "اطلاعات ورود به ایمیل شما ارسال شد",
"giftSentSuccess": "هدیه ارسال شد!",
"giftSentDesc": "گیرنده از طریق ایمیل مطلع خواهد شد",
"autoLoginFailed": "ورود خودکار ناموفق بود",
"autoLoginProcessing": "در حال ورود..."
}
}

View File

@@ -4523,6 +4523,7 @@
"total": "Итого",
"pay": "Оплатить",
"choosePeriod": "Выберите период",
"copy": "Скопировать",
"copied": "Скопировано!",
"copyLink": "Скопировать ссылку",
"giftToggleLabel": "Тип покупки",
@@ -4533,6 +4534,16 @@
"activateNow": "Активировать",
"activating": "Активация...",
"activationFailed": "Ошибка активации",
"giftMessage": "Сообщение"
"giftMessage": "Сообщение",
"cabinetReady": "Ваш аккаунт готов",
"cabinetEmail": "Email",
"cabinetPassword": "Пароль",
"goToCabinet": "Перейти в кабинет",
"saveCredentials": "Сохраните эти данные для входа",
"credentialsSentToEmail": "Данные для входа отправлены на email",
"giftSentSuccess": "Подарок отправлен!",
"giftSentDesc": "Получатель получит уведомление на email",
"autoLoginFailed": "Не удалось выполнить автоматический вход",
"autoLoginProcessing": "Выполняется вход..."
}
}

View File

@@ -3510,6 +3510,7 @@
"total": "总计",
"pay": "支付",
"choosePeriod": "选择时长",
"copy": "复制",
"copied": "已复制!",
"copyLink": "复制链接",
"giftToggleLabel": "\u8d2d\u4e70\u7c7b\u578b",
@@ -3520,6 +3521,16 @@
"activateNow": "立即激活",
"activating": "激活中...",
"activationFailed": "激活失败",
"giftMessage": "留言"
"giftMessage": "留言",
"cabinetReady": "您的账户已准备就绪",
"cabinetEmail": "邮箱",
"cabinetPassword": "密码",
"goToCabinet": "前往个人中心",
"saveCredentials": "请保存这些登录信息",
"credentialsSentToEmail": "登录信息已发送到您的邮箱",
"giftSentSuccess": "礼物已发送!",
"giftSentDesc": "收件人将通过邮件收到通知",
"autoLoginFailed": "自动登录失败",
"autoLoginProcessing": "正在登录..."
}
}