From 4a7f327f36079f30c3f4b18656e919c4f1670963 Mon Sep 17 00:00:00 2001 From: "dev.daminik00" Date: Thu, 9 Oct 2025 02:14:36 +0200 Subject: [PATCH] funnel done --- public/funnels/soulmate.json | 377 +++++----- public/funnels/soulmate_test.json | 300 -------- .../SelectAnswersList/SelectAnswersList.tsx | 34 +- src/lib/funnel/bakedFunnels.ts | 678 +++++------------- 4 files changed, 387 insertions(+), 1002 deletions(-) delete mode 100644 public/funnels/soulmate_test.json diff --git a/public/funnels/soulmate.json b/public/funnels/soulmate.json index 1ef75d5..8807e0f 100644 --- a/public/funnels/soulmate.json +++ b/public/funnels/soulmate.json @@ -8,7 +8,7 @@ }, "defaultTexts": { "nextButton": "Next", - "privacyBanner": "Мы не передаем личную информацию, она остаётся в безопасности и под вашим контролем." + "privacyBanner": "We don’t share personal information — it stays safe and under your control." }, "screens": [ { @@ -39,7 +39,7 @@ "isEndScreen": false }, "description": { - "text": "Готов увидеть, кто твоя настоящая Родственная душа?", + "text": "Ready to see who your true soulmate is?", "font": "manrope", "weight": "regular", "size": "md", @@ -78,16 +78,16 @@ "textList": { "items": [ { - "text": "Всего 2 минуты — и Портрет откроет того, кто связан с тобой судьбой." + "text": "Just 2 minutes — and the Portrait will reveal the one who’s destined to be with you." }, { - "text": "Поразительная точность 99%." + "text": "Astonishing 99% accuracy." }, { - "text": "Тебя ждёт неожиданное открытие." + "text": "An unexpected revelation awaits you." }, { - "text": "Осталось лишь осмелиться взглянуть." + "text": "All that’s left is to dare to look." } ] } @@ -100,7 +100,7 @@ "show": true }, "title": { - "text": "Какого ты пола?", + "text": "What’s your gender?", "show": true, "font": "manrope", "weight": "bold", @@ -109,7 +109,7 @@ "color": "default" }, "subtitle": { - "text": "Все начинается с тебя! Выбери свой пол.", + "text": "It all starts with you! Choose your gender.", "show": true, "font": "manrope", "weight": "medium", @@ -155,7 +155,7 @@ "show": true }, "title": { - "text": "Кто вас интересует?", + "text": "Who are you interested in?", "show": true, "font": "manrope", "weight": "bold", @@ -199,7 +199,7 @@ "show": true }, "title": { - "text": "Вы сейчаc?", + "text": "You are currently?", "show": true, "font": "manrope", "weight": "bold", @@ -208,7 +208,7 @@ "color": "default" }, "subtitle": { - "text": "Это нужно, чтобы портрет и советы были точнее.", + "text": "This helps make the portrait and insights more accurate.", "show": true, "font": "manrope", "weight": "medium", @@ -231,22 +231,22 @@ "options": [ { "id": "in_relationship", - "label": "В отношениях", + "label": "In a relationship", "disabled": false }, { "id": "single", - "label": "Свободны", + "label": "Single", "disabled": false }, { "id": "after_breakup", - "label": " После расставания", + "label": "Just went through a breakup", "disabled": false }, { "id": "its_complicated", - "label": "Всё сложно", + "label": "It’s complicated", "disabled": false } ] @@ -261,7 +261,7 @@ "show": true }, "title": { - "text": "Кого анализируем?", + "text": "Who are we analyzing?", "show": true, "font": "manrope", "weight": "bold", @@ -284,22 +284,22 @@ "options": [ { "id": "current_partner", - "label": "Текущего партнёра", + "label": "Current partner", "disabled": false }, { "id": "crush", - "label": "Человека, который нравится", + "label": "Crush", "disabled": false }, { "id": "ex_partner", - "label": "Бывшего", + "label": "Ex", "disabled": false }, { "id": "future_date", - "label": "Будущую встречу", + "label": "Future connection", "disabled": false } ] @@ -314,7 +314,7 @@ "show": true }, "title": { - "text": "Возраст текущего партнера", + "text": "Current partner’s age", "show": true, "font": "manrope", "weight": "bold", @@ -352,7 +352,7 @@ "options": [ { "id": "under_29", - "label": "До 29", + "label": "Under 29", "disabled": false }, { @@ -402,7 +402,7 @@ ], "overrides": { "title": { - "text": "Возраст человека, который нравится" + "text": "Age of the person you like" } } }, @@ -418,7 +418,7 @@ ], "overrides": { "title": { - "text": "Возраст бывшего" + "text": "Ex’s age" } } }, @@ -434,7 +434,7 @@ ], "overrides": { "title": { - "text": "Возраст будущего партнёра" + "text": "Future partner’s age" } } } @@ -448,7 +448,7 @@ "show": true }, "title": { - "text": "Уточните чуть точнее", + "text": "Please specify a bit more", "show": true, "font": "manrope", "weight": "bold", @@ -457,7 +457,7 @@ "color": "default" }, "subtitle": { - "text": "Чтобы портрет был максимально похож.", + "text": "So the portrait can be as accurate as possible.", "show": true, "font": "manrope", "weight": "medium", @@ -505,7 +505,7 @@ "show": true }, "title": { - "text": "Этническая принадлежность твоей второй половинки?", + "text": "Your partner’s ethnicity?", "show": true, "font": "manrope", "weight": "bold", @@ -578,7 +578,7 @@ "show": true }, "title": { - "text": "Цвет глаз твоей второй половинки?", + "text": "Your partner’s eye color?", "show": true, "font": "manrope", "weight": "bold", @@ -606,7 +606,7 @@ }, { "id": "blue", - "label": "Голубые", + "label": "Blue", "disabled": false }, { @@ -621,17 +621,17 @@ }, { "id": "amber", - "label": "Янтарные", + "label": "Amber", "disabled": false }, { "id": "gray", - "label": "Серые", + "label": "Gray", "disabled": false }, { "id": "unknown", - "label": "Не знаю", + "label": "I don’t know", "disabled": false } ] @@ -646,7 +646,7 @@ "show": true }, "title": { - "text": "Выберите длину волос", + "text": "Choose the hair length", "show": true, "font": "manrope", "weight": "bold", @@ -655,7 +655,7 @@ "color": "default" }, "subtitle": { - "text": "От неё зависит форма и настроение портрета.", + "text": "It affects the portrait’s shape and mood.", "show": true, "font": "manrope", "weight": "medium", @@ -678,17 +678,17 @@ "options": [ { "id": "short", - "label": "Короткие", + "label": "Short", "disabled": false }, { "id": "medium", - "label": "Средние", + "label": "Medium", "disabled": false }, { "id": "long", - "label": "Длинные", + "label": "Long", "disabled": false } ] @@ -703,7 +703,7 @@ "show": true }, "title": { - "text": "Когда ты выгораешь, тебе нужно чтобы партнёр", + "text": "When you’re burned out, you need your partner to", "show": true, "font": "manrope", "weight": "bold", @@ -726,27 +726,27 @@ "options": [ { "id": "acknowledged_and_calmed", - "label": "Признал ваше разочарование и успокоил", + "label": "Acknowledge your frustration and comfort you", "disabled": false }, { "id": "gave_emotional_support", - "label": "Дал эмоциональную опору и безопасное пространство", + "label": "Give emotional support and a safe space", "disabled": false }, { "id": "took_over_tasks", - "label": "Перехватил быт/дела, чтобы вы восстановились", + "label": "Take over daily tasks so you can recover", "disabled": false }, { "id": "inspired_with_plan", - "label": "Вдохнул энергию через цель и короткий план действий", + "label": "Inspire you with a goal and a short action plan", "disabled": false }, { "id": "shifted_to_positive", - "label": "Переключил на позитив: прогулка, кино, смешные истории", + "label": "Shift your focus to something positive — a walk, a movie, funny stories", "disabled": false } ] @@ -770,7 +770,7 @@ "color": "default" }, "subtitle": { - "text": "Такой партнёр **умеет слышать и поддерживать**, а вы — **человек с глубокой душой**, который ценит искренность и силу настоящих чувств.", + "text": "This kind of partner **knows how to listen and support**, and you’re a **deep soul** who values honesty and the power of genuine emotions.", "show": true, "font": "manrope", "weight": "medium", @@ -819,7 +819,7 @@ ], "overrides": { "subtitle": { - "text": "Такой человек создаёт **чувство надёжности**, а вы обладаете мудростью и внутренней зрелостью, выбирая близость и доверие." + "text": "This kind of person creates a **sense of security**, and you have the wisdom and emotional maturity to choose closeness and trust." } } }, @@ -835,7 +835,7 @@ ], "overrides": { "subtitle": { - "text": "Такой партнёр готов **подставить плечо** в нужный момент, а вы сильны тем, что умеете **доверять** и **принимать поддержку** — это ваша природная мудрость." + "text": "This kind of partner is ready to **lend a shoulder** when it’s needed, and your strength lies in your ability to **trust** and **accept support** — that’s your natural wisdom." } } }, @@ -851,7 +851,7 @@ ], "overrides": { "subtitle": { - "text": "Такой человек **заряжает ясностью** и **мотивирует**, а вы выделяетесь **силой воли** и **стремлением к росту** — вы не боитесь идти вперёд." + "text": "This kind of person **brings clarity** and **motivates**, while you stand out for your **willpower** and **drive for growth** — you’re not afraid to move forward." } } }, @@ -867,7 +867,7 @@ ], "overrides": { "subtitle": { - "text": "Такой партнёр умеет **возвращать радость**, а вы показываете свою силу в умении **сохранять лёгкость** и **светлый взгляд** на жизнь." + "text": "This kind of partner knows how to **bring back joy**, and you show your strength through your ability to **stay lighthearted** and **keep a bright outlook** on life." } } } @@ -881,7 +881,7 @@ "show": true }, "title": { - "text": "Когда ты родился?", + "text": "When were you born?", "show": true, "font": "manrope", "weight": "bold", @@ -890,7 +890,7 @@ "color": "default" }, "subtitle": { - "text": "В момент вашего рождения заложенны глубинные закономерности.", + "text": "The moment you were born holds deep underlying patterns.", "show": true, "font": "manrope", "weight": "medium", @@ -909,20 +909,21 @@ "isEndScreen": false }, "dateInput": { - "monthLabel": "Месяц", - "dayLabel": "День", - "yearLabel": "Год", - "monthPlaceholder": "ММ", - "dayPlaceholder": "ДД", - "yearPlaceholder": "ГГГГ", + "monthLabel": "Month", + "dayLabel": "Month", + "yearLabel": "Month", + "monthPlaceholder": "MM", + "dayPlaceholder": "DD", + "yearPlaceholder": "YYYY", "showSelectedDate": true, "selectedDateFormat": "dd MMMM yyyy", - "selectedDateLabel": "Выбранная дата:", + "selectedDateLabel": "Selected date:", "zodiac": { "enabled": true, "storageKey": "userZodiac" }, - "registrationFieldKey": "profile.birthdate" + "registrationFieldKey": "profile.birthdate", + "validationMessage": "Please enter a valid date" }, "variants": [] }, @@ -934,7 +935,7 @@ "show": true }, "title": { - "text": "Какой природный образ ближе вашему характеру?", + "text": "Which natural symbol best matches your personality?", "show": true, "font": "manrope", "weight": "bold", @@ -957,25 +958,25 @@ "options": [ { "id": "flower", - "label": "Цветок — нежность, забота, притягательность", + "label": "Flower — tenderness, care, charm", "emoji": "🌹", "disabled": false }, { "id": "sea", - "label": "Море — глубина, тайна, эмоции", + "label": "Sea — depth, mystery, emotion", "emoji": "🌊", "disabled": false }, { "id": "sun", - "label": "Солнце — энергия, сила, яркость", + "label": "Sun — energy, strength, brightness", "emoji": "🌞️", "disabled": false }, { "id": "moon", - "label": "Луна — интуиция, чувствительность", + "label": "Moon — intuition, sensitivity", "emoji": "🌙", "disabled": false } @@ -991,7 +992,7 @@ "show": true }, "title": { - "text": "Когда речь о любви, что для вас важнее: сердце или разум?", + "text": "When it comes to love, what matters more to you: heart or mind?", "show": true, "font": "manrope", "weight": "bold", @@ -1014,25 +1015,25 @@ "options": [ { "id": "follow_heart", - "label": "Доверяю сердцу", + "label": "I follow my heart", "emoji": "🧡", "disabled": false }, { "id": "follow_mind", - "label": "Опираюсь на разум", + "label": "I rely on my mind", "emoji": "🧠", "disabled": false }, { "id": "balance_heart_mind", - "label": "Сочетание сердца и разума", + "label": "A balance of heart and mind", "emoji": "🎯", "disabled": false }, { "id": "depends_on_situation", - "label": "Зависит от ситуации", + "label": "Depends on the situation", "emoji": "⚖️", "disabled": false } @@ -1048,7 +1049,7 @@ "show": true }, "title": { - "text": "Заголовок информации", + "text": "Title", "show": false, "font": "manrope", "weight": "bold", @@ -1057,7 +1058,7 @@ "color": "default" }, "subtitle": { - "text": "По нашей статистике **51 % {{gender}} {{zodiac}}** доверяются эмоциям. Но одной чувствительности мало. Мы покажем, какие качества второй половинки дадут тепло и уверенность, и изобразим её портрет.", + "text": "According to our statistics, **51% of {{gender}} {{zodiac}}** trust their emotions. But sensitivity alone isn’t enough. We’ll show which qualities in your partner will bring warmth and confidence — and create their portrait.", "show": true, "font": "manrope", "weight": "medium", @@ -1095,10 +1096,10 @@ ] } ], - "value": "мужчин" + "value": "men" } ], - "fallback": "женщин" + "fallback": "women" }, { "name": "zodiac", @@ -1114,7 +1115,7 @@ ] } ], - "value": "Овнов" + "value": "Aries" }, { "conditions": [ @@ -1127,7 +1128,7 @@ ] } ], - "value": "Тельцов" + "value": "Taurus" }, { "conditions": [ @@ -1140,7 +1141,7 @@ ] } ], - "value": "Близнецов" + "value": "Gemini" }, { "conditions": [ @@ -1153,7 +1154,7 @@ ] } ], - "value": "Раков" + "value": "Cancer" }, { "conditions": [ @@ -1166,7 +1167,7 @@ ] } ], - "value": "Львов" + "value": "Leo" }, { "conditions": [ @@ -1179,7 +1180,7 @@ ] } ], - "value": "Дев" + "value": "Virgo" }, { "conditions": [ @@ -1192,7 +1193,7 @@ ] } ], - "value": "Весов" + "value": "Libra" }, { "conditions": [ @@ -1205,7 +1206,7 @@ ] } ], - "value": "Скорпионов" + "value": "Scorpio" }, { "conditions": [ @@ -1218,7 +1219,7 @@ ] } ], - "value": "Стрельцов" + "value": "Sagittarius" }, { "conditions": [ @@ -1231,7 +1232,7 @@ ] } ], - "value": "Козерогов" + "value": "Capricorn" }, { "conditions": [ @@ -1244,7 +1245,7 @@ ] } ], - "value": "Водолеев" + "value": "Aquarius" }, { "conditions": [ @@ -1257,10 +1258,10 @@ ] } ], - "value": "Рыб" + "value": "Pisces" } ], - "fallback": "Овнов" + "fallback": "Pisces" } ], "variants": [ @@ -1276,7 +1277,7 @@ ], "overrides": { "subtitle": { - "text": "По нашей статистике **43 % {{gender}} {{zodiac}}** выбирают разум. Но одних расчётов недостаточно. Мы откроем, какие черты второй половинки принесут доверие, и нарисуем её образ." + "text": "According to our statistics, **43% of {{gender}} {{zodiac}}** choose reason. But calculations alone aren’t enough. We’ll reveal which traits in your partner will build trust — and create their portrait." }, "icon": { "value": "/images/575ab717-eaa5-462b-8aa6-0202a62c9099.svg" @@ -1295,7 +1296,7 @@ ], "overrides": { "subtitle": { - "text": "По нашей статистике **47 % {{gender}} {{zodiac}}** ищут баланс. Но удержать его непросто. Мы покажем, какие качества второй половинки соединят страсть и надёжность, и создадим её портрет." + "text": "According to our statistics, **47% of {{gender}} {{zodiac}}** seek balance. But keeping it isn’t easy. We’ll show which qualities in your partner will unite passion and stability — and create their portrait." }, "icon": { "value": "/images/7dd85bf0-4b92-4213-9e2a-82ba1e53d165.svg" @@ -1314,7 +1315,7 @@ ], "overrides": { "subtitle": { - "text": "По нашей статистике **37% {{gender}} {{zodiac}}** выбирают по обстоятельствам. Но такая гибкость часто ведёт к сомнениям. Мы откроем, кто способен подарить стабильность и уверенность, и нарисуем портрет второй половинки." + "text": "According to our statistics, **37% of {{gender}} {{zodiac}}** make their choice based on circumstances. But such flexibility often leads to doubt. We’ll reveal who can bring you stability and confidence — and draw your partner’s portrait." }, "icon": { "value": "/images/6bd25c4d-9308-4907-a54f-b7bc10322fa8.svg" @@ -1331,7 +1332,7 @@ "show": true }, "title": { - "text": "Что больше всего мешает вам в отношениях?", + "text": "What gets in the way of your relationships the most?", "show": true, "font": "manrope", "weight": "bold", @@ -1354,37 +1355,37 @@ "options": [ { "id": "fear_of_wrong_choice", - "label": "Страх снова ошибиться в выборе", + "label": "Fear of making the wrong choice again", "emoji": "💔", "disabled": false }, { "id": "wasted_years", - "label": "Трата лет на “не того” человека", + "label": "Wasting years on the “wrong” person", "emoji": "🕰️", "disabled": false }, { "id": "lack_of_depth", - "label": "Есть страсть, но не хватает глубины", + "label": "There’s passion, but not enough depth", "emoji": "🔥", "disabled": false }, { "id": "unclear_desires", - "label": "Не понимаю, чего на самом деле хочу", + "label": "Not sure what I really want", "emoji": "🗝", "disabled": false }, { "id": "stuck_in_past", - "label": "Не могу отпустить прошлые отношения", + "label": "Can’t let go of a past relationship", "emoji": "👻", "disabled": false }, { "id": "fear_of_loneliness", - "label": "Боюсь остаться в одиночестве", + "label": "Afraid of being alone", "emoji": "🕯", "disabled": false } @@ -1407,38 +1408,38 @@ "options": [ { "id": "fear_of_wrong_choice", - "label": "Страх снова ошибиться в выборе", + "label": "Fear of making the wrong choice again", "emoji": "💔" }, { "id": "wasted_years", - "label": "Ощущение, что годы уходят впустую", + "label": "Feeling like the years are slipping away", "emoji": "🕰️" }, { "id": "wrong_people", - "label": "Встречаю интересных, но не тех самых", + "label": "Meeting interesting people, but not the right one", "emoji": "😕" }, { "id": "unclear_needs", - "label": "Не понимаю, кто мне действительно нужен", + "label": "Not sure who I really need", "emoji": "🧩" }, { "id": "stuck_in_past", - "label": "Прошлое не даёт двигаться дальше", + "label": "The past keeps me from moving on", "emoji": "👻" }, { "id": "fear_of_loneliness", - "label": "Боюсь остаться в одиночестве", + "label": "Afraid of being alone", "emoji": "🕯" } ] }, "title": { - "text": "Что больше всего мешает вам в поиске любви?" + "text": "What gets in the way of finding love the most?" } } } @@ -1452,7 +1453,7 @@ "show": true }, "title": { - "text": "Вы не одиноки в этом страхе", + "text": "You’re not alone in this fear.", "show": true, "font": "manrope", "weight": "bold", @@ -1461,7 +1462,7 @@ "color": "default" }, "subtitle": { - "text": "Многие боятся повторить прошлый опыт. Мы поможем распознать верные сигналы и выбрать «своего» человека.", + "text": "Many people are afraid of repeating the past. We’ll help you recognize the right signs and choose the person who’s truly meant for you.", "show": true, "font": "manrope", "weight": "medium", @@ -1498,10 +1499,10 @@ ], "overrides": { "title": { - "text": "Эта боль знакома многим" + "text": "This pain is familiar to many." }, "subtitle": { - "text": "Ощущение потраченного времени тяжело. Мы подскажем, как перестать застревать в прошлом и двигаться вперёд." + "text": "The feeling of wasted time is hard. We’ll show you how to stop getting stuck in the past and move forward." }, "icon": { "value": "/images/5ae02c30-44a0-4a8c-a814-9fd2490cdc77.svg" @@ -1520,10 +1521,10 @@ ], "overrides": { "title": { - "text": "Многие сталкиваются с этим" + "text": "Many people face this." }, "subtitle": { - "text": "Яркие эмоции быстро гаснут, если нет основы. Мы поможем превратить связь в настоящую близость." + "text": "Bright emotions fade quickly without a foundation. We’ll help you turn a connection into true closeness." } } }, @@ -1539,10 +1540,10 @@ ], "overrides": { "title": { - "text": "С этим часто трудно разобраться" + "text": "This is often hard to figure out." }, "subtitle": { - "text": "Понять себя — ключ к правильному выбору. Мы поможем прояснить, какие качества действительно важны для вас." + "text": "Understanding yourself is the key to making the right choice. We’ll help you see which qualities truly matter to you." } } }, @@ -1558,10 +1559,10 @@ ], "overrides": { "title": { - "text": "Вы не единственные, кто застрял в прошлом" + "text": "You’re not the only one stuck in the past." }, "subtitle": { - "text": "Прошлое может держать слишком крепко. Мы покажем, как освободиться и дать место новой любви." + "text": "The past can hold on too tightly. We’ll show you how to let go and make room for new love." } } }, @@ -1577,10 +1578,10 @@ ], "overrides": { "title": { - "text": "Этот страх очень знаком многим" + "text": "This fear is very familiar to many." }, "subtitle": { - "text": "Мысль о будущем в одиночестве пугает. Мы поможем построить путь, где рядом будет близкий человек." + "text": "The thought of a lonely future is frightening. We’ll help you build a path where someone special walks beside you." } } }, @@ -1596,7 +1597,7 @@ ], "overrides": { "title": { - "text": "Многие через это проходят" + "text": "Many people go through this." } } }, @@ -1612,10 +1613,10 @@ ], "overrides": { "title": { - "text": "Это нормально - не знать сразу" + "text": "It’s okay not to know right away." }, "subtitle": { - "text": "Разобраться в том, какой партнёр нужен именно вам, непросто. Мы поможем увидеть, какие качества действительно важны." + "text": "Figuring out what kind of partner you truly need isn’t easy. We’ll help you see which qualities really matter." } } } @@ -1629,7 +1630,7 @@ "show": true }, "title": { - "text": "В чём ваша базовая потребность сейчас?", + "text": "What’s your core need right now?", "show": true, "font": "manrope", "weight": "bold", @@ -1652,27 +1653,27 @@ "options": [ { "id": "safety_and_support", - "label": "Безопасность и опора", + "label": "Safety and support", "disabled": false }, { "id": "passion_and_spark", - "label": "Страсть и искра", + "label": "Passion and spark", "disabled": false }, { "id": "calm_and_acceptance", - "label": "Спокойствие и принятие", + "label": "Calm and acceptance", "disabled": false }, { "id": "inspiration_and_growth", - "label": "Вдохновение и рост", + "label": "Inspiration and growth", "disabled": false }, { "id": "not_important", - "label": "Неважно", + "label": "Doesn’t matter", "disabled": false } ] @@ -1687,7 +1688,7 @@ "show": true }, "title": { - "text": "Твоя вторая половинка похожа на тебя?", + "text": "Is your partner similar to you?", "show": true, "font": "manrope", "weight": "bold", @@ -1710,12 +1711,12 @@ "options": [ { "id": "similar", - "label": "Да, есть сходство", + "label": "Yes, we have things in common", "disabled": false }, { "id": "different", - "label": "Мы совершенно разные", + "label": "We’re completely different", "disabled": false } ] @@ -1730,7 +1731,7 @@ "show": true }, "title": { - "text": "Предпочитаемая роль партнёра", + "text": "Preferred partner role", "show": true, "font": "manrope", "weight": "bold", @@ -1753,32 +1754,32 @@ "options": [ { "id": "leader", - "label": "Ведущий", + "label": "Leader", "disabled": false }, { "id": "equal", - "label": "Равный", + "label": "Equal", "disabled": false }, { "id": "supportive", - "label": "Поддерживающий", + "label": "Supportive", "disabled": false }, { "id": "flexible", - "label": "Гибкая роль", + "label": "Flexible", "disabled": false }, { "id": "dependent", - "label": "Зависимый от меня", + "label": "Dependent on me", "disabled": false }, { "id": "situational", - "label": "По ситуации", + "label": "Depends on the situation", "disabled": false } ] @@ -1793,7 +1794,7 @@ "show": true }, "title": { - "text": "Что для тебя главный источник силы в отношениях?", + "text": "What’s your main source of strength in a relationship?", "show": true, "font": "manrope", "weight": "bold", @@ -1816,27 +1817,27 @@ "options": [ { "id": "support_and_care", - "label": "Поддержка и забота", + "label": "Support and care", "disabled": false }, { "id": "admiration_and_recognition", - "label": "Восхищение и признание", + "label": "Admiration and appreciation", "disabled": false }, { "id": "freedom_and_space", - "label": "Свобода и пространство", + "label": "Freedom and space", "disabled": false }, { "id": "shared_goals_and_plans", - "label": "Общие цели и планы", + "label": "Shared goals and plans", "disabled": false }, { "id": "joy_and_lightness", - "label": "Радость и лёгкость", + "label": "Joy and lightness", "disabled": false } ] @@ -1851,7 +1852,7 @@ "show": true }, "title": { - "text": "Как ты проявляешь любовь?", + "text": "How do you express love?", "show": true, "font": "manrope", "weight": "bold", @@ -1874,32 +1875,32 @@ "options": [ { "id": "words", - "label": "Словами", + "label": "With words", "disabled": false }, { "id": "actions", - "label": "Поступками", + "label": "Through actions", "disabled": false }, { "id": "quality_time", - "label": "Совместным временем", + "label": "By spending time together", "disabled": false }, { "id": "care", - "label": "Заботой", + "label": "With care", "disabled": false }, { "id": "passion", - "label": "Страстью", + "label": "With passion", "disabled": false }, { "id": "in_my_own_way", - "label": "По-своему", + "label": "In my own way", "disabled": false } ] @@ -1914,7 +1915,7 @@ "show": true }, "title": { - "text": "Как ты воспринимаешь будущее твоей пары?", + "text": "How do you see your relationship’s future?", "show": true, "font": "manrope", "weight": "bold", @@ -1937,27 +1938,27 @@ "options": [ { "id": "home_and_family", - "label": "Совместный дом и семья", + "label": "A shared home and family", "disabled": false }, { "id": "travel_and_discovery", - "label": "Путешествия и открытия", + "label": "Travel and new discoveries", "disabled": false }, { "id": "shared_goals", - "label": "Совместные проекты и цели", + "label": "Joint projects and goals", "disabled": false }, { "id": "present_moment", - "label": "Просто быть рядом «здесь и сейчас»", + "label": "Just being together “here and now”", "disabled": false }, { "id": "unsure", - "label": "Пока сложно сказать", + "label": "Hard to say for now", "disabled": false } ] @@ -1972,7 +1973,7 @@ "show": true }, "title": { - "text": "Какую энергию ты хочешь в отношениях?", + "text": "What kind of energy do you want in a relationship?", "show": true, "font": "manrope", "weight": "bold", @@ -1995,27 +1996,27 @@ "options": [ { "id": "lightness_and_joy", - "label": "Лёгкость и радость", + "label": "Lightness and joy", "disabled": false }, { "id": "strength_and_drive", - "label": "Сила и драйв", + "label": "Strength and drive", "disabled": false }, { "id": "comfort_and_safety", - "label": "Уют и надёжность", + "label": "Comfort and stability", "disabled": false }, { "id": "depth_and_meaning", - "label": "Глубина и смысл", + "label": "Depth and meaning", "disabled": false }, { "id": "freedom_and_space", - "label": "Свобода и простор", + "label": "Freedom and space", "disabled": false } ] @@ -2030,7 +2031,7 @@ "show": true }, "title": { - "text": "Какой образ отношений вам ближе?", + "text": "Which image of a relationship feels closest to you?", "show": true, "font": "manrope", "weight": "bold", @@ -2039,7 +2040,7 @@ "color": "default" }, "subtitle": { - "text": "Можно выбрать несколько вариантов.", + "text": "You can choose several options.", "show": true, "font": "manrope", "weight": "medium", @@ -2062,42 +2063,42 @@ "options": [ { "id": "bridge", - "label": "Мост — связь сквозь препятствия", + "label": "Bridge — connection through obstacles", "disabled": false }, { "id": "mountain_path", - "label": "Путь в горах — испытания и смысл", + "label": "Mountain path — challenges and meaning", "disabled": false }, { "id": "dance", - "label": "Танец — баланс и взаимные шаги", + "label": "Dance — balance and mutual steps", "disabled": false }, { "id": "key_and_lock", - "label": "Ключ и замок — совпадение ценностей", + "label": "Key and lock — shared values", "disabled": false }, { "id": "harbor", - "label": "Гавань — безопасность и покой", + "label": "Harbor — safety and peace", "disabled": false }, { "id": "lighthouse", - "label": "Маяк — ориентир и поддержка", + "label": "Lighthouse — guidance and support", "disabled": false }, { "id": "ocean_after_storm", - "label": "Океан после шторма — очищение и новое", + "label": "Ocean after the storm — renewal and new beginnings", "disabled": false }, { "id": "garden", - "label": "Сад — забота и рост", + "label": "Garden — care and growth", "disabled": false } ] @@ -2112,7 +2113,7 @@ "show": false }, "title": { - "text": "Создаем портрет твоей второй половинки.", + "text": "Creating the portrait of your other half.", "show": true, "font": "manrope", "weight": "bold", @@ -2134,9 +2135,9 @@ "progressbars": { "items": [ { - "processingTitle": "Анализ твоих ответов", + "processingTitle": "Analyzing your answers", "processingSubtitle": "Processing...", - "completedTitle": "Анализ твоих ответов", + "completedTitle": "Analyzing your answers", "completedSubtitle": "Complete" }, { @@ -2164,7 +2165,7 @@ "show": true }, "title": { - "text": "Портрет твоей второй половинки готов! Куда нам его отправить?", + "text": "Your soulmate’s portrait is ready! Where should we send it?", "show": true, "font": "manrope", "weight": "bold", @@ -2217,7 +2218,7 @@ "show": true }, "title": { - "text": "Тебе повезло!", + "text": "You’re in luck!", "show": true, "font": "manrope", "weight": "bold", @@ -2226,7 +2227,7 @@ "color": "default" }, "subtitle": { - "text": "Ты получил специальную эксклюзивную скидку на 94%", + "text": "You’ve received an exclusive 94% discount.", "show": true, "font": "manrope", "weight": "medium", @@ -2263,7 +2264,7 @@ "color": "primary" }, "description": { - "text": "Одноразовая эксклюзивная скидка", + "text": "One-time special offer", "font": "inter", "weight": "medium", "color": "muted", @@ -2280,7 +2281,7 @@ "color": "accent" }, "footer": { - "text": "Скопируйте или нажмите **Continue**", + "text": "Copy or click **Continue**", "font": "inter", "weight": "medium", "color": "muted", @@ -2288,7 +2289,7 @@ "size": "sm" } }, - "copiedMessage": "Промокод скопирован!", + "copiedMessage": "Promo code copied!", "variants": [] }, { @@ -2299,7 +2300,7 @@ "show": false }, "title": { - "text": "Новый экран", + "text": "Title", "show": false, "font": "manrope", "weight": "bold", @@ -2367,14 +2368,14 @@ }, "blur": { "text": { - "text": "Чтобы открыть весь отчёт, нужен полный доступ." + "text": "Full access is required to unlock the complete report." }, "icon": "lock" } }, "tryForDays": { "title": { - "text": "Попробуйте в течение 7 дней!" + "text": "Try it for 7 days!" }, "textList": { "items": [ @@ -2548,19 +2549,19 @@ }, { "title": { - "text": "Астрологические Идеи" + "text": "Astrological Insights" }, "description": { - "text": "Уникальные астрологические рекомендации." + "text": "Unique astrology-based recommendations." }, "icon": "astro" }, { "title": { - "text": "Персонализированный чат с экспертом" + "text": "Personalized chat with an expert" }, "description": { - "text": "Персональные советы." + "text": "Individual guidance." }, "icon": "chat" } @@ -2577,7 +2578,7 @@ "text": "Jennifer Wilson 🇺🇸" }, "text": { - "text": "**“Я увидела свои ошибки… и нашла мужа”**\nПортрет сразу зацепил — было чувство, что я уже где-то его видела. Но настоящий перелом произошёл после гайда: я поняла, почему снова и снова выбирала «не тех». И самое удивительное — вскоре я познакомилась с мужчиной, который оказался точной копией того самого портрета. Сейчас он мой муж, и когда мы сравнили рисунок с его фото, сходство было просто вау." + "text": "**“I saw my mistakes… and found my husband.”**\nThe portrait instantly struck me — I had this feeling like I’d seen him somewhere before. But the real turning point came after the guide: I finally understood why I kept choosing the “wrong” people. And the most amazing part — soon after, I met a man who turned out to be the exact image from that portrait. He’s my husband now, and when we compared the drawing to his photo, the resemblance was just wow." }, "avatar": { "src": "/trial-payment/reviews/avatars/1.jpg" @@ -2598,7 +2599,7 @@ "text": "Amanda Davis 🇨🇦" }, "text": { - "text": "**“Я поняла своего партнёра лучше за один вечер, чем за несколько лет”**\nПрошла тест ради интереса — портрет нас удивил. Но настоящий прорыв случился, когда я прочитала гайд о второй половинке. Там были точные подсказки о том, как мы можем поддерживать друг друга. Цена смешная, а ценность огромная: теперь у нас меньше недопониманий и больше тепла." + "text": "**“I understood my partner better in one evening than in several years.”**\nI took the test just for fun — the portrait surprised us. But the real breakthrough came when I read the guide about my other half. It had spot-on insights about how we can support each other. The price was nothing, but the value was huge — now we have fewer misunderstandings and so much more warmth." }, "avatar": { "src": "/trial-payment/reviews/avatars/2.jpg" @@ -2619,7 +2620,7 @@ "text": "Michael Johnson 🇬🇧" }, "text": { - "text": "**“Увидел её лицо — и мурашки по коже”**\nКогда пришёл результат теста и показали портрет, я реально замер. Это была та самая девушка, с которой я начал встречаться пару недель назад. И гайд прямо описал, почему мы тянемся друг к другу. Честно, я не ожидал такого совпадения." + "text": "**“I saw her face — and got goosebumps.”**\nWhen I got my test results and saw the portrait, I literally froze. It was the exact girl I’d started dating a couple of weeks earlier. And the guide described perfectly why we’re drawn to each other. Honestly, I didn’t expect such a match." }, "avatar": { "src": "/trial-payment/reviews/avatars/3.jpg" diff --git a/public/funnels/soulmate_test.json b/public/funnels/soulmate_test.json deleted file mode 100644 index 2f8f2c0..0000000 --- a/public/funnels/soulmate_test.json +++ /dev/null @@ -1,300 +0,0 @@ -{ - "meta": { - "id": "soulmate_test", - "title": "Новая воронка", - "description": "Описание новой воронки", - "firstScreenId": "onboarding", - "yandexMetrikaId": "104471567" - }, - "defaultTexts": { - "nextButton": "Continue" - }, - "screens": [ - { - "id": "onboarding", - "template": "info", - "title": { - "text": "Добро пожаловать!", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "md", - "align": "center", - "color": "default" - }, - "subtitle": { - "text": "Это ваша новая воронка. Начните редактирование.", - "show": true, - "font": "manrope", - "weight": "regular", - "size": "md", - "align": "center", - "color": "muted" - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "gender", - "isEndScreen": false - }, - "icon": { - "type": "emoji", - "value": "🎯", - "size": "lg" - }, - "variables": [], - "variants": [] - }, - { - "id": "gender", - "template": "list", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Новый экран", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "left", - "color": "default" - }, - "subtitle": { - "text": "Добавьте детали справа", - "show": true, - "font": "manrope", - "weight": "medium", - "size": "lg", - "align": "left", - "color": "default" - }, - "bottomActionButton": { - "show": false, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": false - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "example", - "isEndScreen": false - }, - "list": { - "selectionType": "single", - "options": [ - { - "id": "male", - "label": "male", - "disabled": false - }, - { - "id": "female", - "label": "female", - "disabled": false - } - ], - "registrationFieldKey": "profile.gender" - }, - "variants": [] - }, - { - "id": "example", - "template": "list", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Новый экран", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "left", - "color": "default" - }, - "subtitle": { - "text": "Добавьте детали справа", - "show": true, - "font": "manrope", - "weight": "medium", - "size": "lg", - "align": "left", - "color": "default" - }, - "bottomActionButton": { - "show": true, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": false - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "birthdate", - "isEndScreen": false - }, - "list": { - "selectionType": "single", - "options": [ - { - "id": "option-1", - "label": "Вариант 1", - "disabled": false - }, - { - "id": "option-2", - "label": "Вариант 2", - "disabled": false - } - ] - }, - "variants": [] - }, - { - "id": "birthdate", - "template": "date", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Новый экран", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "left", - "color": "default" - }, - "subtitle": { - "text": "Добавьте детали справа", - "show": true, - "font": "manrope", - "weight": "medium", - "size": "lg", - "align": "left", - "color": "default" - }, - "bottomActionButton": { - "show": true, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": false - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "email", - "isEndScreen": false - }, - "dateInput": { - "monthLabel": "Месяц", - "dayLabel": "День", - "yearLabel": "Год", - "monthPlaceholder": "ММ", - "dayPlaceholder": "ДД", - "yearPlaceholder": "ГГГГ", - "showSelectedDate": true, - "selectedDateFormat": "dd MMMM yyyy", - "selectedDateLabel": "Выбранная дата:", - "zodiac": { - "enabled": true, - "storageKey": "userZodiac" - }, - "registrationFieldKey": "profile.birthdate" - }, - "variants": [] - }, - { - "id": "email", - "template": "email", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Портрет твоей второй половинки готов! Куда нам его отправить?", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "center", - "color": "default" - }, - "bottomActionButton": { - "show": true, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": true - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "final", - "isEndScreen": false - }, - "emailInput": { - "label": "Email адрес", - "placeholder": "example@email.com" - }, - "image": { - "src": "/female-portrait.jpg" - }, - "variants": [ - { - "conditions": [ - { - "screenId": "gender", - "operator": "includesAny", - "optionIds": [ - "male" - ] - } - ], - "overrides": { - "image": { - "src": "/male-portrait.jpg" - } - } - } - ] - }, - { - "id": "final", - "template": "info", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Спасибо за регистрацию", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "center", - "color": "default" - }, - "subtitle": { - "text": "Добавьте подзаголовок для информационного экрана", - "show": true, - "font": "manrope", - "weight": "medium", - "size": "lg", - "align": "center", - "color": "default" - }, - "bottomActionButton": { - "show": false, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": false - }, - "navigation": { - "rules": [], - "isEndScreen": true - }, - "icon": { - "type": "emoji", - "value": "ℹ️", - "size": "xl" - }, - "variables": [], - "variants": [] - } - ] -} \ No newline at end of file diff --git a/src/components/widgets/SelectAnswersList/SelectAnswersList.tsx b/src/components/widgets/SelectAnswersList/SelectAnswersList.tsx index 6beebc1..1268faf 100644 --- a/src/components/widgets/SelectAnswersList/SelectAnswersList.tsx +++ b/src/components/widgets/SelectAnswersList/SelectAnswersList.tsx @@ -5,7 +5,7 @@ import { MainButton, MainButtonProps, } from "@/components/ui/MainButton/MainButton"; -import { useEffect, useState, useRef } from "react"; +import { useState } from "react"; export interface SelectAnswersListProps extends React.ComponentProps<"div"> { answers: MainButtonProps[]; @@ -22,37 +22,21 @@ function SelectAnswersList({ onAnswerClick, ...props }: SelectAnswersListProps) { + // Инициализируем состояние только один раз из activeAnswers const [selectedAnswers, setSelectedAnswers] = useState< MainButtonProps[] | null - >(activeAnswers); - const isInitialMount = useRef(true); - - useEffect(() => { - setSelectedAnswers(activeAnswers ?? null); - }, [activeAnswers]); + >(() => activeAnswers ?? null); const handleAnswerClick = (answer: MainButtonProps) => { - if (selectedAnswers?.some((a) => a.id === answer.id)) { - setSelectedAnswers( - (prev) => prev?.filter((a) => a.id !== answer.id) || null - ); - } else { - setSelectedAnswers((prev) => [...(prev || []), answer]); - } + const newSelectedAnswers = selectedAnswers?.some((a) => a.id === answer.id) + ? selectedAnswers.filter((a) => a.id !== answer.id) || null + : [...(selectedAnswers || []), answer]; + + setSelectedAnswers(newSelectedAnswers); + onChangeSelectedAnswers?.(newSelectedAnswers); onAnswerClick?.(answer); }; - useEffect(() => { - // НЕ вызываем callback при первоначальной загрузке компонента - if (isInitialMount.current) { - isInitialMount.current = false; - return; - } - - onChangeSelectedAnswers?.(selectedAnswers); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [selectedAnswers]); - return (
{answers.map((answer) => ( diff --git a/src/lib/funnel/bakedFunnels.ts b/src/lib/funnel/bakedFunnels.ts index efad31b..ddc8153 100644 --- a/src/lib/funnel/bakedFunnels.ts +++ b/src/lib/funnel/bakedFunnels.ts @@ -6,307 +6,6 @@ import type { FunnelDefinition } from "./types"; export const BAKED_FUNNELS: Record = { - "soulmate_test": { - "meta": { - "id": "soulmate_test", - "title": "Новая воронка", - "description": "Описание новой воронки", - "firstScreenId": "onboarding", - "yandexMetrikaId": "104471567" - }, - "defaultTexts": { - "nextButton": "Continue" - }, - "screens": [ - { - "id": "onboarding", - "template": "info", - "title": { - "text": "Добро пожаловать!", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "md", - "align": "center", - "color": "default" - }, - "subtitle": { - "text": "Это ваша новая воронка. Начните редактирование.", - "show": true, - "font": "manrope", - "weight": "regular", - "size": "md", - "align": "center", - "color": "muted" - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "gender", - "isEndScreen": false - }, - "icon": { - "type": "emoji", - "value": "🎯", - "size": "lg" - }, - "variables": [], - "variants": [] - }, - { - "id": "gender", - "template": "list", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Новый экран", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "left", - "color": "default" - }, - "subtitle": { - "text": "Добавьте детали справа", - "show": true, - "font": "manrope", - "weight": "medium", - "size": "lg", - "align": "left", - "color": "default" - }, - "bottomActionButton": { - "show": false, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": false - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "example", - "isEndScreen": false - }, - "list": { - "selectionType": "single", - "options": [ - { - "id": "male", - "label": "male", - "disabled": false - }, - { - "id": "female", - "label": "female", - "disabled": false - } - ], - "registrationFieldKey": "profile.gender" - }, - "variants": [] - }, - { - "id": "example", - "template": "list", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Новый экран", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "left", - "color": "default" - }, - "subtitle": { - "text": "Добавьте детали справа", - "show": true, - "font": "manrope", - "weight": "medium", - "size": "lg", - "align": "left", - "color": "default" - }, - "bottomActionButton": { - "show": true, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": false - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "birthdate", - "isEndScreen": false - }, - "list": { - "selectionType": "single", - "options": [ - { - "id": "option-1", - "label": "Вариант 1", - "disabled": false - }, - { - "id": "option-2", - "label": "Вариант 2", - "disabled": false - } - ] - }, - "variants": [] - }, - { - "id": "birthdate", - "template": "date", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Новый экран", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "left", - "color": "default" - }, - "subtitle": { - "text": "Добавьте детали справа", - "show": true, - "font": "manrope", - "weight": "medium", - "size": "lg", - "align": "left", - "color": "default" - }, - "bottomActionButton": { - "show": true, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": false - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "email", - "isEndScreen": false - }, - "dateInput": { - "monthLabel": "Месяц", - "dayLabel": "День", - "yearLabel": "Год", - "monthPlaceholder": "ММ", - "dayPlaceholder": "ДД", - "yearPlaceholder": "ГГГГ", - "showSelectedDate": true, - "selectedDateFormat": "dd MMMM yyyy", - "selectedDateLabel": "Выбранная дата:", - "zodiac": { - "enabled": true, - "storageKey": "userZodiac" - }, - "registrationFieldKey": "profile.birthdate" - }, - "variants": [] - }, - { - "id": "email", - "template": "email", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Портрет твоей второй половинки готов! Куда нам его отправить?", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "center", - "color": "default" - }, - "bottomActionButton": { - "show": true, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": true - }, - "navigation": { - "rules": [], - "defaultNextScreenId": "final", - "isEndScreen": false - }, - "emailInput": { - "label": "Email адрес", - "placeholder": "example@email.com" - }, - "image": { - "src": "/female-portrait.jpg" - }, - "variants": [ - { - "conditions": [ - { - "screenId": "gender", - "operator": "includesAny", - "optionIds": [ - "male" - ] - } - ], - "overrides": { - "image": { - "src": "/male-portrait.jpg" - } - } - } - ] - }, - { - "id": "final", - "template": "info", - "header": { - "showBackButton": true, - "show": true - }, - "title": { - "text": "Спасибо за регистрацию", - "show": true, - "font": "manrope", - "weight": "bold", - "size": "2xl", - "align": "center", - "color": "default" - }, - "subtitle": { - "text": "Добавьте подзаголовок для информационного экрана", - "show": true, - "font": "manrope", - "weight": "medium", - "size": "lg", - "align": "center", - "color": "default" - }, - "bottomActionButton": { - "show": false, - "cornerRadius": "3xl", - "showPrivacyTermsConsent": false - }, - "navigation": { - "rules": [], - "isEndScreen": true - }, - "icon": { - "type": "emoji", - "value": "ℹ️", - "size": "xl" - }, - "variables": [], - "variants": [] - } - ] - }, - "soulmate": { "meta": { "id": "soulmate", @@ -317,7 +16,7 @@ export const BAKED_FUNNELS: Record = { }, "defaultTexts": { "nextButton": "Next", - "privacyBanner": "Мы не передаем личную информацию, она остаётся в безопасности и под вашим контролем." + "privacyBanner": "We don’t share personal information — it stays safe and under your control." }, "screens": [ { @@ -348,7 +47,7 @@ export const BAKED_FUNNELS: Record = { "isEndScreen": false }, "description": { - "text": "Готов увидеть, кто твоя настоящая Родственная душа?", + "text": "Ready to see who your true soulmate is?", "font": "manrope", "weight": "regular", "size": "md", @@ -387,16 +86,16 @@ export const BAKED_FUNNELS: Record = { "textList": { "items": [ { - "text": "Всего 2 минуты — и Портрет откроет того, кто связан с тобой судьбой." + "text": "Just 2 minutes — and the Portrait will reveal the one who’s destined to be with you." }, { - "text": "Поразительная точность 99%." + "text": "Astonishing 99% accuracy." }, { - "text": "Тебя ждёт неожиданное открытие." + "text": "An unexpected revelation awaits you." }, { - "text": "Осталось лишь осмелиться взглянуть." + "text": "All that’s left is to dare to look." } ] } @@ -409,7 +108,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Какого ты пола?", + "text": "What’s your gender?", "show": true, "font": "manrope", "weight": "bold", @@ -418,7 +117,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "Все начинается с тебя! Выбери свой пол.", + "text": "It all starts with you! Choose your gender.", "show": true, "font": "manrope", "weight": "medium", @@ -464,7 +163,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Кто вас интересует?", + "text": "Who are you interested in?", "show": true, "font": "manrope", "weight": "bold", @@ -508,7 +207,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Вы сейчаc?", + "text": "You are currently?", "show": true, "font": "manrope", "weight": "bold", @@ -517,7 +216,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "Это нужно, чтобы портрет и советы были точнее.", + "text": "This helps make the portrait and insights more accurate.", "show": true, "font": "manrope", "weight": "medium", @@ -540,22 +239,22 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "in_relationship", - "label": "В отношениях", + "label": "In a relationship", "disabled": false }, { "id": "single", - "label": "Свободны", + "label": "Single", "disabled": false }, { "id": "after_breakup", - "label": " После расставания", + "label": "Just went through a breakup", "disabled": false }, { "id": "its_complicated", - "label": "Всё сложно", + "label": "It’s complicated", "disabled": false } ] @@ -570,7 +269,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Кого анализируем?", + "text": "Who are we analyzing?", "show": true, "font": "manrope", "weight": "bold", @@ -593,22 +292,22 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "current_partner", - "label": "Текущего партнёра", + "label": "Current partner", "disabled": false }, { "id": "crush", - "label": "Человека, который нравится", + "label": "Crush", "disabled": false }, { "id": "ex_partner", - "label": "Бывшего", + "label": "Ex", "disabled": false }, { "id": "future_date", - "label": "Будущую встречу", + "label": "Future connection", "disabled": false } ] @@ -623,7 +322,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Возраст текущего партнера", + "text": "Current partner’s age", "show": true, "font": "manrope", "weight": "bold", @@ -661,7 +360,7 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "under_29", - "label": "До 29", + "label": "Under 29", "disabled": false }, { @@ -711,7 +410,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Возраст человека, который нравится" + "text": "Age of the person you like" } } }, @@ -727,7 +426,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Возраст бывшего" + "text": "Ex’s age" } } }, @@ -743,7 +442,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Возраст будущего партнёра" + "text": "Future partner’s age" } } } @@ -757,7 +456,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Уточните чуть точнее", + "text": "Please specify a bit more", "show": true, "font": "manrope", "weight": "bold", @@ -766,7 +465,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "Чтобы портрет был максимально похож.", + "text": "So the portrait can be as accurate as possible.", "show": true, "font": "manrope", "weight": "medium", @@ -814,7 +513,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Этническая принадлежность твоей второй половинки?", + "text": "Your partner’s ethnicity?", "show": true, "font": "manrope", "weight": "bold", @@ -887,7 +586,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Цвет глаз твоей второй половинки?", + "text": "Your partner’s eye color?", "show": true, "font": "manrope", "weight": "bold", @@ -915,7 +614,7 @@ export const BAKED_FUNNELS: Record = { }, { "id": "blue", - "label": "Голубые", + "label": "Blue", "disabled": false }, { @@ -930,17 +629,17 @@ export const BAKED_FUNNELS: Record = { }, { "id": "amber", - "label": "Янтарные", + "label": "Amber", "disabled": false }, { "id": "gray", - "label": "Серые", + "label": "Gray", "disabled": false }, { "id": "unknown", - "label": "Не знаю", + "label": "I don’t know", "disabled": false } ] @@ -955,7 +654,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Выберите длину волос", + "text": "Choose the hair length", "show": true, "font": "manrope", "weight": "bold", @@ -964,7 +663,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "От неё зависит форма и настроение портрета.", + "text": "It affects the portrait’s shape and mood.", "show": true, "font": "manrope", "weight": "medium", @@ -987,17 +686,17 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "short", - "label": "Короткие", + "label": "Short", "disabled": false }, { "id": "medium", - "label": "Средние", + "label": "Medium", "disabled": false }, { "id": "long", - "label": "Длинные", + "label": "Long", "disabled": false } ] @@ -1012,7 +711,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Когда ты выгораешь, тебе нужно чтобы партнёр", + "text": "When you’re burned out, you need your partner to", "show": true, "font": "manrope", "weight": "bold", @@ -1035,27 +734,27 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "acknowledged_and_calmed", - "label": "Признал ваше разочарование и успокоил", + "label": "Acknowledge your frustration and comfort you", "disabled": false }, { "id": "gave_emotional_support", - "label": "Дал эмоциональную опору и безопасное пространство", + "label": "Give emotional support and a safe space", "disabled": false }, { "id": "took_over_tasks", - "label": "Перехватил быт/дела, чтобы вы восстановились", + "label": "Take over daily tasks so you can recover", "disabled": false }, { "id": "inspired_with_plan", - "label": "Вдохнул энергию через цель и короткий план действий", + "label": "Inspire you with a goal and a short action plan", "disabled": false }, { "id": "shifted_to_positive", - "label": "Переключил на позитив: прогулка, кино, смешные истории", + "label": "Shift your focus to something positive — a walk, a movie, funny stories", "disabled": false } ] @@ -1079,7 +778,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "Такой партнёр **умеет слышать и поддерживать**, а вы — **человек с глубокой душой**, который ценит искренность и силу настоящих чувств.", + "text": "This kind of partner **knows how to listen and support**, and you’re a **deep soul** who values honesty and the power of genuine emotions.", "show": true, "font": "manrope", "weight": "medium", @@ -1128,7 +827,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "subtitle": { - "text": "Такой человек создаёт **чувство надёжности**, а вы обладаете мудростью и внутренней зрелостью, выбирая близость и доверие." + "text": "This kind of person creates a **sense of security**, and you have the wisdom and emotional maturity to choose closeness and trust." } } }, @@ -1144,7 +843,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "subtitle": { - "text": "Такой партнёр готов **подставить плечо** в нужный момент, а вы сильны тем, что умеете **доверять** и **принимать поддержку** — это ваша природная мудрость." + "text": "This kind of partner is ready to **lend a shoulder** when it’s needed, and your strength lies in your ability to **trust** and **accept support** — that’s your natural wisdom." } } }, @@ -1160,7 +859,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "subtitle": { - "text": "Такой человек **заряжает ясностью** и **мотивирует**, а вы выделяетесь **силой воли** и **стремлением к росту** — вы не боитесь идти вперёд." + "text": "This kind of person **brings clarity** and **motivates**, while you stand out for your **willpower** and **drive for growth** — you’re not afraid to move forward." } } }, @@ -1176,7 +875,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "subtitle": { - "text": "Такой партнёр умеет **возвращать радость**, а вы показываете свою силу в умении **сохранять лёгкость** и **светлый взгляд** на жизнь." + "text": "This kind of partner knows how to **bring back joy**, and you show your strength through your ability to **stay lighthearted** and **keep a bright outlook** on life." } } } @@ -1190,7 +889,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Когда ты родился?", + "text": "When were you born?", "show": true, "font": "manrope", "weight": "bold", @@ -1199,7 +898,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "В момент вашего рождения заложенны глубинные закономерности.", + "text": "The moment you were born holds deep underlying patterns.", "show": true, "font": "manrope", "weight": "medium", @@ -1218,20 +917,21 @@ export const BAKED_FUNNELS: Record = { "isEndScreen": false }, "dateInput": { - "monthLabel": "Месяц", - "dayLabel": "День", - "yearLabel": "Год", - "monthPlaceholder": "ММ", - "dayPlaceholder": "ДД", - "yearPlaceholder": "ГГГГ", + "monthLabel": "Month", + "dayLabel": "Month", + "yearLabel": "Month", + "monthPlaceholder": "MM", + "dayPlaceholder": "DD", + "yearPlaceholder": "YYYY", "showSelectedDate": true, "selectedDateFormat": "dd MMMM yyyy", - "selectedDateLabel": "Выбранная дата:", + "selectedDateLabel": "Selected date:", "zodiac": { "enabled": true, "storageKey": "userZodiac" }, - "registrationFieldKey": "profile.birthdate" + "registrationFieldKey": "profile.birthdate", + "validationMessage": "Please enter a valid date" }, "variants": [] }, @@ -1243,7 +943,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Какой природный образ ближе вашему характеру?", + "text": "Which natural symbol best matches your personality?", "show": true, "font": "manrope", "weight": "bold", @@ -1266,25 +966,25 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "flower", - "label": "Цветок — нежность, забота, притягательность", + "label": "Flower — tenderness, care, charm", "emoji": "🌹", "disabled": false }, { "id": "sea", - "label": "Море — глубина, тайна, эмоции", + "label": "Sea — depth, mystery, emotion", "emoji": "🌊", "disabled": false }, { "id": "sun", - "label": "Солнце — энергия, сила, яркость", + "label": "Sun — energy, strength, brightness", "emoji": "🌞️", "disabled": false }, { "id": "moon", - "label": "Луна — интуиция, чувствительность", + "label": "Moon — intuition, sensitivity", "emoji": "🌙", "disabled": false } @@ -1300,7 +1000,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Когда речь о любви, что для вас важнее: сердце или разум?", + "text": "When it comes to love, what matters more to you: heart or mind?", "show": true, "font": "manrope", "weight": "bold", @@ -1323,25 +1023,25 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "follow_heart", - "label": "Доверяю сердцу", + "label": "I follow my heart", "emoji": "🧡", "disabled": false }, { "id": "follow_mind", - "label": "Опираюсь на разум", + "label": "I rely on my mind", "emoji": "🧠", "disabled": false }, { "id": "balance_heart_mind", - "label": "Сочетание сердца и разума", + "label": "A balance of heart and mind", "emoji": "🎯", "disabled": false }, { "id": "depends_on_situation", - "label": "Зависит от ситуации", + "label": "Depends on the situation", "emoji": "⚖️", "disabled": false } @@ -1357,7 +1057,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Заголовок информации", + "text": "Title", "show": false, "font": "manrope", "weight": "bold", @@ -1366,7 +1066,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "По нашей статистике **51 % {{gender}} {{zodiac}}** доверяются эмоциям. Но одной чувствительности мало. Мы покажем, какие качества второй половинки дадут тепло и уверенность, и изобразим её портрет.", + "text": "According to our statistics, **51% of {{gender}} {{zodiac}}** trust their emotions. But sensitivity alone isn’t enough. We’ll show which qualities in your partner will bring warmth and confidence — and create their portrait.", "show": true, "font": "manrope", "weight": "medium", @@ -1404,10 +1104,10 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "мужчин" + "value": "men" } ], - "fallback": "женщин" + "fallback": "women" }, { "name": "zodiac", @@ -1423,7 +1123,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Овнов" + "value": "Aries" }, { "conditions": [ @@ -1436,7 +1136,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Тельцов" + "value": "Taurus" }, { "conditions": [ @@ -1449,7 +1149,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Близнецов" + "value": "Gemini" }, { "conditions": [ @@ -1462,7 +1162,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Раков" + "value": "Cancer" }, { "conditions": [ @@ -1475,7 +1175,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Львов" + "value": "Leo" }, { "conditions": [ @@ -1488,7 +1188,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Дев" + "value": "Virgo" }, { "conditions": [ @@ -1501,7 +1201,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Весов" + "value": "Libra" }, { "conditions": [ @@ -1514,7 +1214,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Скорпионов" + "value": "Scorpio" }, { "conditions": [ @@ -1527,7 +1227,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Стрельцов" + "value": "Sagittarius" }, { "conditions": [ @@ -1540,7 +1240,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Козерогов" + "value": "Capricorn" }, { "conditions": [ @@ -1553,7 +1253,7 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Водолеев" + "value": "Aquarius" }, { "conditions": [ @@ -1566,10 +1266,10 @@ export const BAKED_FUNNELS: Record = { ] } ], - "value": "Рыб" + "value": "Pisces" } ], - "fallback": "Овнов" + "fallback": "Pisces" } ], "variants": [ @@ -1585,7 +1285,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "subtitle": { - "text": "По нашей статистике **43 % {{gender}} {{zodiac}}** выбирают разум. Но одних расчётов недостаточно. Мы откроем, какие черты второй половинки принесут доверие, и нарисуем её образ." + "text": "According to our statistics, **43% of {{gender}} {{zodiac}}** choose reason. But calculations alone aren’t enough. We’ll reveal which traits in your partner will build trust — and create their portrait." }, "icon": { "value": "/images/575ab717-eaa5-462b-8aa6-0202a62c9099.svg" @@ -1604,7 +1304,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "subtitle": { - "text": "По нашей статистике **47 % {{gender}} {{zodiac}}** ищут баланс. Но удержать его непросто. Мы покажем, какие качества второй половинки соединят страсть и надёжность, и создадим её портрет." + "text": "According to our statistics, **47% of {{gender}} {{zodiac}}** seek balance. But keeping it isn’t easy. We’ll show which qualities in your partner will unite passion and stability — and create their portrait." }, "icon": { "value": "/images/7dd85bf0-4b92-4213-9e2a-82ba1e53d165.svg" @@ -1623,7 +1323,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "subtitle": { - "text": "По нашей статистике **37% {{gender}} {{zodiac}}** выбирают по обстоятельствам. Но такая гибкость часто ведёт к сомнениям. Мы откроем, кто способен подарить стабильность и уверенность, и нарисуем портрет второй половинки." + "text": "According to our statistics, **37% of {{gender}} {{zodiac}}** make their choice based on circumstances. But such flexibility often leads to doubt. We’ll reveal who can bring you stability and confidence — and draw your partner’s portrait." }, "icon": { "value": "/images/6bd25c4d-9308-4907-a54f-b7bc10322fa8.svg" @@ -1640,7 +1340,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Что больше всего мешает вам в отношениях?", + "text": "What gets in the way of your relationships the most?", "show": true, "font": "manrope", "weight": "bold", @@ -1663,37 +1363,37 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "fear_of_wrong_choice", - "label": "Страх снова ошибиться в выборе", + "label": "Fear of making the wrong choice again", "emoji": "💔", "disabled": false }, { "id": "wasted_years", - "label": "Трата лет на “не того” человека", + "label": "Wasting years on the “wrong” person", "emoji": "🕰️", "disabled": false }, { "id": "lack_of_depth", - "label": "Есть страсть, но не хватает глубины", + "label": "There’s passion, but not enough depth", "emoji": "🔥", "disabled": false }, { "id": "unclear_desires", - "label": "Не понимаю, чего на самом деле хочу", + "label": "Not sure what I really want", "emoji": "🗝", "disabled": false }, { "id": "stuck_in_past", - "label": "Не могу отпустить прошлые отношения", + "label": "Can’t let go of a past relationship", "emoji": "👻", "disabled": false }, { "id": "fear_of_loneliness", - "label": "Боюсь остаться в одиночестве", + "label": "Afraid of being alone", "emoji": "🕯", "disabled": false } @@ -1716,38 +1416,38 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "fear_of_wrong_choice", - "label": "Страх снова ошибиться в выборе", + "label": "Fear of making the wrong choice again", "emoji": "💔" }, { "id": "wasted_years", - "label": "Ощущение, что годы уходят впустую", + "label": "Feeling like the years are slipping away", "emoji": "🕰️" }, { "id": "wrong_people", - "label": "Встречаю интересных, но не тех самых", + "label": "Meeting interesting people, but not the right one", "emoji": "😕" }, { "id": "unclear_needs", - "label": "Не понимаю, кто мне действительно нужен", + "label": "Not sure who I really need", "emoji": "🧩" }, { "id": "stuck_in_past", - "label": "Прошлое не даёт двигаться дальше", + "label": "The past keeps me from moving on", "emoji": "👻" }, { "id": "fear_of_loneliness", - "label": "Боюсь остаться в одиночестве", + "label": "Afraid of being alone", "emoji": "🕯" } ] }, "title": { - "text": "Что больше всего мешает вам в поиске любви?" + "text": "What gets in the way of finding love the most?" } } } @@ -1761,7 +1461,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Вы не одиноки в этом страхе", + "text": "You’re not alone in this fear.", "show": true, "font": "manrope", "weight": "bold", @@ -1770,7 +1470,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "Многие боятся повторить прошлый опыт. Мы поможем распознать верные сигналы и выбрать «своего» человека.", + "text": "Many people are afraid of repeating the past. We’ll help you recognize the right signs and choose the person who’s truly meant for you.", "show": true, "font": "manrope", "weight": "medium", @@ -1807,10 +1507,10 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Эта боль знакома многим" + "text": "This pain is familiar to many." }, "subtitle": { - "text": "Ощущение потраченного времени тяжело. Мы подскажем, как перестать застревать в прошлом и двигаться вперёд." + "text": "The feeling of wasted time is hard. We’ll show you how to stop getting stuck in the past and move forward." }, "icon": { "value": "/images/5ae02c30-44a0-4a8c-a814-9fd2490cdc77.svg" @@ -1829,10 +1529,10 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Многие сталкиваются с этим" + "text": "Many people face this." }, "subtitle": { - "text": "Яркие эмоции быстро гаснут, если нет основы. Мы поможем превратить связь в настоящую близость." + "text": "Bright emotions fade quickly without a foundation. We’ll help you turn a connection into true closeness." } } }, @@ -1848,10 +1548,10 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "С этим часто трудно разобраться" + "text": "This is often hard to figure out." }, "subtitle": { - "text": "Понять себя — ключ к правильному выбору. Мы поможем прояснить, какие качества действительно важны для вас." + "text": "Understanding yourself is the key to making the right choice. We’ll help you see which qualities truly matter to you." } } }, @@ -1867,10 +1567,10 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Вы не единственные, кто застрял в прошлом" + "text": "You’re not the only one stuck in the past." }, "subtitle": { - "text": "Прошлое может держать слишком крепко. Мы покажем, как освободиться и дать место новой любви." + "text": "The past can hold on too tightly. We’ll show you how to let go and make room for new love." } } }, @@ -1886,10 +1586,10 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Этот страх очень знаком многим" + "text": "This fear is very familiar to many." }, "subtitle": { - "text": "Мысль о будущем в одиночестве пугает. Мы поможем построить путь, где рядом будет близкий человек." + "text": "The thought of a lonely future is frightening. We’ll help you build a path where someone special walks beside you." } } }, @@ -1905,7 +1605,7 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Многие через это проходят" + "text": "Many people go through this." } } }, @@ -1921,10 +1621,10 @@ export const BAKED_FUNNELS: Record = { ], "overrides": { "title": { - "text": "Это нормально - не знать сразу" + "text": "It’s okay not to know right away." }, "subtitle": { - "text": "Разобраться в том, какой партнёр нужен именно вам, непросто. Мы поможем увидеть, какие качества действительно важны." + "text": "Figuring out what kind of partner you truly need isn’t easy. We’ll help you see which qualities really matter." } } } @@ -1938,7 +1638,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "В чём ваша базовая потребность сейчас?", + "text": "What’s your core need right now?", "show": true, "font": "manrope", "weight": "bold", @@ -1961,27 +1661,27 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "safety_and_support", - "label": "Безопасность и опора", + "label": "Safety and support", "disabled": false }, { "id": "passion_and_spark", - "label": "Страсть и искра", + "label": "Passion and spark", "disabled": false }, { "id": "calm_and_acceptance", - "label": "Спокойствие и принятие", + "label": "Calm and acceptance", "disabled": false }, { "id": "inspiration_and_growth", - "label": "Вдохновение и рост", + "label": "Inspiration and growth", "disabled": false }, { "id": "not_important", - "label": "Неважно", + "label": "Doesn’t matter", "disabled": false } ] @@ -1996,7 +1696,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Твоя вторая половинка похожа на тебя?", + "text": "Is your partner similar to you?", "show": true, "font": "manrope", "weight": "bold", @@ -2019,12 +1719,12 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "similar", - "label": "Да, есть сходство", + "label": "Yes, we have things in common", "disabled": false }, { "id": "different", - "label": "Мы совершенно разные", + "label": "We’re completely different", "disabled": false } ] @@ -2039,7 +1739,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Предпочитаемая роль партнёра", + "text": "Preferred partner role", "show": true, "font": "manrope", "weight": "bold", @@ -2062,32 +1762,32 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "leader", - "label": "Ведущий", + "label": "Leader", "disabled": false }, { "id": "equal", - "label": "Равный", + "label": "Equal", "disabled": false }, { "id": "supportive", - "label": "Поддерживающий", + "label": "Supportive", "disabled": false }, { "id": "flexible", - "label": "Гибкая роль", + "label": "Flexible", "disabled": false }, { "id": "dependent", - "label": "Зависимый от меня", + "label": "Dependent on me", "disabled": false }, { "id": "situational", - "label": "По ситуации", + "label": "Depends on the situation", "disabled": false } ] @@ -2102,7 +1802,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Что для тебя главный источник силы в отношениях?", + "text": "What’s your main source of strength in a relationship?", "show": true, "font": "manrope", "weight": "bold", @@ -2125,27 +1825,27 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "support_and_care", - "label": "Поддержка и забота", + "label": "Support and care", "disabled": false }, { "id": "admiration_and_recognition", - "label": "Восхищение и признание", + "label": "Admiration and appreciation", "disabled": false }, { "id": "freedom_and_space", - "label": "Свобода и пространство", + "label": "Freedom and space", "disabled": false }, { "id": "shared_goals_and_plans", - "label": "Общие цели и планы", + "label": "Shared goals and plans", "disabled": false }, { "id": "joy_and_lightness", - "label": "Радость и лёгкость", + "label": "Joy and lightness", "disabled": false } ] @@ -2160,7 +1860,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Как ты проявляешь любовь?", + "text": "How do you express love?", "show": true, "font": "manrope", "weight": "bold", @@ -2183,32 +1883,32 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "words", - "label": "Словами", + "label": "With words", "disabled": false }, { "id": "actions", - "label": "Поступками", + "label": "Through actions", "disabled": false }, { "id": "quality_time", - "label": "Совместным временем", + "label": "By spending time together", "disabled": false }, { "id": "care", - "label": "Заботой", + "label": "With care", "disabled": false }, { "id": "passion", - "label": "Страстью", + "label": "With passion", "disabled": false }, { "id": "in_my_own_way", - "label": "По-своему", + "label": "In my own way", "disabled": false } ] @@ -2223,7 +1923,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Как ты воспринимаешь будущее твоей пары?", + "text": "How do you see your relationship’s future?", "show": true, "font": "manrope", "weight": "bold", @@ -2246,27 +1946,27 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "home_and_family", - "label": "Совместный дом и семья", + "label": "A shared home and family", "disabled": false }, { "id": "travel_and_discovery", - "label": "Путешествия и открытия", + "label": "Travel and new discoveries", "disabled": false }, { "id": "shared_goals", - "label": "Совместные проекты и цели", + "label": "Joint projects and goals", "disabled": false }, { "id": "present_moment", - "label": "Просто быть рядом «здесь и сейчас»", + "label": "Just being together “here and now”", "disabled": false }, { "id": "unsure", - "label": "Пока сложно сказать", + "label": "Hard to say for now", "disabled": false } ] @@ -2281,7 +1981,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Какую энергию ты хочешь в отношениях?", + "text": "What kind of energy do you want in a relationship?", "show": true, "font": "manrope", "weight": "bold", @@ -2304,27 +2004,27 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "lightness_and_joy", - "label": "Лёгкость и радость", + "label": "Lightness and joy", "disabled": false }, { "id": "strength_and_drive", - "label": "Сила и драйв", + "label": "Strength and drive", "disabled": false }, { "id": "comfort_and_safety", - "label": "Уют и надёжность", + "label": "Comfort and stability", "disabled": false }, { "id": "depth_and_meaning", - "label": "Глубина и смысл", + "label": "Depth and meaning", "disabled": false }, { "id": "freedom_and_space", - "label": "Свобода и простор", + "label": "Freedom and space", "disabled": false } ] @@ -2339,7 +2039,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Какой образ отношений вам ближе?", + "text": "Which image of a relationship feels closest to you?", "show": true, "font": "manrope", "weight": "bold", @@ -2348,7 +2048,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "Можно выбрать несколько вариантов.", + "text": "You can choose several options.", "show": true, "font": "manrope", "weight": "medium", @@ -2371,42 +2071,42 @@ export const BAKED_FUNNELS: Record = { "options": [ { "id": "bridge", - "label": "Мост — связь сквозь препятствия", + "label": "Bridge — connection through obstacles", "disabled": false }, { "id": "mountain_path", - "label": "Путь в горах — испытания и смысл", + "label": "Mountain path — challenges and meaning", "disabled": false }, { "id": "dance", - "label": "Танец — баланс и взаимные шаги", + "label": "Dance — balance and mutual steps", "disabled": false }, { "id": "key_and_lock", - "label": "Ключ и замок — совпадение ценностей", + "label": "Key and lock — shared values", "disabled": false }, { "id": "harbor", - "label": "Гавань — безопасность и покой", + "label": "Harbor — safety and peace", "disabled": false }, { "id": "lighthouse", - "label": "Маяк — ориентир и поддержка", + "label": "Lighthouse — guidance and support", "disabled": false }, { "id": "ocean_after_storm", - "label": "Океан после шторма — очищение и новое", + "label": "Ocean after the storm — renewal and new beginnings", "disabled": false }, { "id": "garden", - "label": "Сад — забота и рост", + "label": "Garden — care and growth", "disabled": false } ] @@ -2421,7 +2121,7 @@ export const BAKED_FUNNELS: Record = { "show": false }, "title": { - "text": "Создаем портрет твоей второй половинки.", + "text": "Creating the portrait of your other half.", "show": true, "font": "manrope", "weight": "bold", @@ -2443,9 +2143,9 @@ export const BAKED_FUNNELS: Record = { "progressbars": { "items": [ { - "processingTitle": "Анализ твоих ответов", + "processingTitle": "Analyzing your answers", "processingSubtitle": "Processing...", - "completedTitle": "Анализ твоих ответов", + "completedTitle": "Analyzing your answers", "completedSubtitle": "Complete" }, { @@ -2473,7 +2173,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Портрет твоей второй половинки готов! Куда нам его отправить?", + "text": "Your soulmate’s portrait is ready! Where should we send it?", "show": true, "font": "manrope", "weight": "bold", @@ -2526,7 +2226,7 @@ export const BAKED_FUNNELS: Record = { "show": true }, "title": { - "text": "Тебе повезло!", + "text": "You’re in luck!", "show": true, "font": "manrope", "weight": "bold", @@ -2535,7 +2235,7 @@ export const BAKED_FUNNELS: Record = { "color": "default" }, "subtitle": { - "text": "Ты получил специальную эксклюзивную скидку на 94%", + "text": "You’ve received an exclusive 94% discount.", "show": true, "font": "manrope", "weight": "medium", @@ -2572,7 +2272,7 @@ export const BAKED_FUNNELS: Record = { "color": "primary" }, "description": { - "text": "Одноразовая эксклюзивная скидка", + "text": "One-time special offer", "font": "inter", "weight": "medium", "color": "muted", @@ -2589,7 +2289,7 @@ export const BAKED_FUNNELS: Record = { "color": "accent" }, "footer": { - "text": "Скопируйте или нажмите **Continue**", + "text": "Copy or click **Continue**", "font": "inter", "weight": "medium", "color": "muted", @@ -2597,7 +2297,7 @@ export const BAKED_FUNNELS: Record = { "size": "sm" } }, - "copiedMessage": "Промокод скопирован!", + "copiedMessage": "Promo code copied!", "variants": [] }, { @@ -2608,7 +2308,7 @@ export const BAKED_FUNNELS: Record = { "show": false }, "title": { - "text": "Новый экран", + "text": "Title", "show": false, "font": "manrope", "weight": "bold", @@ -2676,14 +2376,14 @@ export const BAKED_FUNNELS: Record = { }, "blur": { "text": { - "text": "Чтобы открыть весь отчёт, нужен полный доступ." + "text": "Full access is required to unlock the complete report." }, "icon": "lock" } }, "tryForDays": { "title": { - "text": "Попробуйте в течение 7 дней!" + "text": "Try it for 7 days!" }, "textList": { "items": [ @@ -2857,19 +2557,19 @@ export const BAKED_FUNNELS: Record = { }, { "title": { - "text": "Астрологические Идеи" + "text": "Astrological Insights" }, "description": { - "text": "Уникальные астрологические рекомендации." + "text": "Unique astrology-based recommendations." }, "icon": "astro" }, { "title": { - "text": "Персонализированный чат с экспертом" + "text": "Personalized chat with an expert" }, "description": { - "text": "Персональные советы." + "text": "Individual guidance." }, "icon": "chat" } @@ -2886,7 +2586,7 @@ export const BAKED_FUNNELS: Record = { "text": "Jennifer Wilson 🇺🇸" }, "text": { - "text": "**“Я увидела свои ошибки… и нашла мужа”**\nПортрет сразу зацепил — было чувство, что я уже где-то его видела. Но настоящий перелом произошёл после гайда: я поняла, почему снова и снова выбирала «не тех». И самое удивительное — вскоре я познакомилась с мужчиной, который оказался точной копией того самого портрета. Сейчас он мой муж, и когда мы сравнили рисунок с его фото, сходство было просто вау." + "text": "**“I saw my mistakes… and found my husband.”**\nThe portrait instantly struck me — I had this feeling like I’d seen him somewhere before. But the real turning point came after the guide: I finally understood why I kept choosing the “wrong” people. And the most amazing part — soon after, I met a man who turned out to be the exact image from that portrait. He’s my husband now, and when we compared the drawing to his photo, the resemblance was just wow." }, "avatar": { "src": "/trial-payment/reviews/avatars/1.jpg" @@ -2907,7 +2607,7 @@ export const BAKED_FUNNELS: Record = { "text": "Amanda Davis 🇨🇦" }, "text": { - "text": "**“Я поняла своего партнёра лучше за один вечер, чем за несколько лет”**\nПрошла тест ради интереса — портрет нас удивил. Но настоящий прорыв случился, когда я прочитала гайд о второй половинке. Там были точные подсказки о том, как мы можем поддерживать друг друга. Цена смешная, а ценность огромная: теперь у нас меньше недопониманий и больше тепла." + "text": "**“I understood my partner better in one evening than in several years.”**\nI took the test just for fun — the portrait surprised us. But the real breakthrough came when I read the guide about my other half. It had spot-on insights about how we can support each other. The price was nothing, but the value was huge — now we have fewer misunderstandings and so much more warmth." }, "avatar": { "src": "/trial-payment/reviews/avatars/2.jpg" @@ -2928,7 +2628,7 @@ export const BAKED_FUNNELS: Record = { "text": "Michael Johnson 🇬🇧" }, "text": { - "text": "**“Увидел её лицо — и мурашки по коже”**\nКогда пришёл результат теста и показали портрет, я реально замер. Это была та самая девушка, с которой я начал встречаться пару недель назад. И гайд прямо описал, почему мы тянемся друг к другу. Честно, я не ожидал такого совпадения." + "text": "**“I saw her face — and got goosebumps.”**\nWhen I got my test results and saw the portrait, I literally froze. It was the exact girl I’d started dating a couple of weeks earlier. And the guide described perfectly why we’re drawn to each other. Honestly, I didn’t expect such a match." }, "avatar": { "src": "/trial-payment/reviews/avatars/3.jpg"