2013-09-06 03:37:07 +08:00
|
|
|
// base styles for every modal popup used in Discourse
|
|
|
|
|
2024-03-22 23:29:32 +08:00
|
|
|
// prevents bg scrolling when modal is open
|
|
|
|
html:has(.d-modal) {
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
|
|
|
|
|
|
|
html.keyboard-visible.mobile-view {
|
|
|
|
.d-modal {
|
|
|
|
max-height: calc(var(--composer-vh, var(--1dvh)) * 100);
|
|
|
|
height: calc(var(--composer-vh, var(--1dvh)) * 100);
|
|
|
|
bottom: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.d-modal__container {
|
|
|
|
max-height: calc(var(--composer-vh, var(--1dvh)) * 100);
|
|
|
|
height: calc(var(--composer-vh, var(--1dvh)) * 100);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
html:not(.keyboard-visible.mobile-view) {
|
|
|
|
.d-modal__container {
|
|
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-11-15 18:14:47 +08:00
|
|
|
.d-modal {
|
2024-03-22 23:29:32 +08:00
|
|
|
align-items: flex-end;
|
|
|
|
|
2023-11-15 18:14:47 +08:00
|
|
|
&__container {
|
2024-03-22 23:29:32 +08:00
|
|
|
// this is a hack to prevent issues on safari with transforms
|
|
|
|
position: fixed;
|
|
|
|
|
2023-11-15 18:14:47 +08:00
|
|
|
width: 100%;
|
|
|
|
max-width: 100%;
|
2024-03-22 23:29:32 +08:00
|
|
|
max-height: calc(var(--composer-vh, var(--1dvh)) * 85);
|
|
|
|
will-change: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
&__header {
|
|
|
|
padding: 0.5rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ios-device & {
|
|
|
|
&__footer {
|
|
|
|
margin-top: auto;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&__title-text {
|
|
|
|
font-size: var(--font-up-1-rem);
|
2023-11-15 18:14:47 +08:00
|
|
|
}
|
2023-11-21 00:56:06 +08:00
|
|
|
|
|
|
|
// fixes modal placement on Android when keyboard is visible
|
|
|
|
html.keyboard-visible:not(.ios-device) & {
|
|
|
|
height: calc(100% - env(keyboard-inset-height));
|
|
|
|
|
|
|
|
.d-modal__container {
|
|
|
|
max-height: 100%;
|
2024-03-22 23:29:32 +08:00
|
|
|
min-height: 100%;
|
|
|
|
height: 100%;
|
2023-11-21 00:56:06 +08:00
|
|
|
}
|
|
|
|
}
|
2023-11-15 18:14:47 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
//legacy
|
2018-06-08 17:49:31 +08:00
|
|
|
.modal-open #main {
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
2014-03-13 11:17:18 +08:00
|
|
|
|
2013-09-06 03:37:07 +08:00
|
|
|
.modal-middle-container {
|
2014-03-07 12:55:57 +08:00
|
|
|
max-width: 100%;
|
2014-03-26 02:48:23 +08:00
|
|
|
margin-bottom: 30px; // For iOS Safari issues
|
2013-09-06 03:37:07 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
// Hardcode to be the same as before for now. I would recommend not using bootbox, or finding a way so the html structure can be the same
|
|
|
|
.bootbox.modal {
|
|
|
|
top: 10%;
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
2020-02-22 04:44:34 +08:00
|
|
|
.modal {
|
|
|
|
&.fade {
|
|
|
|
transition: opacity 0.3s linear, top 0.3s ease-out;
|
|
|
|
top: -25%;
|
|
|
|
}
|
|
|
|
&.fade.in {
|
|
|
|
top: 50%;
|
|
|
|
}
|
|
|
|
.modal-body {
|
2020-02-20 00:08:15 +08:00
|
|
|
padding: 0.667em;
|
2021-08-23 16:44:19 +08:00
|
|
|
overflow-y: scroll;
|
|
|
|
|
2020-02-22 04:44:34 +08:00
|
|
|
> * {
|
|
|
|
// adding box-sizing: border-box; to .modal-body causes iOS dropdown issues
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
2020-02-20 00:08:15 +08:00
|
|
|
}
|
2013-09-06 03:37:07 +08:00
|
|
|
}
|
2014-04-21 03:16:06 +08:00
|
|
|
|
2014-06-19 02:04:10 +08:00
|
|
|
.close {
|
2022-10-12 21:31:59 +08:00
|
|
|
font-size: var(--font-up-4);
|
2014-06-19 02:04:10 +08:00
|
|
|
}
|
2013-09-06 03:37:07 +08:00
|
|
|
|
2017-09-15 03:18:55 +08:00
|
|
|
@media only screen and (max-device-width: 568px) {
|
2024-02-23 22:14:37 +08:00
|
|
|
.flag-modal-body .flag-message {
|
2018-02-24 10:41:40 +08:00
|
|
|
height: 3em;
|
2017-09-15 03:18:55 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-25 00:23:51 +08:00
|
|
|
/* fix for tall modals */
|
|
|
|
|
|
|
|
.fixed-modal {
|
|
|
|
.modal-middle-container {
|
|
|
|
margin-bottom: 0;
|
|
|
|
}
|
|
|
|
.modal-inner-container {
|
|
|
|
max-height: 90vh;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
2020-06-18 02:46:01 +08:00
|
|
|
|
|
|
|
&.insert-hyperlink-modal .modal-inner-container {
|
|
|
|
overflow: visible;
|
|
|
|
}
|
2023-01-20 19:23:19 +08:00
|
|
|
|
|
|
|
html.keyboard-visible:not(.ios-device) & {
|
|
|
|
height: calc(100% - env(keyboard-inset-height));
|
|
|
|
|
|
|
|
.modal-inner-container {
|
|
|
|
margin: auto;
|
|
|
|
}
|
|
|
|
}
|
2019-06-25 00:23:51 +08:00
|
|
|
}
|