Build 2602260214: invites profiles and expiry admin controls

This commit is contained in:
2026-02-26 02:15:21 +13:00
parent 9be0ec75ec
commit f78382c019
14 changed files with 2795 additions and 31 deletions

View File

@@ -3895,3 +3895,237 @@ button:hover:not(:disabled) {
border-radius: 14px;
}
}
.admin-inline-actions {
display: inline-flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
}
.admin-split-grid {
display: grid;
grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
gap: 14px;
align-items: start;
}
.admin-panel {
border: 1px solid rgba(255, 255, 255, 0.06);
background: rgba(255, 255, 255, 0.02);
border-radius: 10px;
padding: 14px;
}
.admin-panel h2 {
margin: 0 0 6px;
font-size: 1rem;
}
.admin-panel .lede {
margin: 0 0 12px;
}
.compact-form {
gap: 12px;
}
.compact-form textarea {
min-height: 84px;
resize: vertical;
}
.admin-fields-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.inline-checkbox {
display: flex;
align-items: center;
gap: 8px;
}
.inline-checkbox input[type='checkbox'] {
width: 16px;
height: 16px;
}
.admin-list {
display: grid;
gap: 10px;
}
.admin-list-item {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 12px;
align-items: start;
border: 1px solid rgba(255, 255, 255, 0.06);
background: rgba(255, 255, 255, 0.015);
border-radius: 10px;
padding: 10px 12px;
}
.admin-list-item-main {
min-width: 0;
display: grid;
gap: 6px;
}
.admin-list-item-title-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
}
.admin-list-item-text {
margin: 0;
color: #d0d6df;
line-height: 1.35;
}
.admin-list-item-text--muted {
color: #9ea7b6;
}
.admin-meta-row {
display: flex;
flex-wrap: wrap;
gap: 10px;
color: #9ea7b6;
font-size: 0.83rem;
}
.small-pill {
display: inline-flex;
align-items: center;
padding: 2px 8px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.09);
background: rgba(255, 255, 255, 0.03);
font-size: 0.72rem;
color: #d0d6df;
}
.small-pill.is-muted {
color: #9ea7b6;
border-color: rgba(255, 255, 255, 0.06);
background: rgba(255, 255, 255, 0.015);
}
.invite-code {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
'Courier New', monospace;
padding: 3px 8px;
border-radius: 8px;
border: 1px solid rgba(111, 149, 198, 0.2);
background: rgba(111, 149, 198, 0.07);
color: #c8d7ec;
}
.invite-lookup-row {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 8px;
align-items: center;
}
.invite-summary {
display: grid;
gap: 8px;
border: 1px solid rgba(111, 149, 198, 0.18);
background: rgba(111, 149, 198, 0.06);
border-radius: 10px;
padding: 10px 12px;
}
.invite-summary.is-disabled {
border-color: rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.03);
}
.invite-summary p {
margin: 0;
}
.invite-summary-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.user-bulk-toolbar--stacked {
align-items: stretch;
}
.user-bulk-groups {
display: grid;
gap: 10px;
width: 100%;
}
.user-bulk-group {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: flex-end;
}
.user-bulk-group > label {
display: grid;
gap: 6px;
min-width: 220px;
flex: 1 1 220px;
}
.user-bulk-label {
font-size: 0.78rem;
color: #9ea7b6;
}
.user-bulk-group input,
.user-bulk-group select {
width: 100%;
}
.user-detail-actions--stacked {
display: grid;
gap: 8px;
margin-top: 10px;
}
.user-detail-actions--stacked > label {
display: grid;
gap: 6px;
}
@media (max-width: 980px) {
.admin-split-grid {
grid-template-columns: 1fr;
}
.admin-fields-grid {
grid-template-columns: 1fr;
}
.admin-list-item {
grid-template-columns: 1fr;
}
.invite-lookup-row {
grid-template-columns: 1fr;
}
.user-bulk-group {
align-items: stretch;
}
.user-bulk-group > label {
min-width: 100%;
flex-basis: 100%;
}
}