Skip to content

Сервисы. Реализация комментирования товара и перенос мультиязычности в сервис.#351

Open
VNagorniy wants to merge 2 commits intoylabio:lecture-5from
VNagorniy:lecture-5
Open

Сервисы. Реализация комментирования товара и перенос мультиязычности в сервис.#351
VNagorniy wants to merge 2 commits intoylabio:lecture-5from
VNagorniy:lecture-5

Conversation

@VNagorniy
Copy link
Copy Markdown

  1. На страницу товара добавлены пользовательские комментарии. Комментарии отображаются сразу все в виде иерархии. В каждом комментарии имя автора, дата, текст и ссылка для ответа на комментарий. Ответить или написать новый комментарий может только авторизованный пользователь. Для неавторизованного вывести текст “Войдите, чтобы иметь возможность комментировать”.
    Форма для написания нового комментария показывается в самом низу под всеми комментариями. А форма ответа на комментарий под соответствующем комментарием, но после существующих веток ответов. Одновременно отображается только одна форма.

  2. Логика с мультиязычностью была перенесена в новый сервис I18n.

При изменении языка, I18n сервис: обновляет внутреннее состояние, напрямую устанавливает заголовки в API сервисе. Это решение следует принципу "Single Responsibility" - I18n сервис отвечает за управление языком во всем приложении.
Текущие проблемы: I18n знает внутренние детали API сервиса (названия заголовков), а также есть сильная связь между сервисом и API, еще нет единого места конфигурации языковых настроек.
Идеи на улучшение: можно добавить возможность локального переопределения языка для конкретных API запросов, вынести языковую конфигурацию в config и добавить валидацию языков.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant