Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IOS-7874 make fix space for title header #3970

Merged

Conversation

skibinalexander
Copy link
Contributor

В рамках изменения дизайна, дизайнеры заменили по своим компонентам отступы и попросили привести все порядок.

На данный компонент использовался на трех экранах насколько я понимаю:

  1. Organize Tokens
  2. Markets Token Detail
  3. Markets Token Selector

@Andoran90 вероятно по МР будем обсуждать, но лейоут насколько вижу точно был не совсем такой, как требует дизайн, поэтому пришлось вносить правки

Есть специфай хедеры которые не легли в CommonHeader

Copy link
Contributor

@Andoran90 Andoran90 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

приложи скрины тех мест, где были изменения. Кажется что могут быть неправильная верстка

}
.defaultRoundedBackground(with: Colors.Background.action, horizontalPadding: Constants.backgroundHorizontalPadding)
.defaultRoundedBackground(with: Colors.Background.action, verticalPadding: .zero, horizontalPadding: Constants.backgroundHorizontalPadding)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

какой смысл этих правок? vertiticalPadding = 12, тут удаляется паддинг, добавляется в заголовок сверху отдельный паддинг, отдельный в LazyVGrid... по коду не вижу вообще никакого смысла этих правок

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

какой смысл этих правок? vertiticalPadding = 12, тут удаляется паддинг, добавляется в заголовок сверху отдельный паддинг, отдельный в LazyVGrid... по коду не вижу вообще никакого смысла этих правок

Если посмотреть отступы в фигме, то сейчас они соответствуют отступам дизайна

}

private var header: some View {
HStack {
HStack(alignment: .center) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

по умолчанию - .center, зачем это добавлять?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

по умолчанию - .center, зачем это добавлять?

Возможно лишнее , но вообще много тоже где пишем, уберу

Comment on lines 14 to 16
private(set) var title: String
private(set) var button: ButtonInput
private(set) var action: (() -> Void)?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

зачем тут private(set)? они же не могут изменяться изнутри. это все let не приватные должны быть

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

зачем тут private(set)? они же не могут изменяться изнутри. это все let не приватные должны быть

Хотел заприватить, оставлю let, просто по последним МР часто стали писать так

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ну так норм писать во вью моделях, но не во вьюхах, во вьюхах вообще смысла нет, это надо чтобы функции были mutating и изнутри менять что-то, вьюха почти всегда просто показывает что ей дали

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ну так норм писать во вью моделях, но не во вьюхах, во вьюхах вообще смысла нет, это надо чтобы функции были mutating и изнутри менять что-то, вьюха почти всегда просто показывает что ей дали

Да, согласен, убрал


/// This is a common component of the system design - a common header + button.
/// Required due to specific dimensions
struct CommonHeaderTitleButtonView: View {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вообще не понимаю смысла этой вьюхи, она используется в одном месте

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вообще не понимаю смысла этой вьюхи, она используется в одном месте

Ответ в целом простой, это компонент DS со специфичными отступами, сейчас юзается в одном месте, но по сути это компонент же

Comment on lines 72 to 73
@Binding var isDisabled: Bool
@Binding var isLoading: Bool
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

биндинги нужны только в случае двухсторонней связи - когда изнутри значение может меняться, а тут оно не меняется, а просто передается. Поэтому let должно быть достаточно.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

биндинги нужны только в случае двухсторонней связи - когда изнутри значение может меняться, а тут оно не меняется, а просто передается. Поэтому let должно быть достаточно.

Да, согласен оверхед

/// This is a common component of the system design - a common header + button.
/// Required due to specific dimensions
struct CommonHeaderTitleView: View {
private(set) var title: String
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

private(set) var тут не нужен.

Вообще не выглядит как нужная вьюха, т.к. она не так много где используется, в инайтах там есть действие на заголовке, получается оно используется в двух местах и из-за этого сейчас переделывается верстка, чтобы подогнать другие отступы. Не понимаю смысла всех этих правок. Пока что выглядит что из-за правок в дизайне можно обновить точечно отступы.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

private(set) var тут не нужен.

Вообще не выглядит как нужная вьюха, т.к. она не так много где используется, в инайтах там есть действие на заголовке, получается оно используется в двух местах и из-за этого сейчас переделывается верстка, чтобы подогнать другие отступы. Не понимаю смысла всех этих правок. Пока что выглядит что из-за правок в дизайне можно обновить точечно отступы.

Ну ответ тут тоже простой, есть компонент, дизайнеры сделали специфичными отступы, полагая что это компонент из фирмы, использование его будет расти, ну и как раз получается, чтобы не выставлять отступы по месту везде, проставить в одном месте и забыть про них

@skibinalexander
Copy link
Contributor Author

RPReplay_Final1727771772.MP4

@Andoran90
Copy link
Contributor

немного странно заголовки выглядят, как будто слишком большие дыры под ними. Ты же сопоставлял с дизайном?

@skibinalexander
Copy link
Contributor Author

немного странно заголовки выглядят, как будто слишком большие дыры под ними. Ты же сопоставлял с дизайном?

Сопоставлял, ага, приложу скрин наложения

Comment on lines 45 to 53
HStack {
Text(Localization.marketsTokenDetailsLow)
.style(Fonts.Regular.footnote, color: Colors.Text.tertiary)

ProgressView(value: viewModel.pricePerformanceProgress)
.progressViewStyle(TangemProgressViewStyle(
height: 6,
backgroundColor: Colors.Background.tertiary,
progressColor: Colors.Text.accent
))
.animation(.default, value: viewModel.pricePerformanceProgress)
Spacer(minLength: 8)

HStack {
Text(viewModel.lowValue)
.style(Fonts.Regular.callout, color: Colors.Text.primary1)
.animation(.default, value: viewModel.lowValue)
Text(Localization.marketsTokenDetailsHigh)
.style(Fonts.Regular.footnote, color: Colors.Text.tertiary)
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

если делать компонент и отдельно в него выносить, то посмотри как сделан NavigationBar и добавь, пожалуйста, тоже TrailingItem для заголовка, чтобы у нас не было куча вариантов. Можно сделать инициализатор, который будет принимать @ViewBuilder для доп.вьюхи и не надо будет везде копипастить код для заголовка и будет единообразно сделано

Copy link
Contributor Author

@skibinalexander skibinalexander Oct 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NavigationBar

Да окей посмотрю, попробую переделать, просто вьюха с количеством настроек как у костюма астронавта тоже на мой взгляд странное решение, в DS явно обрисовали 3 вида компонента схожего по смыслу, зачем нам стараться объединить в один, чтобы избежать копиписасты в Text("") чтобы не смущала только копипаста, на мой взгляд тоже так себе, потому как, чтобы внести изменения , надо весь дизайн где юзается вьюха перетестировать, пример как раз шторка с описанием для маркетсов и стейкинга

@skibinalexander
Copy link
Contributor Author

Screenshot 2024-10-02 at 15 08 58 Screenshot 2024-10-02 at 15 09 44 Screenshot 2024-10-02 at 15 10 35 Screenshot 2024-10-02 at 15 11 45


/// This is a common component of the system design - a common header + button.
/// Required due to specific dimensions
struct BlockHeaderTitleButtonView: View {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Andoran90 пока оставил эту вьюшку, не вижу пока смысла ее удалять, так как есть такое компонент, просто внутри заюзал компонент заголовка чтобы не смущало дублирование строки

Copy link
Collaborator

@tureck1y tureck1y left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Внимательно не смотрел, проверь плиз наложением макета

@skibinalexander skibinalexander merged commit 0c821f7 into develop Oct 3, 2024
3 checks passed
@skibinalexander skibinalexander deleted the feature/IOS-7874_make_fix_space_for_title_header branch October 3, 2024 09:07
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.

4 participants