mirror of
https://git.meshkee.com/Meshkee/dashboards.git
synced 2026-08-11 22:30:58 +04:30
Fix modal backdrop blur by applying filter on the overlay itself.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor
parent
e6670ed06f
commit
656fc57494
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: var(--modal-overlay-bg);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: var(--modal-overlay-bg);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.modal {
|
.modal {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 520px;
|
max-width: 520px;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: var(--modal-overlay-bg);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: var(--modal-overlay-bg);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.modal {
|
.modal {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 480px;
|
max-width: 480px;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: var(--modal-overlay-bg);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: var(--modal-overlay-bg);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.modal {
|
.modal {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: rgba(127, 29, 29, 0.28);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: rgba(127, 29, 29, 0.28);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.modal {
|
.modal {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
|
||||||
z-index: 300;
|
z-index: 300;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -9,21 +8,11 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 16px;
|
gap: 16px;
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: rgba(15, 23, 42, 0.82);
|
background: rgba(15, 23, 42, 0.82);
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.closeBtn {
|
.closeBtn {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 20px;
|
top: 20px;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: var(--modal-overlay-bg);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: var(--modal-overlay-bg);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.modal {
|
.modal {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 640px;
|
max-width: 640px;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: var(--modal-overlay-bg);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: var(--modal-overlay-bg);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.overlayNested {
|
.overlayNested {
|
||||||
z-index: 1010;
|
z-index: 1010;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
--glass-shadow: 0 8px 32px rgba(31, 38, 135, 0.08);
|
--glass-shadow: 0 8px 32px rgba(31, 38, 135, 0.08);
|
||||||
--blur-glass: 28px;
|
--blur-glass: 28px;
|
||||||
--modal-overlay-bg: rgba(15, 23, 42, 0.4);
|
--modal-overlay-bg: rgba(15, 23, 42, 0.4);
|
||||||
--modal-overlay-blur: 12px;
|
--modal-overlay-blur: 16px;
|
||||||
--text-primary: #1e293b;
|
--text-primary: #1e293b;
|
||||||
--text-secondary: #64748b;
|
--text-secondary: #64748b;
|
||||||
--text-muted: #94a3b8;
|
--text-muted: #94a3b8;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: var(--modal-overlay-bg);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: var(--modal-overlay-bg);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.overlayNested {
|
.overlayNested {
|
||||||
z-index: 210;
|
z-index: 210;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: rgba(127, 29, 29, 0.28);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: rgba(127, 29, 29, 0.28);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.modal {
|
.modal {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: var(--modal-overlay-bg);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: var(--modal-overlay-bg);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.modal {
|
.modal {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 520px;
|
max-width: 520px;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
--radius-sm: 12px;
|
--radius-sm: 12px;
|
||||||
--blur-glass: 28px;
|
--blur-glass: 28px;
|
||||||
--modal-overlay-bg: rgba(15, 23, 42, 0.4);
|
--modal-overlay-bg: rgba(15, 23, 42, 0.4);
|
||||||
--modal-overlay-blur: 12px;
|
--modal-overlay-blur: 16px;
|
||||||
--select-arrow-size: 16px;
|
--select-arrow-size: 16px;
|
||||||
--select-arrow-offset: 12px;
|
--select-arrow-offset: 12px;
|
||||||
--select-padding-end: 2.5rem;
|
--select-padding-end: 2.5rem;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
--glass-shadow: 0 8px 32px rgba(31, 38, 135, 0.08);
|
--glass-shadow: 0 8px 32px rgba(31, 38, 135, 0.08);
|
||||||
--blur-glass: 28px;
|
--blur-glass: 28px;
|
||||||
--modal-overlay-bg: rgba(15, 23, 42, 0.4);
|
--modal-overlay-bg: rgba(15, 23, 42, 0.4);
|
||||||
--modal-overlay-blur: 12px;
|
--modal-overlay-blur: 16px;
|
||||||
--text-primary: #1e293b;
|
--text-primary: #1e293b;
|
||||||
--text-secondary: #64748b;
|
--text-secondary: #64748b;
|
||||||
--text-muted: #94a3b8;
|
--text-muted: #94a3b8;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
isolation: isolate;
|
background: var(--modal-overlay-bg);
|
||||||
background: transparent;
|
backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
|
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -10,19 +11,6 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tint + blur on ::before so opacity animations on .overlay cannot disable backdrop-filter. */
|
|
||||||
.overlay::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
z-index: -1;
|
|
||||||
pointer-events: none;
|
|
||||||
background: var(--modal-overlay-bg);
|
|
||||||
backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
-webkit-backdrop-filter: blur(var(--modal-overlay-blur));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.modal {
|
.modal {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
Reference in New Issue
Block a user