surfstudio / ReactiveDataDisplayManager

MIT License
34 stars 13 forks source link

SPT-1362 Создать ячейку сообщения #221

Closed Golubeykov closed 1 year ago

Golubeykov commented 1 year ago

SPT-1362

Что сделано?

Создал переиспользуемую ячейку сообщения со следующими параметрами конфигурации:

Внутри MessageView используется созданная ранее LabelView.

Зачем это сделано?

Данный компонент будет использоваться в прототипе чата с нативной версткой

На что обратить внимание

1) Сделал конфигурацию текста только через String. Без NSAttributedString. Подумал, что из-за вложенности MessageView, который конфигурируется по-своему, конфигурация может показаться усложненной. Хотя вот сейчас пишу и думаю, что может и норм. Что думаете? Добавить поддержку NSAttributed, по аналогии с LabelView? 2) Сделал закругления с радиусом, которое мне показалось норм. И добавил обводку. Может тоже добавить это в конфигурацию? Или усложним? Что думаете?

Как протестировать?

1) Таб Table 2) Table with custom components

Демо

github-actions[bot] commented 1 year ago
Warnings
:warning: Oops! We have found some issues. It's better to fix them to keep code clean

SwiftLint found issues

Severity File Reason
Warning ComponentsOverviewTableViewController.swift:90 Multiline literals should have their surrounding brackets in a new line. (multiline_literal_brackets)
Warning ComponentsOverviewTableViewController.swift:92 Multiline literals should have their surrounding brackets in a new line. (multiline_literal_brackets)

Generated by :no_entry_sign: Danger Swift against 6cd670d49a3e88a5bb4d24a3a53d2d2b629d20d1

NullIsOne commented 1 year ago

Добавить поддержку NSAttributed, по аналогии с LabelView?

Да. Одно из частых требований в чатах это подсветка ссылок и телефонов. C Attributed + TextView это проще сделать.

Сделал закругления с радиусом, которое мне показалось норм. И добавил обводку. Может тоже добавить это в конфигурацию? Или усложним? Что думаете?

Однозначно выводить в конфигурацию. Причем скругления могут быть только с 3х сторон. А еще иногда рисуют такой бабл, который только через Image растягиваемый можно сделать. (это не модно но хорошо бы тоже поддержать)

codecov-commenter commented 1 year ago

Codecov Report

Patch coverage has no change and project coverage change: +1.66 :tada:

Comparison is base (ebe413a) 69.68% compared to head (3f22694) 71.34%.

:exclamation: Current head 3f22694 differs from pull request most recent head 6cd670d. Consider uploading reports for the commit 6cd670d to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #221 +/- ## =========================================== + Coverage 69.68% 71.34% +1.66% =========================================== Files 141 141 Lines 4153 4153 Branches 1876 1875 -1 =========================================== + Hits 2894 2963 +69 + Misses 1161 1083 -78 - Partials 98 107 +9 ``` | Flag | Coverage Δ | | |---|---|---| | uitests | `58.84% <ø> (+1.66%)` | :arrow_up: | | unittests | `39.73% <ø> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio#carryforward-flags-in-the-pull-request-comment) to find out more. [see 6 files with indirect coverage changes](https://app.codecov.io/gh/surfstudio/ReactiveDataDisplayManager/pull/221/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=surfstudio)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

NullIsOne commented 1 year ago

Исключил MessageView из билда для tvOs, потому что для tvOs мы не можем использовать isEditable из-за чего сборка падает. Возможно для универсальности надо будет заменить внутренний TextView на что-то более низкоуровневое типа textContainer+ textLayout...