2 background-color: var(--wcfUserMenuBackground);
3 color: var(--wcfUserMenuText);
6 &.userMenuControlPanel {
11 .userMenuItemContent {
16 color: var(--wcfUserMenuTextDimmed);
21 color: var(--wcfUserMenuText);
25 .dropdownMenuContainer .userMenu {
26 border-radius: var(--wcfBorderRadius);
27 box-shadow: var(--wcfBoxShadow);
33 .pageMenuUserTabPanel .userMenu {
35 flex-direction: column;
38 .userMenuContentScrollable {
47 grid-template-areas: "title buttons";
48 grid-template-columns: auto max-content;
55 text-overflow: ellipsis;
58 @include wcfFontHeadline;
66 grid-auto-flow: column;
75 justify-content: center;
83 html:not(.touch) .userMenuButton {
85 transition: transform 0.24s ease-in-out;
88 transform: scale(1.5);
92 .userMenuContentStatus {
94 color: var(--wcfUserMenuTextDimmed);
97 justify-content: center;
99 @include wcfFontHeadline;
102 .userMenuContent.userMenuContentScrollable {
109 @include screen-md-down {
110 overflow: hidden auto;
115 background-color: var(--wcfUserMenuBackground);
120 grid-template-columns: 60px auto;
121 grid-template-rows: minmax(0, min-content);
122 /* min-height = 48px icon + 2*10px padding */
124 padding: 10px 30px 10px 10px;
126 transition: background-color 0.12s linear;
128 &[data-is-unread="true"] .userMenuItemLink::before {
132 &[data-is-unread="false"] .userMenuItemUnread {
136 &.userMenuItemNarrow {
137 grid-template-columns: 28px auto;
140 &.userMenuItemSingleLine {
141 grid-template-areas: "image content";
142 grid-template-rows: auto;
144 &:not(.userMenuItemUserHeader) {
148 .userMenuItemContent {
153 &.userMenuItemWithUsernames {
158 grid-template-columns: 60px auto;
162 html:not(.touch) .userMenuItem:hover {
163 background-color: var(--wcfUserMenuBackgroundActive);
164 color: var(--wcfUserMenuTextActive);
167 color: var(--wcfUserMenuTextActive);
171 .userMenuItemLinkPlain {
176 .userMenuItemLink:hover {
180 .userMenuItemLink::before {
192 /* Setting an element‘s position to `absolute` will remove it from the
193 regular flow, causing it to be ignored for the calculation of the
194 `grid-template-rows`. */
197 :is(fa-brand, fa-icon) {
203 .userMenuItemContent {
207 .userMenuItemUsernames {
208 grid-area: usernames;
215 .userMenuItemUsernames,
217 color: var(--wcfUserMenuTextDimmed);
220 text-overflow: ellipsis;
223 @include wcfFontSmall;
226 .userMenuItemUnread {
236 background-color: var(--wcfUserMenuIndicator);
243 top: calc(50% - 5px);
248 html:not(.touch) .userMenuItemUnread::before {
250 left 0.12s ease-in-out,
251 opacity 0.12s ease-in-out;
254 html:not(.touch) .userMenuItem:hover .userMenuItemUnread::before {
259 .userMenuItemMarkAsRead {
267 html:not(.touch) .userMenuItemMarkAsRead {
270 opacity 0.12s ease-in-out,
271 left 0.12s ease-in-out,
272 transform 0.24s ease-in-out;
275 transform: scale(1.5);
279 /* Tapping the indicator on touch devices triggers the action
280 to mark the item as read. Positioning the button over the
281 indicator masks this behavior. */
282 html.touch .userMenuItem .userMenuItemMarkAsRead {
288 .userMenuItem:not(:hover) .userMenuItemMarkAsRead {
294 border-top: 1px solid var(--wcfUserMenuBorder);
300 .userMenuFooterLink {
305 text-decoration: underline;
318 .userMenuContent .ps__rail-y {
322 .userMenuContentDivider {
323 border-top: 1px solid var(--wcfUserMenuBorder);
326 .userMenuNotifications {
327 border: 1px solid var(--wcfUserMenuIndicator);
332 @include wcfFontSmall;
335 .userMenuNotificationsButtons {