Skip to content

feat(select): add header to fullscreen select #148

Merged
merged 2 commits into from
Jul 10, 2017
Merged

feat(select): add header to fullscreen select #148

merged 2 commits into from
Jul 10, 2017

Conversation

artptr
Copy link
Contributor

@artptr artptr commented Jul 6, 2017

Мотивация и контекст

В режиме mobileMenuMode='popup' стоит предусмотреть возможность отменить операцию выбора. Вдобавок можем показать пользователю поясняющий заголовок.

default

@GREENpoint
Copy link
Member

Привет. Спасибо! Очень классная идея. Я бы только попросил по-другому построить интерфейс более гибко: завести у Popup проп header, который и будет у любого Popup реализовывать возможность вставлять контент в шапку Popup-а.

@GREENpoint
Copy link
Member

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

2017-07-07 16 27 06


&__mobile-title {
font-weight: var(--font-weight-medium);
line-height: 1.4;
Copy link
Member

Choose a reason for hiding this comment

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

@teryaew здесь не переменная случаем?

Copy link
Contributor

Choose a reason for hiding this comment

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

@artptr плиз используй что-либо из двух вариантов line-height в переменных. У заголовков как правило это -condensed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Выбрал line-height-normal. Кажется, так смотрится более оптимально.

<div
className={ cn('mobile-header', {
size: this.props.size,
theme: this.props.theme
Copy link
Member

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.

Да, это теперь лишнее

icon='close'
/>
<div className={ cn('mobile-title') }>
{ this.props.mobileTitle || this.props.placeholder }
Copy link
Member

Choose a reason for hiding this comment

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

Крутая идея!

@@ -102,6 +102,8 @@ class Select extends React.Component {
error: Type.node,
/** Управление нативным режимом на мобильных устройствах **/
mobileMenuMode: Type.oneOf(['native', 'popup']),
/** Подсказка над меню в мобильном режиме **/
mobileTitle: Type.string,
Copy link
Member

Choose a reason for hiding this comment

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

Имхо node.

@tx44
Copy link
Contributor

tx44 commented Jul 7, 2017

@artptr дизайн пунктов меню в попапе довольно сырой, хотя это по большей части относится ко всем спискам внутри селектов. Завёл отдельную задачу про это. Сейчас только предложил бы сразу closer в левом, а не правом углу разместить — мы размещаем или планируем размещать подобные контролы именно так.

@Heymdall
Copy link
Member

Heymdall commented Jul 7, 2017

@teryaew а вот про крестики как то непонятно. Размещать на мобилке контролы в левом углу - на мой взгляд издевательство. Этот угол просто недосягаем в принципе при нормальном использовании. Да и в большинстве мест крестик все таки справа

@artptr
Copy link
Contributor Author

artptr commented Jul 7, 2017

К слову в режиме webview слева вверху по идее размещена кнопка возврата в нативное приложение. Получается неудобное соседство.

@tx44
Copy link
Contributor

tx44 commented Jul 7, 2017

@Heymdall
Поскольку мы мимикрируем под мобильные платформы, то там это устоявшийся паттерн. На десктопе у тебя сейчас скорее всего тоже контролы управления окном/истории в этом же углу.

@artptr
Copy link
Contributor Author

artptr commented Jul 8, 2017

А в какой мобильной ОС крестик слева? И десктопную macOS за образец брать нельзя, там есть мышка или тачпад, управление сильно отличается от тача.

@tx44
Copy link
Contributor

tx44 commented Jul 8, 2017

@artptr в любых из двух. Вопрос не про крестик, а про паттерн возврата назад по сути. Посмотри плиз примеры App Bar из Material или Navigation Bar в iOS HIG.

@tx44
Copy link
Contributor

tx44 commented Jul 8, 2017

@artptr @Heymdall этот вопрос обсуждался пару-тройку месяцев назад с дизайнерами, по идее они все сейчас рисуют подобные вещи таким образом.

@GREENpoint
Copy link
Member

@teryaew @Heymdall как насчет сейчас влить этот пулл. А вопрос про размещения крестика обсудить отдельно?

@tx44 tx44 merged commit fb9e804 into alfa-laboratory:master Jul 10, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants