Skip to content
This repository has been archived by the owner on Jul 28, 2024. It is now read-only.

[FRNT-579] fix modal styles #172

Merged
merged 13 commits into from
Jul 14, 2021
Merged

Conversation

ainursharaev
Copy link
Contributor

@ainursharaev ainursharaev commented Jul 12, 2021

Problem

Modal is not compatible with the design system

AS IS:

  • heading has the same size in modals of different widths
  • modal doesn't have min/max width constraints
  • paddings between title and content are not calculated correctly
  • wrong padding of the modal content
  • the closing icon of the modal has no states

TO BE:

  • reduce the size of the heading (consult with the designer)
  • set min/max width
  • paddings for the modal component are calculated by formulas (consult with the designer)
  • the padding between title and content is calculated by the formulae
  • the closing icon has states
  • the closing icon is aligned with the title (consult with the designer)
  • the icon is colored depending on the priority (consult with the designer)

src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
@risen228
Copy link

А можешь вкратце пояснить зачем программный "скролл лок"? Насколько помню я решал любые скроллы и прочее в модалках на уровне css

@ainursharaev
Copy link
Contributor Author

А можешь вкратце пояснить зачем программный "скролл лок"? Насколько помню я решал любые скроллы и прочее в модалках на уровне css

Я тоже делаю это на уровне css, просто вынес в отдельный хук. Если есть время, напиши свой альтернативный вариант

@ainursharaev
Copy link
Contributor Author

Зачем сделал хук, а не просто вешаю класс body.is-model-open { overflow: hidden }:

  • в Windows браузерах scrollbar съедает пространство у viewport. Когда у body ставится overflow: hidden, то scrollbar пропадает, и модалка "прыгает". В хук можно передать параметр reserveScrollBarGap, если он true, то у body добавится padding-right, который равен ширине скролла, чтобы предовратить этот флик.
  • он запоминает предыдущие стили у body перед тем, как заблокировать скролл, и возвращает их после разблокирования, поскольку у пользователя могли быть свои параметры overflow у body

Irinaristova
Irinaristova previously approved these changes Jul 14, 2021
rchubarkin
rchubarkin previously approved these changes Jul 14, 2021
src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
src/woly/molecules/modal/index.tsx Outdated Show resolved Hide resolved
src/woly/molecules/modal/use-scroll-lock.ts Outdated Show resolved Hide resolved
src/woly/molecules/modal/use-scroll-lock.ts Show resolved Hide resolved
Irinaristova
Irinaristova previously approved these changes Jul 14, 2021
risen228
risen228 previously approved these changes Jul 14, 2021
@risen228
Copy link

Зачем сделал хук, а не просто вешаю класс body.is-model-open { overflow: hidden }:

  • в Windows браузерах scrollbar съедает пространство у viewport. Когда у body ставится overflow: hidden, то scrollbar пропадает, и модалка "прыгает". В хук можно передать параметр reserveScrollBarGap, если он true, то у body добавится padding-right, который равен ширине скролла, чтобы предовратить этот флик.
  • он запоминает предыдущие стили у body перед тем, как заблокировать скролл, и возвращает их после разблокирования, поскольку у пользователя могли быть свои параметры overflow у body

Забавно, я всегда забивал на горизонтальные флики)

@ainursharaev ainursharaev dismissed stale reviews from risen228 and Irinaristova via b3ef170 July 14, 2021 12:39
@ainursharaev ainursharaev force-pushed the bug/FRNT-579-fix-modal-styles branch from 1178361 to b3ef170 Compare July 14, 2021 12:39
@ainursharaev ainursharaev force-pushed the bug/FRNT-579-fix-modal-styles branch from b3ef170 to 0a1edde Compare July 14, 2021 12:43
Irinaristova
Irinaristova previously approved these changes Jul 14, 2021
@ainursharaev ainursharaev merged commit ccbebf1 into master Jul 14, 2021
@ainursharaev ainursharaev deleted the bug/FRNT-579-fix-modal-styles branch July 14, 2021 12:59
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants