From 425a47b33c218f03a582392aa5d463da6e8def81 Mon Sep 17 00:00:00 2001 From: RustamRu Date: Sat, 16 Nov 2024 22:43:28 +0300 Subject: [PATCH] feat: add localized review mock files (#18) --- src/mocks/landing/index.ts | 44 ++----------------------- src/mocks/landing/order.ts | 7 ++++ src/mocks/landing/review.ts | 64 +++++++++++++++++++++++++++++++++++++ src/models/i18n.ts | 4 +++ src/models/index.ts | 4 ++- src/models/review.ts | 9 ++++++ 6 files changed, 89 insertions(+), 43 deletions(-) create mode 100644 src/mocks/landing/order.ts create mode 100644 src/mocks/landing/review.ts create mode 100644 src/models/i18n.ts create mode 100644 src/models/review.ts diff --git a/src/mocks/landing/index.ts b/src/mocks/landing/index.ts index 9c94b8a..0c76edd 100644 --- a/src/mocks/landing/index.ts +++ b/src/mocks/landing/index.ts @@ -1,42 +1,2 @@ -import { Order } from "../../models"; - -type ReviewItem = { - id: string; - firstname: string; - lastname: string; - picture: string; - text: string; -}; - -export const mockReviews: ReviewItem[] = [ - { - firstname: 'Анна', - lastname: 'Смирнова', - picture: 'https://img.freepik.com/free-photo/indoor-portrait-beautiful-freckled-woman-with-dark-curly-hair-wears-fashionable-striped-shirt-rejoices-day-off-isolated-white-wall-curly-satisfied-woman-stands-indoor-alone_273609-15765.jpg', - text: "Недавно воспользовалась услугами сухой мойки автомобилей и осталась крайне удовлетворена. Процесс был проведён профессионально: сотрудники использовали качественные средства, которые не повредили лакокрасочное покрытие. Особенно впечатлила возможность мыть машину без воды, что не только экономит ресурсы, но и бережет окружающую среду. Рекомендую всем, кто заботится о своём автомобиле и экологии!" - }, - { - firstname: 'Дмитрий', - lastname: 'Петров', - picture: 'https://img.freepik.com/free-photo/calm-handsome-curly-haired-boy-posing-isolated-light-grey-standing-still-looks-peaceful-wearing-casual-manner-youth-style-concept_176532-8831.jpg', - text: "Как же я рад, что нашел эту сухую мойку! Моя машина сияет, как новенькая! 🌟 Сначала был скептически настроен, думал, как же без воды можно отмыть всё это? Но результат превзошёл все ожидания! Ветеринар мойки профессионально подошёл к делу, и она теперь выглядит потрясающе. Если вы хотите, чтобы ваш автомобиль всегда выглядел на 100%, обязательно попробуйте!" - }, - { - firstname: 'Алексей', - lastname: 'Сидоров', - picture: 'https://img.freepik.com/free-photo/waist-up-portrait-handsome-serious-unshaven-male-keeps-hands-together-dressed-dark-blue-shirt-has-talk-with-interlocutor-stands-against-white-wall-self-confident-man-freelancer_273609-16320.jpg', - text: "Сухая мойка автомобилей - интересное решение, которое я опробовал недавно. В целом остался доволен качеством работы. Однако, не все загрязнения удалось удалить с первого раза, но сотрудник предложил дополнительные услуги, что меня устроило. Плюс, большое внимание уделили защите поверхности, что тоже немаловажно. Думаю, в следующий раз снова воспользуюсь этой услугой." - }, - { - firstname: 'Екатерина', - lastname: 'Иванова', - picture: 'https://img.freepik.com/free-photo/portrait-young-blonde-woman-with-plait-polka-dot-blouse_273609-10490.jpg', - text: "К сожалению, мой опыт с сухой мойкой автомобилей оказался неудачным. Ожидала увидеть чистую машину после процедуры, но многие участки остались незаделанными. Кроме того, процедура заняла больше времени, чем мне обещали. Возможно, в этом конкретном центре что-то пошло не так, но я бы не стала повторно обращаться за этой услугой." - }, -].map((data, i) => ({ id: `review${i}`, ...data })); - -export const mockOrders: Order.View[] = [ - { id: 'id1' }, - { id: 'id2' }, - { id: 'id3' }, -]; \ No newline at end of file +export * as mockOrder from './order'; +export * as mockReview from './review'; \ No newline at end of file diff --git a/src/mocks/landing/order.ts b/src/mocks/landing/order.ts new file mode 100644 index 0000000..8c14c81 --- /dev/null +++ b/src/mocks/landing/order.ts @@ -0,0 +1,7 @@ +import { Order } from "../../models"; + +export const orders: Order.View[] = [ + { id: 'id1' }, + { id: 'id2' }, + { id: 'id3' }, +]; \ No newline at end of file diff --git a/src/mocks/landing/review.ts b/src/mocks/landing/review.ts new file mode 100644 index 0000000..ef9f90b --- /dev/null +++ b/src/mocks/landing/review.ts @@ -0,0 +1,64 @@ +import { LANGUAGES, Review } from "../../models"; + +const addId = (items) => items.map((data, i) => ({ id: `review${i}`, ...data })); + +const enReviews: Review.View[] = addId([ + { + firstname: 'Anna', + lastname: 'Smirnova', + picture: 'https://img.freepik.com/free-photo/indoor-portrait-beautiful-freckled-woman-with-dark-curly-hair-wears-fashionable-striped-shirt-rejoices-day-off-isolated-white-wall-curly-satisfied-woman-stands-indoor-alone_273609-15765.jpg', + text: "I recently used the services of a dry car wash and was extremely satisfied. The process was carried out professionally: the staff used high-quality products that did not damage the paintwork. I was especially impressed by the ability to wash the car without water, which not only saves resources, but also protects the environment. I recommend it to everyone who cares about their car and the environment!" + }, + { + firstname: 'Dmitry', + lastname: 'Petrov', + picture: 'https://img.freepik.com/free-photo/calm-handsome-curly-haired-boy-posing-isolated-light-grey-standing-still-looks-peaceful-wearing-casual-manner-youth-style-concept_176532-8831.jpg', + text: "I'm so glad I found this dry sink! My car is shining like new! 🌟 At first I was skeptical, I thought, how can you wash all this without water? But the result exceeded all expectations! Moika's veterinarian took a professional approach to the case, and she now looks amazing. If you want your car to always look 100%, be sure to try it!" + }, + { + firstname: 'Alexey', + lastname: 'Sidorov', + picture: 'https://img.freepik.com/free-photo/waist-up-portrait-handsome-serious-unshaven-male-keeps-hands-together-dressed-dark-blue-shirt-has-talk-with-interlocutor-stands-against-white-wall-self-confident-man-freelancer_273609-16320.jpg', + text: "Dry car washing is an interesting solution that I tried out recently. Overall, I was satisfied with the quality of the work. However, not all the impurities were removed the first time, but the employee offered additional services, which suited me. Plus, a lot of attention was paid to surface protection, which is also important. I think I'll use this service again next time." + }, + { + firstname: 'Ekaterina', + lastname: 'Ivanova', + picture: 'https://img.freepik.com/free-photo/portrait-young-blonde-woman-with-plait-polka-dot-blouse_273609-10490.jpg', + text: "Unfortunately, my experience with dry car washing turned out to be unsuccessful. I expected to see a clean car after the procedure, but many areas remained undone. Besides, the procedure took longer than I was promised. Perhaps something went wrong in this particular center, but I would not apply for this service again." + }, +]); + +const ruReviews: Review.View[] = addId([ + { + firstname: 'Анна', + lastname: 'Смирнова', + picture: 'https://img.freepik.com/free-photo/indoor-portrait-beautiful-freckled-woman-with-dark-curly-hair-wears-fashionable-striped-shirt-rejoices-day-off-isolated-white-wall-curly-satisfied-woman-stands-indoor-alone_273609-15765.jpg', + text: "Недавно воспользовалась услугами сухой мойки автомобилей и осталась крайне удовлетворена. Процесс был проведён профессионально: сотрудники использовали качественные средства, которые не повредили лакокрасочное покрытие. Особенно впечатлила возможность мыть машину без воды, что не только экономит ресурсы, но и бережет окружающую среду. Рекомендую всем, кто заботится о своём автомобиле и экологии!" + }, + { + firstname: 'Дмитрий', + lastname: 'Петров', + picture: 'https://img.freepik.com/free-photo/calm-handsome-curly-haired-boy-posing-isolated-light-grey-standing-still-looks-peaceful-wearing-casual-manner-youth-style-concept_176532-8831.jpg', + text: "Как же я рад, что нашел эту сухую мойку! Моя машина сияет, как новенькая! 🌟 Сначала был скептически настроен, думал, как же без воды можно отмыть всё это? Но результат превзошёл все ожидания! Ветеринар мойки профессионально подошёл к делу, и она теперь выглядит потрясающе. Если вы хотите, чтобы ваш автомобиль всегда выглядел на 100%, обязательно попробуйте!" + }, + { + firstname: 'Алексей', + lastname: 'Сидоров', + picture: 'https://img.freepik.com/free-photo/waist-up-portrait-handsome-serious-unshaven-male-keeps-hands-together-dressed-dark-blue-shirt-has-talk-with-interlocutor-stands-against-white-wall-self-confident-man-freelancer_273609-16320.jpg', + text: "Сухая мойка автомобилей - интересное решение, которое я опробовал недавно. В целом остался доволен качеством работы. Однако, не все загрязнения удалось удалить с первого раза, но сотрудник предложил дополнительные услуги, что меня устроило. Плюс, большое внимание уделили защите поверхности, что тоже немаловажно. Думаю, в следующий раз снова воспользуюсь этой услугой." + }, + { + firstname: 'Екатерина', + lastname: 'Иванова', + picture: 'https://img.freepik.com/free-photo/portrait-young-blonde-woman-with-plait-polka-dot-blouse_273609-10490.jpg', + text: "К сожалению, мой опыт с сухой мойкой автомобилей оказался неудачным. Ожидала увидеть чистую машину после процедуры, но многие участки остались незаделанными. Кроме того, процедура заняла больше времени, чем мне обещали. Возможно, в этом конкретном центре что-то пошло не так, но я бы не стала повторно обращаться за этой услугой." + }, +]); + +const reviewsMapByLocale: Record = { + [LANGUAGES.en]: enReviews, + [LANGUAGES.ru]: ruReviews +}; + +export const getReviewsByLocale = (locale: string) => reviewsMapByLocale[locale]; \ No newline at end of file diff --git a/src/models/i18n.ts b/src/models/i18n.ts new file mode 100644 index 0000000..bf3fda6 --- /dev/null +++ b/src/models/i18n.ts @@ -0,0 +1,4 @@ +export const enum LANGUAGES { + en = 'en', + ru = 'ru' +} \ No newline at end of file diff --git a/src/models/index.ts b/src/models/index.ts index 21468eb..ddf5c34 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -1 +1,3 @@ -export * as Order from './order'; \ No newline at end of file +export * from './i18n'; +export * as Order from './order'; +export * as Review from './review'; \ No newline at end of file diff --git a/src/models/review.ts b/src/models/review.ts new file mode 100644 index 0000000..7a82321 --- /dev/null +++ b/src/models/review.ts @@ -0,0 +1,9 @@ +export type Id = string; + +export type View = { + id: Id; + firstname: string; + lastname: string; + picture: URL['href']; + text: string; +}; \ No newline at end of file