feat: improve responsive admin experience
This commit is contained in:
+1
-1
File diff suppressed because one or more lines are too long
@@ -184,6 +184,107 @@
|
||||
border-color: rgba(0, 94, 184, .22);
|
||||
border-top-color: #005EB8;
|
||||
}
|
||||
|
||||
/* Authentication-specific controls, compiled with the shared Tailwind bundle. */
|
||||
.password-toggle {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: .75rem;
|
||||
display: inline-flex;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transform: translateY(-50%);
|
||||
border: 0;
|
||||
border-radius: .5rem;
|
||||
background: transparent;
|
||||
color: #64748b;
|
||||
padding: 0;
|
||||
transition: background-color .15s ease, color .15s ease;
|
||||
}
|
||||
|
||||
.password-toggle:hover {
|
||||
background: rgba(148, 163, 184, .16);
|
||||
color: #005EB8;
|
||||
}
|
||||
|
||||
.password-toggle:focus-visible {
|
||||
outline: 2px solid #005EB8;
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
.password-toggle:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: .45;
|
||||
}
|
||||
|
||||
.password-toggle .material-symbols-outlined {
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.auth-input-error {
|
||||
border-color: #dc2626 !important;
|
||||
background: #fff7f7 !important;
|
||||
box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important;
|
||||
}
|
||||
|
||||
.captcha-token {
|
||||
-webkit-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.dot-grid {
|
||||
background-image: radial-gradient(circle at 1px 1px, rgba(148, 163, 184, .30) 1.2px, transparent 0);
|
||||
background-size: 42px 42px;
|
||||
}
|
||||
|
||||
.panel-frame {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.gradient-board {
|
||||
background: linear-gradient(180deg, #2455a3 0%, #123e7d 100%);
|
||||
}
|
||||
|
||||
.auth-alert {
|
||||
pointer-events: none;
|
||||
top: max(1rem, env(safe-area-inset-top));
|
||||
right: auto;
|
||||
left: 50%;
|
||||
width: calc(100vw - 2rem);
|
||||
max-width: 26rem;
|
||||
max-height: calc(100dvh - 2rem);
|
||||
overflow-y: auto;
|
||||
opacity: 0;
|
||||
transform: translate(-50%, .5rem);
|
||||
}
|
||||
|
||||
.auth-alert::before {
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
left: 24px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
transform: rotate(45deg);
|
||||
border-top: 1px solid currentColor;
|
||||
border-left: 1px solid currentColor;
|
||||
background: #fff;
|
||||
color: #bfdbfe;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.auth-alert.is-error::before {
|
||||
color: #fecaca;
|
||||
}
|
||||
|
||||
.auth-alert.is-visible {
|
||||
pointer-events: auto;
|
||||
opacity: 1;
|
||||
transform: translate(-50%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
@@ -191,3 +292,23 @@
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1280px) {
|
||||
.auth-alert {
|
||||
width: 320px;
|
||||
max-width: calc(100vw - 2rem);
|
||||
transform: translateX(.75rem);
|
||||
}
|
||||
|
||||
.auth-alert::before {
|
||||
top: var(--auth-alert-arrow-top, 44px);
|
||||
left: -7px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid currentColor;
|
||||
border-left: 1px solid currentColor;
|
||||
}
|
||||
|
||||
.auth-alert.is-visible {
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<rect width="64" height="64" rx="14" fill="#005EB8"/>
|
||||
<path d="M32 10C25.5 19.1 18 27.3 18 37a14 14 0 1 0 28 0c0-9.7-7.5-17.9-14-27Z" fill="#fff"/>
|
||||
<path d="M24.5 39.5c0 4.1 3.4 7.5 7.5 7.5" fill="none" stroke="#005EB8" stroke-linecap="round" stroke-width="3.5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 338 B |
Reference in New Issue
Block a user