fix: batch bug fixes matching backend changes

- Promo code errors: add inactive/not_yet_valid translations (4 locales) + Balance.tsx parser
- Daily 100% discount: render price block when originalDailyPrice > 0
- Webvisor: enable in Yandex Metrika init config
- Referral attribution: consume campaign/referral slugs only after successful auth (all login methods)
- registerWithEmail: consume referral code after success
- AdminSettings: move TARIFF_MODE_SETTINGS to module scope (fix eslint warning)
This commit is contained in:
c0mrade
2026-04-08 18:33:47 +03:00
parent 1cf9526713
commit e6f6713b0e
11 changed files with 65 additions and 30 deletions

View File

@@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next';
import { authApi } from '../api/auth';
import { useAuthStore } from '../store/auth';
import { useShallow } from 'zustand/shallow';
import { consumeCampaignSlug } from '../utils/campaign';
import { consumeCampaignSlug, getPendingCampaignSlug } from '../utils/campaign';
import { tokenStorage } from '../utils/token';
import LanguageSwitcher from '../components/LanguageSwitcher';
@@ -39,8 +39,9 @@ export default function VerifyEmail() {
const verify = async () => {
try {
const campaignSlug = consumeCampaignSlug();
const campaignSlug = getPendingCampaignSlug();
const response = await authApi.verifyEmail(token, campaignSlug);
consumeCampaignSlug();
// Save tokens and log user in
tokenStorage.setTokens(response.access_token, response.refresh_token);
setTokens(response.access_token, response.refresh_token);