Add community details page
Что сделано
Реализована страница просмотра сообщества.
Страница сообщества
- Добавлено отображение:
- баннера;
- аватара;
- названия сообщества;
- подписчиков;
- тем;
- описания;
- постов сообщества.
- Добавлена загрузка выбранного сообщества через NgRx.
- Добавлена загрузка списка подписчиков сообщества.
- Создание поста доступно только владельцу сообщества.
Router
- Для получения id сообщества используется input компонента.
- Параметр маршрута передаётся в компонент через
withComponentInputBinding.
Посты
-
PostFeedComponentсделан переиспользуемым:- принимает список постов через input;
- не работает напрямую со Store;
- передаёт создание поста, комментария и удаление поста через outputs.
- Существующая лента постов переиспользуется на странице профиля и странице сообщества.
Создание постов и комментариев
- На странице сообщества обработаны события
PostFeedComponent. - При создании поста передаётся
communityId. - После успешного создания новый пост добавляется в текущую ленту сообщества.
- После создания комментария обновляются комментарии соответствующего поста.
- После удаления пост удаляется из ленты сообщества.
- Для операций используются существующие NgRx actions/effects постов.
Аватары
- При создании поста в сообществе отображается аватар сообщества.
- При создании комментария отображается аватар текущего пользователя.