Impersonation system implementation

This commit is contained in:
JakeBreath
2026-08-03 21:33:31 -05:00
parent 87b0d46232
commit 95acc9b8d2
12 changed files with 545 additions and 8 deletions
+85
View File
@@ -2625,3 +2625,88 @@ a.deletelink {
.autosave-status.saved { color: var(--md-sys-color-primary); }
.autosave-status.error { color: var(--md-sys-color-error); }
.autosave-status.idle { color: var(--md-sys-color-on-surface-variant); }
/* ========== Impersonation ========== */
.impersonate-chip {
display: inline-flex;
align-items: center;
gap: 6px;
margin-right: 8px;
padding: 3px 10px 3px 4px;
border-radius: 999px;
background: var(--md-sys-color-surface-variant);
border: 1px solid var(--md-sys-color-outline);
color: var(--md-sys-color-on-surface);
font-size: 0.72rem;
font-weight: 500;
text-decoration: none;
vertical-align: middle;
}
.impersonate-chip:hover {
border-color: var(--md-sys-color-primary);
color: var(--md-sys-color-primary);
}
.impersonate-chip img {
width: 22px;
height: 22px;
border-radius: 50%;
object-fit: cover;
}
.impersonate-chip .default-avatar.mini,
.default-avatar.mini {
width: 22px;
height: 22px;
font-size: 0.65rem;
flex: none;
}
.user-info {
padding: 4px 12px;
font-size: 0.75rem;
color: var(--md-sys-color-on-surface-variant);
}
.user-info a {
color: var(--md-sys-color-primary);
}
/* Users directory */
.user-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 16px;
}
.user-card {
display: flex;
align-items: center;
gap: 12px;
padding: 12px;
border-radius: 12px;
background: var(--md-sys-color-surface);
border: 1px solid var(--md-sys-color-outline-variant);
text-decoration: none;
color: inherit;
}
.user-card:hover {
border-color: var(--md-sys-color-primary);
}
.user-card-avatar {
width: 48px;
height: 48px;
flex: none;
border-radius: 50%;
overflow: hidden;
background: var(--md-sys-color-surface-variant);
}
.user-card-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.user-card-body h3 {
margin: 0 0 4px;
font-size: 0.95rem;
}
.user-card-meta {
margin: 0;
font-size: 0.75rem;
color: var(--md-sys-color-on-surface-variant);
}