diff --git a/public/locales/v1/en/female_en.json b/public/locales/v1/en/female_en.json index f342177..f026dc2 100644 --- a/public/locales/v1/en/female_en.json +++ b/public/locales/v1/en/female_en.json @@ -712,6 +712,69 @@ }, "palmistry-v1": { "next": "Next", + "privacy_policy": "By continuing, you agree to our and . Have a question? Reach our support team ", + "eula_link": "EULA", + "privacy_notice": "Privacy Notice", + "policy_here": "here", + + "thumb": "Thumb finger", + "index_finger": "Index finger", + "middle_finger": "Middle finger", + "ring_finger": "Ring finger", + "pinky": "Little finger", + + "/scanned-photo": { + "title": "We are putting together a comprehensive Palmistry Reading just for you!", + "text": "Wow, looks like there is a lot we can tell about your ambitious and strong self-confident future." + }, + + "aura_paywall_palmistry_main": { + "text_0": "We've helped millions of people to reveal the destiny of their love life and what the future holds for them and their families.", + "text_1": "It costs us $13.21 to compensate our AURA\nemployees for the trial, but please choose the\namount you are comfortable with." + }, + + "skip_trial": "Skip Trial", + "add_consultant": "Add Consultant", + "add_guides": "Add Guides", + "access_product": "Access Product", + + "thank_you": "Thank you!", + "order_successful": "Your order was successful!", + + "/skip-trial": { + "title": "Not planning on looking back?", + "price_per_week": " per week", + "billing_period": "Billing period", + "billed_amount": "Billed amount", + "billed_in_4_weeks": "Billed in 4 weeks", + "start_trial": { + "every_week": "Every week", + "start_trial": "Start trial" + }, + "skip_trial": { + "save": "save %", + "every_4_weeks": "Every 4 weeks", + "skip_trial": "Accept offer and skip trial" + } + }, + + "/add-consultant": { + "more_for_you": "More for you", + "exclusive_offer": "Exclusive offer recommended for you to achieve your goals faster", + "your_unique_consultation": "Your unique individual consultation", + "30-minute": "30-minute private consultation with an expert", + "description": "You can ask for prediction of the future, live compatibility analysis; love compatibility etc", + "one_time_price_offer": "One time price offer: ", + "original_price": "Original price: ", + "you_will_be_charged": "*You will be charged for the add-on services or offers selected at the time of purchase.\n This is a non-recuring payment.", + "get_my_consultation": "Get my consultation", + "discount_save": "Save", + "caution": "Caution!", + "caution_text": "To prevent double charges please don`t close the page and don`t go back.", + "unlock_profound": "Unlock profound insights into your personality, relationships, career trajectory, and life's pivotal moments through astrology, empowering you to make informed decisions and achieve greater fulfillment.", + "choose_from": "Choose from 80+ experts astrologers." + }, + "/find-your-happiness": { "title": "Find your happiness with highly-personalized predictions.", "point1": "rated by real users", @@ -722,7 +785,8 @@ }, "/gender": { "title": "What’s your gender?", - "description": "In Palmistry, everyone is a blend of masculine and feminine, so it helps to know yours." + "description": "In Palmistry, everyone is a blend of masculine and feminine, so it helps to know yours.", + "already_have_account": "Already have an account? Sign in" }, "/birthdate": { "title": "What’s your date of birth?", diff --git a/public/locales/v1/en/male_en.json b/public/locales/v1/en/male_en.json index f342177..f026dc2 100644 --- a/public/locales/v1/en/male_en.json +++ b/public/locales/v1/en/male_en.json @@ -712,6 +712,69 @@ }, "palmistry-v1": { "next": "Next", + "privacy_policy": "By continuing, you agree to our and . Have a question? Reach our support team ", + "eula_link": "EULA", + "privacy_notice": "Privacy Notice", + "policy_here": "here", + + "thumb": "Thumb finger", + "index_finger": "Index finger", + "middle_finger": "Middle finger", + "ring_finger": "Ring finger", + "pinky": "Little finger", + + "/scanned-photo": { + "title": "We are putting together a comprehensive Palmistry Reading just for you!", + "text": "Wow, looks like there is a lot we can tell about your ambitious and strong self-confident future." + }, + + "aura_paywall_palmistry_main": { + "text_0": "We've helped millions of people to reveal the destiny of their love life and what the future holds for them and their families.", + "text_1": "It costs us $13.21 to compensate our AURA\nemployees for the trial, but please choose the\namount you are comfortable with." + }, + + "skip_trial": "Skip Trial", + "add_consultant": "Add Consultant", + "add_guides": "Add Guides", + "access_product": "Access Product", + + "thank_you": "Thank you!", + "order_successful": "Your order was successful!", + + "/skip-trial": { + "title": "Not planning on looking back?", + "price_per_week": " per week", + "billing_period": "Billing period", + "billed_amount": "Billed amount", + "billed_in_4_weeks": "Billed in 4 weeks", + "start_trial": { + "every_week": "Every week", + "start_trial": "Start trial" + }, + "skip_trial": { + "save": "save %", + "every_4_weeks": "Every 4 weeks", + "skip_trial": "Accept offer and skip trial" + } + }, + + "/add-consultant": { + "more_for_you": "More for you", + "exclusive_offer": "Exclusive offer recommended for you to achieve your goals faster", + "your_unique_consultation": "Your unique individual consultation", + "30-minute": "30-minute private consultation with an expert", + "description": "You can ask for prediction of the future, live compatibility analysis; love compatibility etc", + "one_time_price_offer": "One time price offer: ", + "original_price": "Original price: ", + "you_will_be_charged": "*You will be charged for the add-on services or offers selected at the time of purchase.\n This is a non-recuring payment.", + "get_my_consultation": "Get my consultation", + "discount_save": "Save", + "caution": "Caution!", + "caution_text": "To prevent double charges please don`t close the page and don`t go back.", + "unlock_profound": "Unlock profound insights into your personality, relationships, career trajectory, and life's pivotal moments through astrology, empowering you to make informed decisions and achieve greater fulfillment.", + "choose_from": "Choose from 80+ experts astrologers." + }, + "/find-your-happiness": { "title": "Find your happiness with highly-personalized predictions.", "point1": "rated by real users", @@ -722,7 +785,8 @@ }, "/gender": { "title": "What’s your gender?", - "description": "In Palmistry, everyone is a blend of masculine and feminine, so it helps to know yours." + "description": "In Palmistry, everyone is a blend of masculine and feminine, so it helps to know yours.", + "already_have_account": "Already have an account? Sign in" }, "/birthdate": { "title": "What’s your date of birth?", diff --git a/public/locales/v1/es/female_es.json b/public/locales/v1/es/female_es.json index 127c60c..c370520 100644 --- a/public/locales/v1/es/female_es.json +++ b/public/locales/v1/es/female_es.json @@ -599,7 +599,7 @@ "get_my_copy": "Obtener mi copia", "products": { "ultra_pack": { - "title": "ULTRA PACK", + "title": "PAQUETE ULTRA", "discount": "% DE DESCUENTO", "description": "(3 en 1 + 2 lecturas secretas adicionales)", "price": " (precio regular )" @@ -681,5 +681,283 @@ }, "/trial-choice": { "button": "Elige una cantidad que creas razonable." + }, + "assistantId": "asst_rG0fI4HaRFx5AcX6eNPZc6gY", + "v": "v1", + "config": "es.female", + "threadId": "thread_WJOMVhNOTyfYW9eN2kPAE1Fn", + "skip_trial": "Omitir Prueba", + "add_consultant": "Agregar Consultora", + "add_guides": "Agregar Guías", + "/skip-trial": { + "title": "¿No piensas mirar atrás?", + "price_per_week": " por semana", + "billing_period": "Período de facturación", + "billed_amount": "Monto facturado", + "billed_in_4_weeks": "Facturado en 4 semanas", + "start_trial": { + "every_week": "Cada semana", + "start_trial": "Iniciar prueba" + }, + "skip_trial": { + "save": "ahorra %", + "every_4_weeks": "Cada 4 semanas", + "skip_trial": "Aceptar oferta y omitir prueba" + } + }, + "/add-consultant": { + "caution": "¡Precaución!", + "caution_text": "Para evitar cargos dobles, por favor no cierres la página ni retrocedas.", + "unlock_profound": "Descubre profundos conocimientos sobre tu personalidad, relaciones, trayectoria profesional y momentos cruciales de la vida a través de la astrología, empoderándote para tomar decisiones informadas y lograr una mayor realización.", + "choose_from": "Elige entre más de 80 astrólogos expertos." + }, + "palmistry-v1": { + "next": "Siguiente", + "went_wrong": "Algo salió mal.", + "biometric_data": "No se recopilan datos biométricos. Todo el proceso de reconocimiento se realiza en tu dispositivo.", + + "privacy_policy": "Al continuar, aceptas nuestro y . ¿Tienes alguna pregunta? Comunícate con nuestro equipo de soporte ", + "eula_link": "EULA", + "privacy_notice": "Aviso de Privacidad", + "policy_here": "aquí", + + "/scanned-photo": { + "title": "¡Estamos preparando una lectura de quiromancia completa solo para ti!", + "text": "Wow, parece que hay mucho que podemos decir sobre tu futuro ambicioso y seguro de ti misma." + }, + + "aura_paywall_palmistry_main": { + "text_0": "Hemos ayudado a millones de personas a revelar el destino de su vida amorosa y lo que les depara el futuro a ellas y a sus familias.", + "text_1": "Nos cuesta $13.21 compensar a nuestros empleados de AURA por la prueba, pero por favor elige el monto con el que te sientas cómoda." + }, + + "skip_trial": "Omitir prueba", + "add_consultant": "Agregar Consultora", + "add_guides": "Agregar Guías", + "access_product": "Acceder al Producto", + + "thank_you": "¡Gracias!", + "order_successful": "¡Tu pedido fue exitoso!", + + "/skip-trial": { + "title": "¿No piensas mirar atrás?", + "price_per_week": " por semana", + "billing_period": "Período de facturación", + "billed_amount": "Monto facturado", + "billed_in_4_weeks": "Facturado en 4 semanas", + "start_trial": { + "every_week": "Cada semana", + "start_trial": "Iniciar prueba" + }, + "skip_trial": { + "save": "ahorra %", + "every_4_weeks": "Cada 4 semanas", + "skip_trial": "Aceptar oferta y omitir prueba" + } + }, + + "/add-consultant": { + "more_for_you": "Más para ti", + "exclusive_offer": "Oferta exclusiva recomendada para que alcances tus metas más rápido", + "your_unique_consultation": "Tu consulta individual única", + "30-minute": "Consulta privada de 30 minutos con una experta", + "description": "Puedes pedir predicciones del futuro, análisis de compatibilidad en vivo, compatibilidad amorosa, etc.", + "one_time_price_offer": "Oferta de precio único: ", + "original_price": "Precio original: ", + "you_will_be_charged": "*Se te cobrará por los servicios o ofertas adicionales seleccionados en el momento de la compra.\n Este es un pago no recurrente.", + "get_my_consultation": "Obtener mi consulta", + "discount_save": "Ahorra", + "caution": "¡Precaución!", + "caution_text": "Para evitar cargos dobles, por favor no cierres la página ni retrocedas.", + "unlock_profound": "Desbloquea profundos conocimientos sobre tu personalidad, relaciones, trayectoria profesional y momentos cruciales de la vida a través de la astrología, empoderándote para tomar decisiones informadas y lograr una mayor realización.", + "choose_from": "Elige entre más de 80 astrólogos expertos." + }, + + "/find-your-happiness": { + "title": "Encuentra tu felicidad con predicciones altamente personalizadas.", + "point1": "calificado por usuarios reales", + "point2": "93.4% de precisión", + "point3": "elección de 20 millones de usuarios", + "point4": "puntuación de satisfacción de 4.8", + "text": "Entiende a ti misma y mejora tus relaciones con la astrología" + }, + "/gender": { + "title": "¿Cuál es tu género?", + "description": "En la quiromancia, todos somos una mezcla de lo masculino y lo femenino, así que nos ayuda saber el tuyo.", + "already_have_account": "¿Ya tienes una cuenta? Inicia sesión" + }, + "/birthdate": { + "title": "¿Cuál es tu fecha de nacimiento?", + "text": "Tu fecha de nacimiento revela tus rasgos principales de personalidad, necesidades y deseos." + }, + "/palms-information": { + "title": "Tus palmas contienen una gran cantidad de información sobre tu destino y personalidad." + }, + "/what-aspects": { + "title": "¿En qué aspectos de tu vida deseas obtener información a través de la quiromancia?", + "answer1": "Amor y Relaciones", + "answer2": "Salud y Vitalidad", + "answer3": "Carrera y Destino" + }, + "/relationship-status": { + "title": "Para conocerte mejor, por favor dinos tu estado civil", + "answer1": "Soltera", + "answer2": "En una relación" + }, + "/element-resonates": { + "title": "¿Con qué elemento resuenas más?", + "answer1": "Agua", + "answer2": "Fuego", + "answer3": "Aire", + "answer4": "Tierra" + }, + "/favorite-color": { + "title": "¿Cuál es tu color favorito?", + "answer1": "Azul", + "answer2": "Verde", + "answer3": "Naranja", + "answer4": "Violeta", + "answer5": "Rojo", + "answer6": "Amarillo" + }, + "/head-or-heart": { + "title": "¿Tomas decisiones con la cabeza o con el corazón?", + "answer1": "Corazón", + "answer2": "Cabeza", + "answer3": "Ambos" + }, + "/relate-following": { + "title": "¿Te identificas con lo siguiente?", + "question1": "Encuentro consuelo y comodidad pasando tiempo sola.", + "question2": "Valoro y disfruto de mi propia compañía.", + "question3": "Prefiero socializar en grupo en lugar de pasar tiempo sola.", + "question4": "La soledad es algo que trato de evitar activamente.", + "question5": "Disfruto de actividades que puedo hacer de manera independiente.", + "strongly_agree": "Totalmente de acuerdo", + "strongly_disagree": "Totalmente en desacuerdo" + }, + "/let-scan": { + "title": "Vamos a escanear tus palmas", + "text": "Sigue las instrucciones en pantalla, así podremos analizar las líneas de tu palma y revelar tu futuro y los secretos de tu destino." + }, + "/scan-instruction": { + "title": "Toma una foto de tu palma como se indica", + "button": "Tomar una foto ahora" + }, + "/email": { + "title": "Ingresa tu correo electrónico para obtener tu lectura avanzada de quiromancia con AURA", + "not_share": "No compartimos ninguna información personal.", + "placeholder_email": "Tu correo electrónico", + "placeholder_name": "Tu nombre" + }, + "app_number_one": { + "text": "La aplicación confiada por más de 25 millones de personas.", + "color": "#1 en Astrología" + }, + "/trial-payment": { + "palm_is_ready": { + "title": "Tu lectura de palma ", + "title_color": "Está lista", + "description": "“Acabo de recibir los resultados del escaneo de tu palma. ¡Hablemos!”", + "text1": " 6 años en lecturas de quiromancia y guía espiritual.", + "text1_color": "Akho", + "text2": "Elige entre más de 80 lectores de palma y astrólogos." + }, + "joined_today": { + "text1": "Chats ilimitados con un lector de palma", + "text2": " personas se unieron hoy" + }, + "get_personal_prediction": "Obtén una predicción personalizada", + "how_work": { + "title": "¿Cómo funciona AURA?", + "point1_title": "Envíanos tu escaneo de la palma", + "point1_text": "Analizamos las líneas de tu palma para obtener pistas sobre tu futuro", + "point2_title": "Se genera tu lectura de la palma", + "point2_text": "Uno de nuestros lectores de palma profesionales prepara un informe lleno de pistas sobre tu futuro", + "point3_title": "Empieza tu prueba para recibir tu predicción", + "point3_text": "Una vez que seas miembro de AURA, te enviaremos tu informe de predicción para que puedas empezar a vivir una vida mejor.", + "point4_title": "Habla con un especialista en lectura de palma en cualquier momento", + "point4_text": "Obtén apoyo continuo discutiendo tus lecturas, horóscopos personales y compatibilidades con nuestro equipo de expertos." + }, + "money_back_guarantee": { + "title": "Garantía de devolución del 100% del dinero", + "text": "Si no notas ningún progreso después de usar la aplicación durante al menos una semana, estamos listos para hacer un reembolso completo dentro de los 14 días." + }, + "begin_trial_now": "Comienza la prueba ahora", + "what_included": { + "title": "¿Qué está incluido?", + "point1": " lecturas de palma", + "point1_bold": "Ilimitadas", + "point2": " con astrólogos profesionales", + "point2_bold": "Chats en vivo 1:1", + "point3": " lecturas", + "point3_bold": "Compatibilidad diaria", + "point4": "Consejos cósmicos de relación", + "point5": "Horóscopos diarios" + }, + "palms_say_about": { + "title": "¿Qué dicen tus palmas sobre ti?", + "point1": " muestra tu actitud hacia el amor y la calidad del amor", + "point1_color": "Línea del amor", + "point2": "Un pulgar largo indica buena fortuna", + "point3": " refleja tu inteligencia y mentalidad", + "point3_color": "Línea de la cabeza", + "point4": "Un dedo índice largo indica un líder nato", + "point5": " define la calidad de tu vida y lo que lograrás", + "point5_color": "Línea de la vida", + "point6": "Un dedo medio corto revela un espíritu libre", + "point7": " representa tus logros materiales y objetivos profesionales", + "point7_color": "Línea del destino", + "point8": "Un dedo anular largo revela que una persona tiende a tomar riesgos", + "point9": "Un dedo meñique corto indica la falta de confianza en uno mismo" + }, + "discover_more": "Descubre más", + "why_love": "¿Por qué todos ?", + "why_love_color": "aman AURA", + "reviews": { + "username1": "Rebecca Bauman", + "tagline1": "\"¡Ha cambiado mi vida!\"", + "text1": "Estoy agradecida por esta aplicación y por Akho. ¡Ella es una excelente lectora de palma y astróloga—clara, minuciosa y tranquilizadora. Espero con ansias más sesiones con ella!", + "username2": "Mika Ryan", + "tagline2": "\"Después de años de búsqueda, finalmente he encontrado un verdadero amor.\"", + "text2": "Tenía dudas sobre si realmente valía la pena probarlo, pero ahora no tengo arrepentimientos y estoy disfrutando mis nuevas relaciones.", + "username3": "Amanda Holmes", + "tagline3": "\"He encontrado un trabajo que realmente disfruto.\"", + "text3": "Gracias a Vladana, finalmente he descubierto una pista sobre cuál es realmente el propósito de mi vida y qué tipo de trabajo resuena más conmigo." + }, + "success_story": "¡Conviértete en una historia de éxito de AURA!", + "as_seen_in": " Visto en", + "footer": { + "text1": "¿Preguntas? Estamos aquí para ayudarte", + "text2": "Atención al Cliente", + "text3": "Centro de Ayuda" + } + }, + "/payment": { + "will_be_charged_trial_info": " por tu prueba de días", + "will_be_charged_email_reminder": "te enviaremos un recordatorio por correo electrónico", + "will_be_charged": "Se te cobrará solo . Luego por semana. Ahorra cada semana. Te enviaremos un antes de que termine tu prueba.", + "payment_information": { + "personalized_offer": "Oferta personalizada reservada", + "title": "Comienza tu prueba de días", + "total_today": "Total hoy", + "code_applied_bold": "AURA24", + "code_applied": "¡Código aplicado!" + }, + "guarantees": { + "no_commitment": "Sin compromiso. Cancela en cualquier momento.", + "30_day_money_back": "Garantía de devolución del dinero en 30 días" + }, + "get_personal_prediction": "Obtén una predicción personalizada", + "total_due": "Total adeudado hoy: ", + "app_number_one_color": "25 millones de personas.", + "app_number_one": "La aplicación de astrología #1 confiada por más de " + }, + "/camera": { + "bad_photo": "¡Foto mala!", + "try_again": "Inténtalo de nuevo", + "do_better": "Puedes hacerlo mejor", + "next": "Siguiente" + } } -} \ No newline at end of file +} diff --git a/public/locales/v1/es/male_es.json b/public/locales/v1/es/male_es.json index d449a72..50cfbbb 100644 --- a/public/locales/v1/es/male_es.json +++ b/public/locales/v1/es/male_es.json @@ -715,6 +715,64 @@ "next": "Siguiente", "biometric_data": "No se recopilan datos biométricos. Todo el proceso de reconocimiento se realiza en tu dispositivo.", "went_wrong": "Algo salió mal.", + + "privacy_policy": "Al continuar, aceptas nuestro y . ¿Tienes alguna pregunta? Contacta a nuestro equipo de soporte .", + "eula_link": "EULA", + "privacy_notice": "Aviso de Privacidad", + "policy_here": "aquí", + + "/scanned-photo": { + "title": "Estamos preparando una lectura de quiromancia completa solo para ti.", + "text": "Guau, parece que hay mucho que podemos decir sobre tu futuro ambicioso y seguro de ti mismo." + }, + + "aura_paywall_palmistry_main": { + "text_0": "Hemos ayudado a millones de personas a revelar el destino de su vida amorosa y lo que el futuro les depara a ellos y sus familias.", + "text_1": "Nos cuesta $13.21 compensar a nuestros empleados de AURA por la prueba, pero elige la cantidad con la que te sientas cómodo." + }, + + "skip_trial": "Saltar la prueba", + "add_consultant": "Agregar Consultor", + "add_guides": "Agregar Guías", + "access_product": "Acceder al producto", + + "thank_you": "¡Gracias!", + "order_successful": "¡Tu pedido fue exitoso!", + + "/skip-trial": { + "title": "¿No planeas mirar atrás?", + "price_per_week": " por semana", + "billing_period": "Periodo de facturación", + "billed_amount": "Cantidad facturada", + "billed_in_4_weeks": "Facturado en 4 semanas", + "start_trial": { + "every_week": "Cada semana", + "start_trial": "Iniciar prueba" + }, + "skip_trial": { + "save": "ahorra %", + "every_4_weeks": "Cada 4 semanas", + "skip_trial": "Aceptar oferta y saltar prueba" + } + }, + + "/add-consultant": { + "more_for_you": "Más para ti", + "exclusive_offer": "Oferta exclusiva recomendada para que alcances tus metas más rápido", + "your_unique_consultation": "Tu consulta individual única", + "30-minute": "Consulta privada de 30 minutos con un experto", + "description": "Puedes pedir predicciones del futuro, análisis en vivo de compatibilidad; compatibilidad amorosa, etc.", + "one_time_price_offer": "Oferta de precio único: ", + "original_price": "Precio original: ", + "you_will_be_charged": "*Se te cobrará por los servicios adicionales u ofertas seleccionadas en el momento de la compra.\n Este es un pago no recurrente.", + "get_my_consultation": "Obtener mi consulta", + "discount_save": "Ahorrar", + "caution": "¡Precaución!", + "caution_text": "Para evitar cargos dobles, por favor no cierres la página ni retrocedas.", + "unlock_profound": "Desbloquea profundas perspectivas sobre tu personalidad, relaciones, trayectoria profesional y momentos cruciales de la vida a través de la astrología, empoderándote para tomar decisiones informadas y lograr una mayor satisfacción.", + "choose_from": "Elige entre más de 80 astrólogos expertos." + }, + "/find-your-happiness": { "title": "Encuentra tu felicidad con predicciones altamente personalizadas.", "point1": "Valorado por usuarios reales", @@ -725,7 +783,8 @@ }, "/gender": { "title": "¿Cuál es tu género?", - "description": "En la quiromancia, todos somos una mezcla de lo masculino y lo femenino, así que ayuda saber el tuyo." + "description": "En la quiromancia, todos somos una mezcla de lo masculino y lo femenino, así que ayuda saber el tuyo.", + "already_have_account": "¿Ya tienes una cuenta? Inicia sesión" }, "/birthdate": { "title": "¿Cuál es tu fecha de nacimiento?", @@ -893,6 +952,12 @@ "total_due": "Total a pagar hoy: ", "app_number_one_color": "25 millones de personas.", "app_number_one": "La aplicación #1 en Astrología en la que confían más de " + }, + "/camera": { + "bad_photo": "¡Foto mala!", + "try_again": "Inténtalo de nuevo", + "do_better": "Puedes hacerlo mejor", + "next": "Siguiente" } } } diff --git a/public/trial-choice-palmistry-es.mp4 b/public/trial-choice-palmistry-es.mp4 new file mode 100644 index 0000000..add0540 Binary files /dev/null and b/public/trial-choice-palmistry-es.mp4 differ diff --git a/src/api/resources/Locale.ts b/src/api/resources/Locale.ts index e633887..cb83314 100644 --- a/src/api/resources/Locale.ts +++ b/src/api/resources/Locale.ts @@ -32,11 +32,11 @@ interface ResponseGetSuccess { } interface ResponseGetError { - ip: "127.0.0.1", - error: true, - reason: "Reserved IP Address", - reserved?: true, - version?: "IPv4" + ip: string, + error: boolean, + reason: string, + reserved?: boolean, + version?: string; } export type ResponseGet = ResponseGetSuccess & ResponseGetError; diff --git a/src/components/PalmistryV1/pages/Camera/index.tsx b/src/components/PalmistryV1/pages/Camera/index.tsx index 9d25550..8eca7a8 100644 --- a/src/components/PalmistryV1/pages/Camera/index.tsx +++ b/src/components/PalmistryV1/pages/Camera/index.tsx @@ -15,26 +15,6 @@ import Toast from "@/components/pages/ABDesign/v1/components/Toast"; import { useTranslations } from "@/hooks/translations"; import { ELocalesPlacement } from "@/locales"; -const fingersNames = { - thumb: "Thumb finger", - index_finger: "Index finger", - middle_finger: "Middle finger", - ring_finger: "Ring finger", - pinky: "Little finger", -}; - -const setFingersNames = ( - fingers: IPalmistryFinger[] -): IPalmistryFingerLocal[] => { - if (!fingers) return []; - return fingers.map((finger) => { - return { - ...finger, - fingerName: fingersNames[finger.name as keyof typeof fingersNames], - }; - }); -}; - const isProduction = import.meta.env.MODE === "production"; enum EToastVisible { @@ -55,6 +35,26 @@ function Camera() { navigate(routes.client.palmistryV1ScannedPhoto()); }; + const fingersNames = { + thumb: translate("thumb"), + index_finger: translate("index_finger"), + middle_finger: translate("middle_finger"), + ring_finger: translate("ring_finger"), + pinky: translate("pinky"), + }; + + const setFingersNames = ( + fingers: IPalmistryFinger[] + ): IPalmistryFingerLocal[] => { + if (!fingers) return []; + return fingers.map((finger) => { + return { + ...finger, + fingerName: fingersNames[finger.name as keyof typeof fingersNames], + }; + }); + }; + /** * Check if the palmistry lines are valid for the next step. * If the length of the lines is less than 2, show the "try_again" toast. diff --git a/src/components/PalmistryV1/pages/GenderPalmistry/index.tsx b/src/components/PalmistryV1/pages/GenderPalmistry/index.tsx index 77a96d0..fcf6b1c 100644 --- a/src/components/PalmistryV1/pages/GenderPalmistry/index.tsx +++ b/src/components/PalmistryV1/pages/GenderPalmistry/index.tsx @@ -77,7 +77,7 @@ function GenderPalmistry() {

{translate("/gender.description")}

- + {gender && !privacyPolicyChecked && ( diff --git a/src/components/PalmistryV1/pages/PalmsInformation/index.tsx b/src/components/PalmistryV1/pages/PalmsInformation/index.tsx index 045a0d6..a6d77b2 100644 --- a/src/components/PalmistryV1/pages/PalmsInformation/index.tsx +++ b/src/components/PalmistryV1/pages/PalmsInformation/index.tsx @@ -35,39 +35,35 @@ function PalmsInformation() { {translate("next")} - {translate( - "privacy_text", - { - eulaLink: ( - - {translate("eula", undefined, ELocalesPlacement.V0)} - - ), - privacyLink: ( - - {translate("privacy_notice", undefined, ELocalesPlacement.V0)} - - ), - clickHere: ( - - {translate("here", undefined, ELocalesPlacement.V0)} - - ), - }, - ELocalesPlacement.V0 - )} + {translate("privacy_policy", { + eulaLink: ( + + {translate("eula_link")} + + ), + privacyLink: ( + + {translate("privacy_notice")} + + ), + clickHere: ( + + {translate("policy_here")} + + ), + })} ); diff --git a/src/components/PalmistryV1/pages/ScannedPhoto/index.tsx b/src/components/PalmistryV1/pages/ScannedPhoto/index.tsx index e79ab42..cbc9399 100644 --- a/src/components/PalmistryV1/pages/ScannedPhoto/index.tsx +++ b/src/components/PalmistryV1/pages/ScannedPhoto/index.tsx @@ -8,11 +8,14 @@ import { IPalmistryFingerLocal } from "@/store/palmistry"; import { useNavigate } from "react-router-dom"; import routes from "@/routes"; import ScannedPhotoElement from "@/components/palmistry/scanned-photo/scanned-photo"; +import { useTranslations } from "@/hooks/translations"; +import { ELocalesPlacement } from "@/locales"; const drawElementChangeDelay = 1500; const startDelay = 500; function ScannedPhoto() { + const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); const navigate = useNavigate(); const photo = useSelector(selectors.selectPalmistryPhoto); const fingers = useSelector(selectors.selectPalmistryFingers); @@ -103,7 +106,7 @@ function ScannedPhoto() { }ms`, }} > - We are putting together a comprehensive Palmistry Reading just for you! + {translate("/scanned-photo.title")}

- Wow, looks like there is a lot we can tell about your ambitious and - strong self-confident future. + {translate("/scanned-photo.text")}

); diff --git a/src/components/PalmistryV1/pages/TrialChoice/abText.tsx b/src/components/PalmistryV1/pages/TrialChoice/abText.tsx new file mode 100644 index 0000000..aaa1560 --- /dev/null +++ b/src/components/PalmistryV1/pages/TrialChoice/abText.tsx @@ -0,0 +1,80 @@ +export const getLongText = (locale: string) => { + if (locale === "es") { + return ( + <> + AURA es la única aplicación precisa con un análisis fiable de la línea + del destino, verificado por profesionales y garantizado para + proporcionar predicciones precisas. +
+
+ AURA ya ha ayudado a millones de personas a encontrar la felicidad y + descubrir toda la verdad sobre sus relaciones. +
+
+ Tu análisis del destino, que cambiará tu vida por completo, ¡está casi + listo! Antes de proporcionártelo, nos gustaría ofrecerte la oportunidad + de elegir la cantidad que consideres razonable para probar AURA durante + 7 días y que creas justa para los cambios que te sucederán: +
+
+ • Descubrirás todos los secretos más íntimos que las estrellas tienen + preparados para ti y resolverás problemas de relación en solo un mes; +
+
+ • Pondrás fin, de una vez por todas, a asuntos pendientes y olvidarás + los problemas que te han estado atormentando durante años (si no + décadas); +
+
+ • Ahorrarás cientos de dólares en predicciones astrológicas falsas y + adivinos no profesionales; +
+
+ • Recibirás no solo un análisis personal, sino también horóscopos + diarios personalizados, aprenderás quién y cómo está drenando tu energía + y obtendrás otras lecturas personalizadas. +
+
+ El período de prueba de 7 días nos cuesta $13.76, pero por favor elige + la cantidad que más te convenga: + + ); + } + return ( + <> + AURA is the only accurate app with reliable fate line analysis, verified + by professionals and guaranteed to provide precise predictions. +
+
+ AURA has already helped millions of people find happiness and discover the + whole truth about their relationships. +
+
+ Your fate analysis, which will completely change your life, is almost + ready! Before we provide it to you, we would like to offer you the + opportunity to choose the amount you consider reasonable to try AURA for 7 + days and which you think is fair for the changes that will happen to you: +
+
+ You will discover all the most intimate secrets that the stars have + prepared for you and solve relationship issues within just one month; +
+
+ You will once and for all put the finishing touches on unresolved issues + and forget about problems that have been haunting you for years (if not + decades); +
+
+ You will save hundreds of dollars on fake and unprofessional astrological + predictions and fortune tellers; +
+
+ You will receive not only a personal analysis but also personalized daily + horoscopes, learn who and how is draining your energy, and get other + personalized readings. +
+
A 7-day trial period costs us $13.76, but please choose the amount + that suits you best: + + ); +}; diff --git a/src/components/PalmistryV1/pages/TrialChoice/index.tsx b/src/components/PalmistryV1/pages/TrialChoice/index.tsx index ff0853e..d3770a8 100644 --- a/src/components/PalmistryV1/pages/TrialChoice/index.tsx +++ b/src/components/PalmistryV1/pages/TrialChoice/index.tsx @@ -18,6 +18,7 @@ import { useNavigate } from "react-router-dom"; import Loader from "@/components/Loader"; import { useTranslations } from "@/hooks/translations"; import { useMetricABFlags } from "@/services/metric/metricService"; +import { getLongText } from "./abText"; function TrialChoice() { const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); @@ -25,9 +26,11 @@ function TrialChoice() { const dispatch = useDispatch(); const { products, isLoading, currency, getText } = usePaywall({ placementKey: EPlacementKeys["aura.placement.palmistry.redesign"], - localesPlacement: ELocalesPlacement.V1, + localesPlacement: ELocalesPlacement.PalmistryV1, }); + const locale = getDefaultLocaleByLanguage(language); + const { flags } = useMetricABFlags(); const isLongText = flags?.text?.[0] === "on"; @@ -58,51 +61,12 @@ function TrialChoice() { {!isLoading && ( <> - {(getDefaultLocaleByLanguage(language) !== "en" || !isLongText) && ( + {!isLongText && ( {getText("text.0")} )} - {getDefaultLocaleByLanguage(language) === "en" && isLongText && ( -

- AURA is the only accurate app with reliable fate line analysis, - verified by professionals and guaranteed to provide precise - predictions. -
-
- AURA has already helped millions of people find happiness and - discover the whole truth about their relationships. -
-
- Your fate analysis, which will completely change your life, is - almost ready! Before we provide it to you, we would like to offer - you the opportunity to choose the amount you consider reasonable - to try AURA for 7 days and which you think is fair for the changes - that will happen to you: -
-
- You will discover all the most intimate secrets that the stars - have prepared for you and solve relationship issues within just - one month; -
-
- You will once and for all put the finishing touches on unresolved - issues and forget about problems that have been haunting you for - years (if not decades); -
-
- You will save hundreds of dollars on fake and unprofessional - astrological predictions and fortune tellers; -
-
- You will receive not only a personal analysis but also - personalized daily horoscopes, learn who and how is draining your - energy, and get other personalized readings. -
-
A 7-day trial period costs us $13.76, but please choose the - amount that suits you best: -

- )} + {isLongText &&

{getLongText(locale)}

}
(null); const titlesRef = useRef>([]); const circleSize = 30; diff --git a/src/components/palmistry/AdditionalPurchases/components/Caution/index.tsx b/src/components/palmistry/AdditionalPurchases/components/Caution/index.tsx index 290aeb6..9550067 100644 --- a/src/components/palmistry/AdditionalPurchases/components/Caution/index.tsx +++ b/src/components/palmistry/AdditionalPurchases/components/Caution/index.tsx @@ -4,7 +4,7 @@ import { ELocalesPlacement } from "@/locales"; import Title from "@/components/Title"; function Caution() { - const { translate } = useTranslations(ELocalesPlacement.V1); + const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); return (
diff --git a/src/components/palmistry/AdditionalPurchases/components/ConsultationTable/index.tsx b/src/components/palmistry/AdditionalPurchases/components/ConsultationTable/index.tsx index 8fa2453..904d8a2 100644 --- a/src/components/palmistry/AdditionalPurchases/components/ConsultationTable/index.tsx +++ b/src/components/palmistry/AdditionalPurchases/components/ConsultationTable/index.tsx @@ -11,7 +11,7 @@ interface IConsultationTableProps { } function ConsultationTable({ price }: IConsultationTableProps) { - const { translate } = useTranslations(ELocalesPlacement.V1); + const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); const currency = useSelector(selectors.selectCurrency); const _price = useMemo(() => { return addCurrency((price / 100).toFixed(2), currency); @@ -20,12 +20,12 @@ function ConsultationTable({ price }: IConsultationTableProps) { return (
- {translate("/add-consultation.your_unique_consultation")} + {translate("/add-consultant.your_unique_consultation")}
- {translate("/add-consultation.30-minute")} + {translate("/add-consultant.30-minute")}

{translate("/add-consultant.unlock_profound")} @@ -36,12 +36,12 @@ function ConsultationTable({ price }: IConsultationTableProps) {

- {translate("/add-consultation.one_time_price_offer")} + {translate("/add-consultant.one_time_price_offer")} {_price}
- {translate("/add-consultation.original_price", { + {translate("/add-consultant.original_price", { oldPrice: addCurrency(99.99, currency), discount: Economisez 50, })} diff --git a/src/components/palmistry/AdditionalPurchases/components/ThankYouBanner/index.tsx b/src/components/palmistry/AdditionalPurchases/components/ThankYouBanner/index.tsx new file mode 100644 index 0000000..c9feec1 --- /dev/null +++ b/src/components/palmistry/AdditionalPurchases/components/ThankYouBanner/index.tsx @@ -0,0 +1,30 @@ +import Title from "@/components/Title"; +import styles from "./styles.module.css"; +import { useTranslations } from "@/hooks/translations"; +import { ELocalesPlacement } from "@/locales"; + +interface IThankYouBannerProps { + containerClassName?: string; +} + +function ThankYouBanner({ containerClassName = "" }: IThankYouBannerProps) { + const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); + + return ( +
+ Love +
+ + {translate("thank_you")} + +

{translate("order_successful")}

+
+
+ ); +} + +export default ThankYouBanner; diff --git a/src/components/palmistry/AdditionalPurchases/components/ThankYouBanner/styles.module.css b/src/components/palmistry/AdditionalPurchases/components/ThankYouBanner/styles.module.css new file mode 100644 index 0000000..f6a1b89 --- /dev/null +++ b/src/components/palmistry/AdditionalPurchases/components/ThankYouBanner/styles.module.css @@ -0,0 +1,32 @@ +.container { + width: 100%; + padding: 6px 20px; + background-color: #a5a3f3; + border-radius: 8px; + display: flex; + flex-direction: row; + align-items: center; + gap: 15px; + color: #fff; + height: min-content; + margin-top: 12px; +} + +.image { + height: 34px; + aspect-ratio: 1 / 1; +} + +.title { + text-align: left; + margin-bottom: 4px; + font-size: 14px; + font-weight: 700; + line-height: 135%; +} + +.text { + font-size: 14px; + line-height: 20px; + font-weight: 400; +} diff --git a/src/components/palmistry/AdditionalPurchases/pages/AddConsultant/index.tsx b/src/components/palmistry/AdditionalPurchases/pages/AddConsultant/index.tsx index b661259..f7d0720 100644 --- a/src/components/palmistry/AdditionalPurchases/pages/AddConsultant/index.tsx +++ b/src/components/palmistry/AdditionalPurchases/pages/AddConsultant/index.tsx @@ -24,7 +24,7 @@ const returnUrl = `${window.location.protocol}//${ }${routes.client.addGuides()}`; function AddConsultant() { - const { translate } = useTranslations(ELocalesPlacement.V1); + const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); const navigate = useNavigate(); const api = useApi(); const { user: userFromStore } = useAuth(); @@ -112,10 +112,10 @@ function AddConsultant() { <> - {translate("/add-consultation.more_for_you")} + {translate("/add-consultant.more_for_you")}
- {translate("/add-consultation.exclusive_offer")} + {translate("/add-consultant.exclusive_offer")}
{isError &&

{translate("went_wrong")}

} @@ -129,7 +129,7 @@ function AddConsultant() { {isPendingProducts || isLoading ? ( ) : ( - translate("/add-consultation.get_my_consultation") + translate("/add-consultant.get_my_consultation") )} diff --git a/src/components/palmistry/AdditionalPurchases/pages/SkipTrial/index.tsx b/src/components/palmistry/AdditionalPurchases/pages/SkipTrial/index.tsx index 2f67664..7227b82 100644 --- a/src/components/palmistry/AdditionalPurchases/pages/SkipTrial/index.tsx +++ b/src/components/palmistry/AdditionalPurchases/pages/SkipTrial/index.tsx @@ -1,4 +1,3 @@ -import ThankYouBanner from "@/components/pages/AdditionalPurchases/components/ThankYouBanner"; import styles from "./styles.module.scss"; import Title from "@/components/Title"; import { addCurrency, ELocalesPlacement } from "@/locales"; @@ -17,12 +16,13 @@ import { Elements } from "@stripe/react-stripe-js"; import CheckoutForm from "@/components/PaymentPage/methods/CheckoutForm"; import { useSinglePayment } from "@/hooks/payment/useSinglePayment"; import { useTranslations } from "@/hooks/translations"; +import ThankYouBanner from "../../components/ThankYouBanner"; const currentProductKey = "skip.trial.subscription.aura"; const returnUrl = `${window.location.host}${routes.client.addConsultant()}`; function SkipTrial() { - const { translate } = useTranslations(ELocalesPlacement.V1); + const { translate } = useTranslations(ELocalesPlacement.PalmistryV1); const navigate = useNavigate(); const api = useApi(); const { token, user } = useAuth(); diff --git a/src/components/palmistry/AdditionalPurchases/pages/SkipTrial/styles.module.scss b/src/components/palmistry/AdditionalPurchases/pages/SkipTrial/styles.module.scss index 0d054d7..c52d671 100644 --- a/src/components/palmistry/AdditionalPurchases/pages/SkipTrial/styles.module.scss +++ b/src/components/palmistry/AdditionalPurchases/pages/SkipTrial/styles.module.scss @@ -1,16 +1,16 @@ .thank-you { - background-color: #aaddff; - padding: 16px 20px; + background-color: #aaddff !important; + padding: 16px 20px !important; & > * { - color: #000; - font-size: 12px; + color: #000 !important; + font-size: 12px !important; } & h4, & p { font-size: 12px !important; - margin: 0; + margin: 0 !important; } } diff --git a/src/components/ui/AlreadyHaveAccount/index.tsx b/src/components/ui/AlreadyHaveAccount/index.tsx index 83c742a..2febbcf 100644 --- a/src/components/ui/AlreadyHaveAccount/index.tsx +++ b/src/components/ui/AlreadyHaveAccount/index.tsx @@ -2,7 +2,11 @@ import { useNavigate } from "react-router-dom"; import styles from "./styles.module.scss"; import routes from "@/routes"; -function AlreadyHaveAccount() { +interface IAlreadyHaveAccountProps { + text?: string; +} + +function AlreadyHaveAccount({ text }: IAlreadyHaveAccountProps) { const navigate = useNavigate(); const navigateAuth = () => { @@ -10,7 +14,7 @@ function AlreadyHaveAccount() { }; return ( ); } diff --git a/src/routerComponents/Palmistry/v1/LayoutPersonalVideo/index.tsx b/src/routerComponents/Palmistry/v1/LayoutPersonalVideo/index.tsx index 0c8e3cd..9c0764d 100644 --- a/src/routerComponents/Palmistry/v1/LayoutPersonalVideo/index.tsx +++ b/src/routerComponents/Palmistry/v1/LayoutPersonalVideo/index.tsx @@ -5,6 +5,7 @@ import { actions, selectors } from "@/store"; import { useDispatch, useSelector } from "react-redux"; import { Outlet, useLocation } from "react-router-dom"; import { useCallback, useEffect, useRef, useState } from "react"; +import { getDefaultLocaleByLanguage, language } from "@/locales"; export interface IOutletContext { containerVideoRef: React.RefObject; @@ -21,6 +22,15 @@ function LayoutPersonalVideo() { const showElementsTimer = useRef(); const containerVideoRef = useRef(null); + const locale = getDefaultLocaleByLanguage(language); + console.log(locale); + + + const videoUrl = + locale === "es" + ? "/trial-choice-palmistry-es.mp4" + : "/trial-choice-palmistry.mp4"; + const showElements = useCallback(() => { showElementsTimer.current = setTimeout(() => { setIsVisibleElements(true); @@ -37,7 +47,7 @@ function LayoutPersonalVideo() { <>