feat(users): govern profiles and access
Normalize fixed profile fields, profile actions, and the five-column capability matrix for comments, uploads, and downloads.
This commit is contained in:
@@ -96,34 +96,65 @@
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.uc-header__cover-upload {
|
||||
.aksrt-cover-menu {
|
||||
position: absolute;
|
||||
bottom: 12px;
|
||||
right: 12px;
|
||||
z-index: 2;
|
||||
}
|
||||
.aksrt-cover-menu__trigger {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
padding: 4px 10px;
|
||||
justify-content: center;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
padding: 0;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
border-radius: 50%;
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
backdrop-filter: blur(4px);
|
||||
transition: background 0.2s;
|
||||
transition: background .2s;
|
||||
}
|
||||
.uc-header__cover-upload:hover {
|
||||
.aksrt-cover-menu__trigger:hover,
|
||||
.aksrt-cover-menu__trigger:focus-visible {
|
||||
background: rgba(0, 0, 0, 0.45);
|
||||
outline: 2px solid #fff;
|
||||
outline-offset: 2px;
|
||||
}
|
||||
.uc-header__cover-upload:disabled {
|
||||
opacity: 0.6;
|
||||
cursor: not-allowed;
|
||||
.aksrt-cover-menu__panel {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: calc(100% + 8px);
|
||||
display: grid;
|
||||
min-width: 140px;
|
||||
padding: 6px;
|
||||
border-radius: 10px;
|
||||
background: rgba(20, 24, 31, .94);
|
||||
box-shadow: 0 12px 32px rgba(0,0,0,.22);
|
||||
backdrop-filter: blur(12px);
|
||||
}
|
||||
.uc-header__cover-upload i {
|
||||
font-size: 11px;
|
||||
.aksrt-cover-menu__panel [role="menuitem"] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
min-height: 36px;
|
||||
padding: 0 10px;
|
||||
border: 0;
|
||||
border-radius: 6px;
|
||||
color: #fff;
|
||||
background: transparent;
|
||||
font: inherit;
|
||||
font-size: 13px;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
.aksrt-cover-menu__panel [role="menuitem"]:hover,
|
||||
.aksrt-cover-menu__panel [role="menuitem"]:focus-visible { background: rgba(255,255,255,.13); outline: none; }
|
||||
.profile-form__fields { display: grid; gap: 14px; }
|
||||
.profile-form__fields label { display: grid; gap: 6px; font-size: 13px; color: var(--color-ink, #24292f); }
|
||||
|
||||
.uc-header__content {
|
||||
display: flex;
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
.aksrt-author-hero__cover-metas {
|
||||
position: absolute;
|
||||
right: 14px;
|
||||
right: 58px;
|
||||
bottom: 12px;
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
@@ -589,8 +589,27 @@
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
margin-top: .35rem;
|
||||
margin-top: .15rem;
|
||||
}
|
||||
.aksrt-author-hero__identity .aksrt-ip-geo-badge {
|
||||
margin: 2px 0;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
height: 26px;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0 8px;
|
||||
border-radius: 999px;
|
||||
font-size: 12px;
|
||||
line-height: 26px;
|
||||
}
|
||||
.aksrt-author-hero__identity .aksrt-medal-entry,
|
||||
.aksrt-author-hero__identity .badg { height: 26px; box-sizing: border-box; margin: 0; padding: 0 8px; border-radius: 999px; font-size: 12px; line-height: 26px; }
|
||||
.aksrt-profile-details-modal { position: fixed; inset: 0; z-index: 10001; display: grid; place-items: center; padding: 20px; }
|
||||
.aksrt-profile-details-modal__backdrop { position: absolute; inset: 0; background: rgba(10, 15, 22, .52); }
|
||||
.aksrt-profile-details-modal__dialog { position: relative; width: min(100%, 420px); padding: 24px; border-radius: 16px; background: var(--color-card, #fff); box-shadow: 0 24px 64px rgba(0,0,0,.24); }
|
||||
.aksrt-profile-details-modal__dialog h2 { margin: 0 28px 16px 0; font-size: 18px; }
|
||||
.aksrt-profile-details-modal__dialog dl { display: grid; gap: 12px; margin: 0; }
|
||||
.aksrt-profile-details-modal__dialog dl div { display: grid; grid-template-columns: 84px 1fr; gap: 12px; }
|
||||
.aksrt-profile-details-modal__dialog dt { color: var(--color-muted, #6b7280); }
|
||||
.aksrt-profile-details-modal__dialog dd { margin: 0; overflow-wrap: anywhere; }
|
||||
.aksrt-profile-details-modal__close { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; font-size: 24px; cursor: pointer; }
|
||||
|
||||
Reference in New Issue
Block a user