fix(frontend): scroll tall default modals instead of clipping their top
Centered default/hint-modal content used translate(-50%, -50%) with no height cap, so a taller-than-viewport modal (e.g. project background settings with the Unsplash grid) pushed its top edge above the viewport where the container's overflow can't reach it — the upload button became unreachable on short screens. Cap the centered content to the viewport and scroll inside it, mirroring the height limit the .top (quick actions) variant already has. The mobile breakpoint resets both so the fullscreen layout keeps flowing in .modal-container.
This commit is contained in:
parent
37a34cc5cf
commit
86ec62d10b
|
|
@ -272,6 +272,12 @@ $modal-width: 1024px;
|
|||
inset-block-start: 50%;
|
||||
inset-inline-start: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
// Cap centered content to the viewport and scroll inside it. Without this a
|
||||
// taller-than-viewport modal centres its top edge above the viewport, where
|
||||
// the container's overflow can't scroll to it (the .top variant overrides
|
||||
// both values below).
|
||||
max-block-size: calc(100dvh - 2rem);
|
||||
overflow: auto;
|
||||
|
||||
[dir="rtl"] & {
|
||||
transform: translate(50%, -50%);
|
||||
|
|
@ -281,6 +287,9 @@ $modal-width: 1024px;
|
|||
margin: 0;
|
||||
position: static;
|
||||
transform: none;
|
||||
// the fullscreen mobile layout flows and scrolls in .modal-container
|
||||
max-block-size: none;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
|
|
|
|||
Loading…
Reference in New Issue