diff --git a/messages/de.json b/messages/de.json
index 9e3ddcd..b55f3f2 100644
--- a/messages/de.json
+++ b/messages/de.json
@@ -248,7 +248,6 @@
"payment_error": "Something went wrong. Please try again later.",
"select_product_error": "Please select a product",
"skip_offer": "Skip offer",
-
"products": {
"main_ultra_pack": {
"title": "ULTRA PACK",
@@ -396,6 +395,7 @@
"reserved-for": "Reserved for {time}"
}
}
- }
+ },
+ "Soulmate": {}
}
-}
+}
\ No newline at end of file
diff --git a/messages/en.json b/messages/en.json
index 0617e6c..01d5494 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -255,7 +255,6 @@
"payment_error": "Something went wrong. Please try again later.",
"select_product_error": "Please select a product",
"skip_offer": "Skip offer",
-
"products": {
"main_ultra_pack": {
"title": "ULTRA PACK",
@@ -607,6 +606,212 @@
"cost-for-one-day": "Your cost for one day after the trial is {cost}"
}
}
+ },
+ "Soulmate": {
+ "v1": {
+ "Landing": {
+ "header-timer": {
+ "title": "Reserved for {time}"
+ },
+ "header": {
+ "title": "Special Offer!",
+ "description": "Everything is free, trial period included!"
+ },
+ "hi-block": {
+ "title": "Hello, Sunshine 👋",
+ "description": "Your well-being and happiness are our top priority!",
+ "card": {
+ "title": "That's why we've decided to give you a personalised plan and access to a trial version of our app for FREE!",
+ "image-description": "soulmate portraits delivered today",
+ "count": "900+"
+ }
+ },
+ "what-get": {
+ "title": "What you will receive:",
+ "detailed-portrait": {
+ "header": {
+ "title": "A detailed portrait of your other half is ready"
+ }
+ },
+ "guide": {
+ "header": {
+ "title": "Guide “Finding the One”"
+ },
+ "list": {
+ "1": "Why love doesn't come - and how to open the way to it",
+ "2": "7 signs that you have met your soulmate",
+ "3": "The main secret of couples who stay together",
+ "4": "Mistakes that destroy even the strongest feelings",
+ "5": "5 habits that make relationships happy"
+ }
+ },
+ "individual-advice": {
+ "header": {
+ "title": "Personalized advice from a personal relationship psychologist"
+ },
+ "messages": {
+ "me": {
+ "text": "Why do I still doubt whether he loves me?",
+ "time": "16:38 AM"
+ },
+ "advisor": {
+ "text": "Because you feel that the connection is special. Fate was right—you are reflections of each other.",
+ "time": "16:39 AM"
+ }
+ },
+ "typing": "typing "
+ },
+ "search-compatible-partner": {
+ "header": {
+ "title": "Search for the most compatible partner"
+ },
+ "content": {
+ "partner-name": "Your significant other",
+ "percent": "97%",
+ "compatibility": "Compatibility",
+ "bars": {
+ "1": {
+ "percent": "92",
+ "text": "Love",
+ "colors": {
+ "path": "#FD4B4B",
+ "trail": "#FCE7F3"
+ }
+ },
+ "2": {
+ "percent": "88",
+ "text": "Sex",
+ "colors": {
+ "path": "#8B5CF6",
+ "trail": "#EDE9FE"
+ }
+ },
+ "3": {
+ "percent": "79",
+ "text": "Family",
+ "colors": {
+ "path": "#4F46E5",
+ "trail": "##EEF2FF"
+ }
+ }
+ }
+ }
+ }
+ },
+ "special-offer": {
+ "title": "Special price",
+ "prices": {
+ "old-price": {
+ "description": "Regular price"
+ },
+ "new-price": {
+ "description": "Today"
+ }
+ },
+ "trial-offer": {
+ "title": "DOUBLED!",
+ "description": "Full access to all materials"
+ }
+ },
+ "plan-also-includes": {
+ "title": "Your plan also includes:",
+ "list": {
+ "items": {
+ "1": {
+ "title": "Чат с экспертом",
+ "text": "Задай свой вопрос и получи первый совет уже сегодня."
+ },
+ "2": {
+ "title": "Анализ совместимости",
+ "text": "Пойми, почему вы притягиваетесь друг к другу - и какие различия могут мешать гармонии."
+ },
+ "3": {
+ "title": "Как говорить о чувствах и быть понятым",
+ "text": "Пошаговый гайд, который поможет восстановить близость и искреннее общение."
+ },
+ "4": {
+ "title": "Медитации и аффирмации для сердца",
+ "text": "Практики, которые открывают внутреннюю уверенность и притягивают любовь."
+ }
+ }
+ }
+ },
+ "reviews": {
+ "title": "What our users say:",
+ "items": {
+ "1": {
+ "username": "@anna.smith28",
+ "flag": "🇺🇸",
+ "text": "The drawing was made before we met, and it matched down to the smallest detail: the same gaze, the same mole. We simply couldn't believe it! Now the portrait hangs in our home as a sign of destiny.",
+ "answer": {
+ "title": "Response from the support team",
+ "text": "Anna, it's just the magic of fate! We are very happy that your portrait has become part of your love story. May it remind you how important it is to believe in the signs of the universe 🌹"
+ }
+ },
+ "2": {
+ "username": "@mike.andrews_89",
+ "flag": "🇺🇸",
+ "text": "I decided to check whether my wife was truly my other half. The portrait matched her down to the last detail—the same gaze, the same energy. We both felt as if fate had just confirmed our union.",
+ "answer": {
+ "title": "Response from the support team",
+ "text": "That's amazing! Stories like this prove that true love really does have an impact on an energetic level. May your portrait preserve the warmth of your connection for many years to come!"
+ }
+ },
+ "3": {
+ "username": "@emily.harris_ang...",
+ "flag": "🇬🇧",
+ "text": "The “Finding the One” guide changed my life! The portrait was 100% accurate, and I met my love in a museum, just as predicted! ✨",
+ "answer": {
+ "title": "Response from the support team",
+ "text": "Elena, your story inspires us! Thank you for sharing your success. May your love be strong and long-lasting!"
+ }
+ }
+ }
+ },
+ "statistics": {
+ "title": "899,247",
+ "description": "People have already found love",
+ "more-avatars": "+2K",
+ "period-statistics": {
+ "month": {
+ "title": "54K",
+ "text": "Per month"
+ },
+ "today": {
+ "title": "2K",
+ "text": "Today"
+ }
+ }
+ },
+ "real-time-activity": {
+ "title": "Real-time activity",
+ "text": "@elena_art received a portrait",
+ "time": "2 мин назад"
+ },
+ "money-back-guarantee": {
+ "title": "100% Money Back Guarantee",
+ "term": "30 DAYS",
+ "description": "We are confident that we can help you gain a deeper understanding of your partner and show you what they are really like. After receiving excellent customer reviews, we are ready to give you a 100% refund if this report and portrait are not useful to you.",
+ "footer": "Без вопросов. Без риска."
+ },
+ "guaranteed-security-payments": "Guaranteed security payments",
+ "button-continue": "CONTINUE"
+ },
+ "SpecialOffer": {
+ "title": "Special Offer!",
+ "start-trial": "Start your {days}-day trial",
+ "cancel-anytime": "No pressure. Cancel anytime",
+ "policy": "By continuing you agree that if you don't cancel prior to the end of the {days}-days trial, you will automatically be charged {price} every {billingPeriod} until you cancel in settings. Learn more about cancellation and Refund policy in Subscription terms",
+ "button-continue": "CONTINUE",
+ "pricing-summary-total-today": "Total today:",
+ "pricing-summary-code-applied": "Code applied!",
+ "pricing-summary-cost-after-trial": "Your cost per 2 weeks after trial",
+ "pricing-summary-trial-description": "You will be charged only {trialPrice} for your {trialPeriod} trial. Your plan will then cost {price} per {billingPeriod}. Subscription renews automatically until cancelled. You can cancel at any time before the end of the trial.",
+ "reserved-for": "Reserved for {time}",
+ "save-every-period": "Save {price} every period",
+ "cost-for-one-day": "Your cost for one day after the trial is {cost}"
+ }
+ }
}
},
"SaveOff": {
@@ -640,4 +845,4 @@
"month": "{count, plural, zero {#-months} one {#-month} two {#-months} few {#-months} many {#-months} other {#-months}}",
"year": "{count, plural, zero {#-years} one {#-year} two {#-years} few {#-years} many {#-years} other {#-years}}"
}
-}
+}
\ No newline at end of file
diff --git a/messages/es.json b/messages/es.json
index 1529272..4dccde1 100644
--- a/messages/es.json
+++ b/messages/es.json
@@ -248,7 +248,6 @@
"payment_error": "Something went wrong. Please try again later.",
"select_product_error": "Please select a product",
"skip_offer": "Skip offer",
-
"products": {
"main_ultra_pack": {
"title": "ULTRA PACK",
@@ -396,6 +395,7 @@
"reserved-for": "Reserved for {time}"
}
}
- }
+ },
+ "Soulmate": {}
}
-}
+}
\ No newline at end of file
diff --git a/src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/landing/page.module.scss b/src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/landing/page.module.scss
similarity index 100%
rename from src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/landing/page.module.scss
rename to src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/landing/page.module.scss
diff --git a/src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/landing/page.tsx b/src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/landing/page.tsx
similarity index 92%
rename from src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/landing/page.tsx
rename to src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/landing/page.tsx
index dc05cca..a3d7658 100644
--- a/src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/landing/page.tsx
+++ b/src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/landing/page.tsx
@@ -23,10 +23,10 @@ import { Currency, ELocalesPlacement } from "@/types";
import styles from "./page.module.scss";
const payload = {
- funnel: ELocalesPlacement.EmailMarketingCompatibilityV2,
+ funnel: ELocalesPlacement.EmailMarketingSoulmateV1,
};
-export default async function EmailMarketingCompatibilityV1Landing() {
+export default async function EmailMarketingSoulmateV1Landing() {
const payment = (await loadFunnelPaymentById(
payload,
"main"
diff --git a/src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/special-offer/guarantee.svg b/src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/special-offer/guarantee.svg
similarity index 100%
rename from src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/special-offer/guarantee.svg
rename to src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/special-offer/guarantee.svg
diff --git a/src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/special-offer/page.module.scss b/src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/special-offer/page.module.scss
similarity index 100%
rename from src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/special-offer/page.module.scss
rename to src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/special-offer/page.module.scss
diff --git a/src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/special-offer/page.tsx b/src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/special-offer/page.tsx
similarity index 93%
rename from src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/special-offer/page.tsx
rename to src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/special-offer/page.tsx
index dabdc8d..b48acac 100644
--- a/src/app/[locale]/(email-marketing)/em/(compatibility)/c/v2/special-offer/page.tsx
+++ b/src/app/[locale]/(email-marketing)/em/(soulmate)/s/v1/special-offer/page.tsx
@@ -9,7 +9,7 @@ import {
import { Typography } from "@/components/ui";
import { loadFunnelPaymentById } from "@/entities/session/funnel/loaders";
import { IFunnelPaymentPlacement } from "@/entities/session/funnel/types";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import { getPeriodTextServer } from "@/shared/utils/period-server";
import { getFormattedPrice } from "@/shared/utils/price";
import { Currency, ELocalesPlacement } from "@/types";
@@ -19,12 +19,12 @@ import GuaranteeIcon from "./guarantee.svg";
import styles from "./page.module.scss";
const payload = {
- funnel: ELocalesPlacement.EmailMarketingCompatibilityV2,
+ funnel: ELocalesPlacement.EmailMarketingSoulmateV1,
};
export default async function SpecialOfferPage() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("SpecialOffer")
+ translatePathEmailMarketingSoulmateV1("SpecialOffer")
);
const payment = (await loadFunnelPaymentById(
diff --git a/src/components/domains/email-marketing/compatibility/v2/DetailedPortraitCard/DetailedPortraitCard.tsx b/src/components/domains/email-marketing/compatibility/v2/DetailedPortraitCard/DetailedPortraitCard.tsx
index 4c36f8b..1fc6854 100644
--- a/src/components/domains/email-marketing/compatibility/v2/DetailedPortraitCard/DetailedPortraitCard.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/DetailedPortraitCard/DetailedPortraitCard.tsx
@@ -6,13 +6,13 @@ import { useTranslations } from "next-intl";
import { Typography } from "@/components/ui";
import { useUser } from "@/providers/user-provider";
import { emailMarketingCompV2Images } from "@/shared/constants/images";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./DetailedPortraitCard.module.scss";
export default function DetailedPortraitCard() {
const t = useTranslations(
- translatePathEmailMarketingCompatibilityV2(
+ translatePathEmailMarketingSoulmateV1(
"Landing.what-get.detailed-portrait"
)
);
diff --git a/src/components/domains/email-marketing/compatibility/v2/GuaranteedSecurityPayments/GuaranteedSecurityPayments.tsx b/src/components/domains/email-marketing/compatibility/v2/GuaranteedSecurityPayments/GuaranteedSecurityPayments.tsx
index 4e4c7f5..5c084e2 100644
--- a/src/components/domains/email-marketing/compatibility/v2/GuaranteedSecurityPayments/GuaranteedSecurityPayments.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/GuaranteedSecurityPayments/GuaranteedSecurityPayments.tsx
@@ -3,13 +3,13 @@ import { useTranslations } from "next-intl";
import { Typography } from "@/components/ui";
import { emailMarketingCompV2Images } from "@/shared/constants/images";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./GuaranteedSecurityPayments.module.scss";
export default function GuaranteedSecurityPayments() {
const t = useTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing")
+ translatePathEmailMarketingSoulmateV1("Landing")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/GuideCard/GuideCard.tsx b/src/components/domains/email-marketing/compatibility/v2/GuideCard/GuideCard.tsx
index 6f26420..cc58c49 100644
--- a/src/components/domains/email-marketing/compatibility/v2/GuideCard/GuideCard.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/GuideCard/GuideCard.tsx
@@ -2,13 +2,13 @@ import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
import { BlurComponent } from "@/components/widgets";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./GuideCard.module.scss";
export default async function GuideCard() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.what-get.guide")
+ translatePathEmailMarketingSoulmateV1("Landing.what-get.guide")
);
const list = t.raw("list") as Record
;
diff --git a/src/components/domains/email-marketing/compatibility/v2/Header/Header.tsx b/src/components/domains/email-marketing/compatibility/v2/Header/Header.tsx
index df32c2c..08328cc 100644
--- a/src/components/domains/email-marketing/compatibility/v2/Header/Header.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/Header/Header.tsx
@@ -1,13 +1,13 @@
import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./Header.module.scss";
export default async function Header() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.header")
+ translatePathEmailMarketingSoulmateV1("Landing.header")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/HeaderTimer/HeaderTimer.tsx b/src/components/domains/email-marketing/compatibility/v2/HeaderTimer/HeaderTimer.tsx
index e076d09..c7a64f9 100644
--- a/src/components/domains/email-marketing/compatibility/v2/HeaderTimer/HeaderTimer.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/HeaderTimer/HeaderTimer.tsx
@@ -5,7 +5,7 @@ import clsx from "clsx";
import { Typography } from "@/components/ui";
import { useTimer } from "@/hooks/timer/useTimer";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./HeaderTimer.module.scss";
@@ -13,7 +13,7 @@ type IHeaderTimerProps = React.ComponentProps<"div">;
export default function HeaderTimer({ className }: IHeaderTimerProps) {
const t = useTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.header-timer")
+ translatePathEmailMarketingSoulmateV1("Landing.header-timer")
);
const { time } = useTimer({
initialSeconds: 600,
diff --git a/src/components/domains/email-marketing/compatibility/v2/HiBlock/HiBlock.tsx b/src/components/domains/email-marketing/compatibility/v2/HiBlock/HiBlock.tsx
index 0ecd72e..2c8cde6 100644
--- a/src/components/domains/email-marketing/compatibility/v2/HiBlock/HiBlock.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/HiBlock/HiBlock.tsx
@@ -2,13 +2,13 @@ import { getTranslations } from "next-intl/server";
import { Typography, UserAvatar } from "@/components/ui";
import { emailMarketingCompV2Images } from "@/shared/constants/images";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./HiBlock.module.scss";
export default async function HiBlock() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.hi-block")
+ translatePathEmailMarketingSoulmateV1("Landing.hi-block")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/IndividualAdviceCard/IndividualAdviceCard.tsx b/src/components/domains/email-marketing/compatibility/v2/IndividualAdviceCard/IndividualAdviceCard.tsx
index 8379477..5290c7a 100644
--- a/src/components/domains/email-marketing/compatibility/v2/IndividualAdviceCard/IndividualAdviceCard.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/IndividualAdviceCard/IndividualAdviceCard.tsx
@@ -9,7 +9,7 @@ import {
} from "@/components/domains/chat";
import { Typography, UserAvatar } from "@/components/ui";
import { emailMarketingCompV2Images } from "@/shared/constants/images";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./IndividualAdviceCard.module.scss";
@@ -22,7 +22,7 @@ type TMessagesKey = "me" | "advisor";
export default async function IndividualAdviceCard() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2(
+ translatePathEmailMarketingSoulmateV1(
"Landing.what-get.individual-advice"
)
);
diff --git a/src/components/domains/email-marketing/compatibility/v2/LandingButtonWrapper/LandingButtonWrapper.tsx b/src/components/domains/email-marketing/compatibility/v2/LandingButtonWrapper/LandingButtonWrapper.tsx
index 1a8ef96..33ef6ef 100644
--- a/src/components/domains/email-marketing/compatibility/v2/LandingButtonWrapper/LandingButtonWrapper.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/LandingButtonWrapper/LandingButtonWrapper.tsx
@@ -6,18 +6,18 @@ import { useTranslations } from "next-intl";
import { Button, Typography } from "@/components/ui";
import { BlurComponent } from "@/components/widgets";
import { ROUTES } from "@/shared/constants/client-routes";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./LandingButtonWrapper.module.scss";
export default function LandingButtonWrapper() {
const router = useRouter();
const t = useTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing")
+ translatePathEmailMarketingSoulmateV1("Landing")
);
const handleContinue = () => {
- router.push(ROUTES.emailMarketingCompatibilityV2SpecialOffer());
+ router.push(ROUTES.emailMarketingSoulmateV1SpecialOffer());
};
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/MoneyBackGuarantee/MoneyBackGuarantee.tsx b/src/components/domains/email-marketing/compatibility/v2/MoneyBackGuarantee/MoneyBackGuarantee.tsx
index 73ce23b..0291ee3 100644
--- a/src/components/domains/email-marketing/compatibility/v2/MoneyBackGuarantee/MoneyBackGuarantee.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/MoneyBackGuarantee/MoneyBackGuarantee.tsx
@@ -1,7 +1,7 @@
import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import GuaranteeIcon from "./guarantee.svg";
@@ -9,7 +9,7 @@ import styles from "./MoneyBackGuarantee.module.scss";
export default async function MoneyBackGuarantee() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.money-back-guarantee")
+ translatePathEmailMarketingSoulmateV1("Landing.money-back-guarantee")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/PlanAlsoIncludes/PlanAlsoIncludes.tsx b/src/components/domains/email-marketing/compatibility/v2/PlanAlsoIncludes/PlanAlsoIncludes.tsx
index 0def3d2..75f1ef8 100644
--- a/src/components/domains/email-marketing/compatibility/v2/PlanAlsoIncludes/PlanAlsoIncludes.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/PlanAlsoIncludes/PlanAlsoIncludes.tsx
@@ -1,7 +1,7 @@
import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./PlanAlsoIncludes.module.scss";
@@ -12,7 +12,7 @@ interface IListItem {
export default async function PlanAlsoIncludes() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.plan-also-includes")
+ translatePathEmailMarketingSoulmateV1("Landing.plan-also-includes")
);
const listItems = Object.values(
diff --git a/src/components/domains/email-marketing/compatibility/v2/Prices/Prices.tsx b/src/components/domains/email-marketing/compatibility/v2/Prices/Prices.tsx
index 7a226d0..46b00f8 100644
--- a/src/components/domains/email-marketing/compatibility/v2/Prices/Prices.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/Prices/Prices.tsx
@@ -1,7 +1,7 @@
import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import { getFormattedPrice } from "@/shared/utils/price";
import { Currency } from "@/types";
@@ -23,7 +23,7 @@ export default async function Prices({
currency,
}: IPricesProps) {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.special-offer.prices")
+ translatePathEmailMarketingSoulmateV1("Landing.special-offer.prices")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/PricingSummary/PricingSummary.tsx b/src/components/domains/email-marketing/compatibility/v2/PricingSummary/PricingSummary.tsx
index aab9168..a920511 100644
--- a/src/components/domains/email-marketing/compatibility/v2/PricingSummary/PricingSummary.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/PricingSummary/PricingSummary.tsx
@@ -2,7 +2,7 @@ import { getTranslations } from "next-intl/server";
import clsx from "clsx";
import { Typography } from "@/components/ui";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import { getPeriodTextServer } from "@/shared/utils/period-server";
import { getFormattedPrice } from "@/shared/utils/price";
import { Currency } from "@/types";
@@ -30,7 +30,7 @@ export default async function PricingSummary({
currency,
}: PricingSummaryProps) {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("SpecialOffer")
+ translatePathEmailMarketingSoulmateV1("SpecialOffer")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/RealTimeActivity/RealTimeActivity.tsx b/src/components/domains/email-marketing/compatibility/v2/RealTimeActivity/RealTimeActivity.tsx
index 8329384..5695890 100644
--- a/src/components/domains/email-marketing/compatibility/v2/RealTimeActivity/RealTimeActivity.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/RealTimeActivity/RealTimeActivity.tsx
@@ -2,13 +2,13 @@ import { getTranslations } from "next-intl/server";
import { Typography, UserAvatar } from "@/components/ui";
import { emailMarketingCompV2Images } from "@/shared/constants/images";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./RealTimeActivity.module.scss";
export default async function RealTimeActivity() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.real-time-activity")
+ translatePathEmailMarketingSoulmateV1("Landing.real-time-activity")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/Reviews/Reviews.tsx b/src/components/domains/email-marketing/compatibility/v2/Reviews/Reviews.tsx
index d2423aa..f152fe3 100644
--- a/src/components/domains/email-marketing/compatibility/v2/Reviews/Reviews.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/Reviews/Reviews.tsx
@@ -2,7 +2,7 @@ import { useTranslations } from "next-intl";
import { Typography } from "@/components/ui";
import { emailMarketingCompV2Images } from "@/shared/constants/images";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import Review, { IReviewProps } from "../Review/Review";
@@ -14,7 +14,7 @@ type ILocalReview = Pick;
export default function Reviews() {
const t = useTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.reviews")
+ translatePathEmailMarketingSoulmateV1("Landing.reviews")
);
const reviewsFromTranslate = Object.values(
diff --git a/src/components/domains/email-marketing/compatibility/v2/SearchCompatiblePartnerCard/SearchCompatiblePartnerCard.tsx b/src/components/domains/email-marketing/compatibility/v2/SearchCompatiblePartnerCard/SearchCompatiblePartnerCard.tsx
index a1eb0d8..ed95d64 100644
--- a/src/components/domains/email-marketing/compatibility/v2/SearchCompatiblePartnerCard/SearchCompatiblePartnerCard.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/SearchCompatiblePartnerCard/SearchCompatiblePartnerCard.tsx
@@ -5,7 +5,7 @@ import { useTranslations } from "next-intl";
import { Typography } from "@/components/ui";
import { emailMarketingCompV2Images } from "@/shared/constants/images";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./SearchCompatiblePartnerCard.module.scss";
@@ -23,7 +23,7 @@ interface IBar {
export default function SearchCompatiblePartnerCard() {
const t = useTranslations(
- translatePathEmailMarketingCompatibilityV2(
+ translatePathEmailMarketingSoulmateV1(
"Landing.what-get.search-compatible-partner"
)
);
diff --git a/src/components/domains/email-marketing/compatibility/v2/SpecialOffer/SpecialOffer.tsx b/src/components/domains/email-marketing/compatibility/v2/SpecialOffer/SpecialOffer.tsx
index 96415ee..5e67811 100644
--- a/src/components/domains/email-marketing/compatibility/v2/SpecialOffer/SpecialOffer.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/SpecialOffer/SpecialOffer.tsx
@@ -2,7 +2,7 @@ import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
import { IFunnelPaymentVariant } from "@/entities/session/funnel/types";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import { Currency } from "@/types";
import { PeriodType } from "@/types/period";
@@ -27,7 +27,7 @@ export default async function SpecialOffer({
trialPeriod,
}: ISpecialOfferProps) {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.special-offer")
+ translatePathEmailMarketingSoulmateV1("Landing.special-offer")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/SpecialOfferButtonWrapper/SpecialOfferButtonWrapper.tsx b/src/components/domains/email-marketing/compatibility/v2/SpecialOfferButtonWrapper/SpecialOfferButtonWrapper.tsx
index 9c065f7..153f343 100644
--- a/src/components/domains/email-marketing/compatibility/v2/SpecialOfferButtonWrapper/SpecialOfferButtonWrapper.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/SpecialOfferButtonWrapper/SpecialOfferButtonWrapper.tsx
@@ -6,7 +6,7 @@ import { useTranslations } from "next-intl";
import { Button, Typography } from "@/components/ui";
import { BlurComponent } from "@/components/widgets";
import { ROUTES } from "@/shared/constants/client-routes";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./SpecialOfferButtonWrapper.module.scss";
@@ -23,7 +23,7 @@ export default function SpecialOfferButtonWrapper({
}: SpecialOfferButtonWrapperProps) {
const router = useRouter();
const t = useTranslations(
- translatePathEmailMarketingCompatibilityV2("SpecialOffer")
+ translatePathEmailMarketingSoulmateV1("SpecialOffer")
);
const openPaymentModal = () => {
diff --git a/src/components/domains/email-marketing/compatibility/v2/Statistics/Statistics.tsx b/src/components/domains/email-marketing/compatibility/v2/Statistics/Statistics.tsx
index 2b95fe9..59c45e6 100644
--- a/src/components/domains/email-marketing/compatibility/v2/Statistics/Statistics.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/Statistics/Statistics.tsx
@@ -3,7 +3,7 @@ import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
import { emailMarketingCompV2Images } from "@/shared/constants/images";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import styles from "./Statistics.module.scss";
@@ -13,7 +13,7 @@ const avatarsUrl = Array.from({ length: 6 }, (_, i) =>
export default async function Statistics() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.statistics")
+ translatePathEmailMarketingSoulmateV1("Landing.statistics")
);
return (
diff --git a/src/components/domains/email-marketing/compatibility/v2/TrialIntervalOffer/TrialIntervalOffer.tsx b/src/components/domains/email-marketing/compatibility/v2/TrialIntervalOffer/TrialIntervalOffer.tsx
index 183fa95..f07aa6f 100644
--- a/src/components/domains/email-marketing/compatibility/v2/TrialIntervalOffer/TrialIntervalOffer.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/TrialIntervalOffer/TrialIntervalOffer.tsx
@@ -1,7 +1,7 @@
import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import { getPeriodTextServer } from "@/shared/utils/period-server";
import { PeriodType } from "@/types/period";
@@ -19,7 +19,7 @@ export default async function TrialIntervalOffer({
newTrialInterval,
}: ITrialIntervalOfferProps) {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2(
+ translatePathEmailMarketingSoulmateV1(
"Landing.special-offer.trial-offer"
)
);
diff --git a/src/components/domains/email-marketing/compatibility/v2/WhatGet/WhatGet.tsx b/src/components/domains/email-marketing/compatibility/v2/WhatGet/WhatGet.tsx
index 8f275db..076ed4d 100644
--- a/src/components/domains/email-marketing/compatibility/v2/WhatGet/WhatGet.tsx
+++ b/src/components/domains/email-marketing/compatibility/v2/WhatGet/WhatGet.tsx
@@ -1,7 +1,7 @@
import { getTranslations } from "next-intl/server";
import { Typography } from "@/components/ui";
-import { translatePathEmailMarketingCompatibilityV2 } from "@/shared/constants/translate";
+import { translatePathEmailMarketingSoulmateV1 } from "@/shared/constants/translate";
import DetailedPortraitCard from "../DetailedPortraitCard/DetailedPortraitCard";
import GuideCard from "../GuideCard/GuideCard";
@@ -12,7 +12,7 @@ import styles from "./WhatGet.module.scss";
export default async function WhatGet() {
const t = await getTranslations(
- translatePathEmailMarketingCompatibilityV2("Landing.what-get")
+ translatePathEmailMarketingSoulmateV1("Landing.what-get")
);
return (
diff --git a/src/shared/constants/client-routes.ts b/src/shared/constants/client-routes.ts
index 3d61c65..462b5a8 100644
--- a/src/shared/constants/client-routes.ts
+++ b/src/shared/constants/client-routes.ts
@@ -15,7 +15,7 @@ const profilePrefix = "profile";
const retainingFunnelPrefix = "retaining";
const emailMarketingPrefix = "em";
const emailMarketingCompatibilityV1Prefix = `${emailMarketingPrefix}/c/v1`;
-const emailMarketingCompatibilityV2Prefix = `${emailMarketingPrefix}/c/v2`;
+const emailMarketingSoulmateV1Prefix = `${emailMarketingPrefix}/s/v1`;
export const ROUTES = {
home: () => createRoute([]),
@@ -91,11 +91,11 @@ export const ROUTES = {
emailMarketingCompatibilityV1SpecialOffer: () =>
createRoute([emailMarketingCompatibilityV1Prefix, "special-offer"]),
- // Email Marketing Compatibility V2
- emailMarketingCompatibilityV2Landing: () =>
- createRoute([emailMarketingCompatibilityV2Prefix, "landing"]),
- emailMarketingCompatibilityV2SpecialOffer: () =>
- createRoute([emailMarketingCompatibilityV2Prefix, "special-offer"]),
+ // Email Marketing Soulmate V1
+ emailMarketingSoulmateV1Landing: () =>
+ createRoute([emailMarketingSoulmateV1Prefix, "landing"]),
+ emailMarketingSoulmateV1SpecialOffer: () =>
+ createRoute([emailMarketingSoulmateV1Prefix, "special-offer"]),
// // Compatibility
// compatibilities: () => createRoute(["compatibilities"]),
diff --git a/src/shared/constants/translate/translate-path.ts b/src/shared/constants/translate/translate-path.ts
index cabeefd..e22e1c4 100644
--- a/src/shared/constants/translate/translate-path.ts
+++ b/src/shared/constants/translate/translate-path.ts
@@ -1,5 +1,5 @@
export const translatePathEmailMarketingCompatibilityV1 = (path: string) =>
`EmailMarketing.Compatibility.v1.${path}`;
-export const translatePathEmailMarketingCompatibilityV2 = (path: string) =>
- `EmailMarketing.Compatibility.v2.${path}`;
+export const translatePathEmailMarketingSoulmateV1 = (path: string) =>
+ `EmailMarketing.Soulmate.v1.${path}`;
diff --git a/src/types/index.ts b/src/types/index.ts
index d6731b3..05207f8 100644
--- a/src/types/index.ts
+++ b/src/types/index.ts
@@ -72,6 +72,7 @@ export enum ELocalesPlacement {
EmailMarketingCompatibilityV1 = "email-marketing-comp-v1",
EmailMarketingPalmistryV2 = "email-marketing-palmistry-v2",
EmailMarketingCompatibilityV2 = "email-marketing-comp-v2",
+ EmailMarketingSoulmateV1 = "email-marketing-soulmate-v1",
EmailMarketingCompatibilityV3 = "email-marketing-comp-v3",
EmailMarketingCompatibilityV4 = "email-marketing-comp-v4",
CompatibilityV2 = "compatibility-v2",