Change design of dropdowns in web UI (#25107)
This commit is contained in:
		
							parent
							
								
									ed04c277b4
								
							
						
					
					
						commit
						e4fd9503ec
					
				| @ -121,10 +121,10 @@ class DropdownMenu extends PureComponent { | |||||||
|       return <li key={`sep-${i}`} className='dropdown-menu__separator' />; |       return <li key={`sep-${i}`} className='dropdown-menu__separator' />; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     const { text, href = '#', target = '_blank', method } = option; |     const { text, href = '#', target = '_blank', method, dangerous } = option; | ||||||
| 
 | 
 | ||||||
|     return ( |     return ( | ||||||
|       <li className='dropdown-menu__item' key={`${text}-${i}`}> |       <li className={classNames('dropdown-menu__item', { 'dropdown-menu__item--dangerous': dangerous })} key={`${text}-${i}`}> | ||||||
|         <a href={href} target={target} data-method={method} rel='noopener noreferrer' role='button' tabIndex={0} ref={i === 0 ? this.setFocusRef : null} onClick={this.handleClick} onKeyPress={this.handleItemKeyPress} data-index={i}> |         <a href={href} target={target} data-method={method} rel='noopener noreferrer' role='button' tabIndex={0} ref={i === 0 ? this.setFocusRef : null} onClick={this.handleClick} onKeyPress={this.handleItemKeyPress} data-index={i}> | ||||||
|           {text} |           {text} | ||||||
|         </a> |         </a> | ||||||
|  | |||||||
| @ -280,8 +280,8 @@ class StatusActionBar extends ImmutablePureComponent { | |||||||
| 
 | 
 | ||||||
|     if (writtenByMe) { |     if (writtenByMe) { | ||||||
|       menu.push({ text: intl.formatMessage(messages.edit), action: this.handleEditClick }); |       menu.push({ text: intl.formatMessage(messages.edit), action: this.handleEditClick }); | ||||||
|       menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick }); |       menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick, dangerous: true }); | ||||||
|       menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick }); |       menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick, dangerous: true }); | ||||||
|     } else { |     } else { | ||||||
|       menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.handleMentionClick }); |       menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.handleMentionClick }); | ||||||
|       menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.handleDirectClick }); |       menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.handleDirectClick }); | ||||||
| @ -290,22 +290,22 @@ class StatusActionBar extends ImmutablePureComponent { | |||||||
|       if (relationship && relationship.get('muting')) { |       if (relationship && relationship.get('muting')) { | ||||||
|         menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.handleMuteClick }); |         menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.handleMuteClick }); | ||||||
|       } else { |       } else { | ||||||
|         menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.handleMuteClick }); |         menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.handleMuteClick, dangerous: true }); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if (relationship && relationship.get('blocking')) { |       if (relationship && relationship.get('blocking')) { | ||||||
|         menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.handleBlockClick }); |         menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.handleBlockClick }); | ||||||
|       } else { |       } else { | ||||||
|         menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.handleBlockClick }); |         menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.handleBlockClick, dangerous: true }); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if (!this.props.onFilter) { |       if (!this.props.onFilter) { | ||||||
|         menu.push(null); |         menu.push(null); | ||||||
|         menu.push({ text: intl.formatMessage(messages.filter), action: this.handleFilterClick }); |         menu.push({ text: intl.formatMessage(messages.filter), action: this.handleFilterClick, dangerous: true }); | ||||||
|         menu.push(null); |         menu.push(null); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.handleReport }); |       menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.handleReport, dangerous: true }); | ||||||
| 
 | 
 | ||||||
|       if (account.get('acct') !== account.get('username')) { |       if (account.get('acct') !== account.get('username')) { | ||||||
|         const domain = account.get('acct').split('@')[1]; |         const domain = account.get('acct').split('@')[1]; | ||||||
| @ -315,7 +315,7 @@ class StatusActionBar extends ImmutablePureComponent { | |||||||
|         if (relationship && relationship.get('domain_blocking')) { |         if (relationship && relationship.get('domain_blocking')) { | ||||||
|           menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.handleUnblockDomain }); |           menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.handleUnblockDomain }); | ||||||
|         } else { |         } else { | ||||||
|           menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.handleBlockDomain }); |           menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.handleBlockDomain, dangerous: true }); | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -332,16 +332,16 @@ class Header extends ImmutablePureComponent { | |||||||
|       if (account.getIn(['relationship', 'muting'])) { |       if (account.getIn(['relationship', 'muting'])) { | ||||||
|         menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute }); |         menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute }); | ||||||
|       } else { |       } else { | ||||||
|         menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.props.onMute }); |         menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.props.onMute, dangerous: true }); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if (account.getIn(['relationship', 'blocking'])) { |       if (account.getIn(['relationship', 'blocking'])) { | ||||||
|         menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.props.onBlock }); |         menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.props.onBlock }); | ||||||
|       } else { |       } else { | ||||||
|         menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock }); |         menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock, dangerous: true }); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport }); |       menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport, dangerous: true }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (signedIn && isRemote) { |     if (signedIn && isRemote) { | ||||||
| @ -350,7 +350,7 @@ class Header extends ImmutablePureComponent { | |||||||
|       if (account.getIn(['relationship', 'domain_blocking'])) { |       if (account.getIn(['relationship', 'domain_blocking'])) { | ||||||
|         menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: remoteDomain }), action: this.props.onUnblockDomain }); |         menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: remoteDomain }), action: this.props.onUnblockDomain }); | ||||||
|       } else { |       } else { | ||||||
|         menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: remoteDomain }), action: this.props.onBlockDomain }); |         menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: remoteDomain }), action: this.props.onBlockDomain, dangerous: true }); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -219,8 +219,8 @@ class ActionBar extends PureComponent { | |||||||
|       menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick }); |       menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick }); | ||||||
|       menu.push(null); |       menu.push(null); | ||||||
|       menu.push({ text: intl.formatMessage(messages.edit), action: this.handleEditClick }); |       menu.push({ text: intl.formatMessage(messages.edit), action: this.handleEditClick }); | ||||||
|       menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick }); |       menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick, dangerous: true }); | ||||||
|       menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick }); |       menu.push({ text: intl.formatMessage(messages.redraft), action: this.handleRedraftClick, dangerous: true }); | ||||||
|     } else { |     } else { | ||||||
|       menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick }); |       menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick }); | ||||||
|       menu.push(null); |       menu.push(null); | ||||||
| @ -228,16 +228,16 @@ class ActionBar extends PureComponent { | |||||||
|       if (relationship && relationship.get('muting')) { |       if (relationship && relationship.get('muting')) { | ||||||
|         menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.handleMuteClick }); |         menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.handleMuteClick }); | ||||||
|       } else { |       } else { | ||||||
|         menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.handleMuteClick }); |         menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.handleMuteClick, dangerous: true }); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if (relationship && relationship.get('blocking')) { |       if (relationship && relationship.get('blocking')) { | ||||||
|         menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.handleBlockClick }); |         menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.handleBlockClick }); | ||||||
|       } else { |       } else { | ||||||
|         menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.handleBlockClick }); |         menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.handleBlockClick, dangerous: true }); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport }); |       menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport, dangerous: true }); | ||||||
| 
 | 
 | ||||||
|       if (account.get('acct') !== account.get('username')) { |       if (account.get('acct') !== account.get('username')) { | ||||||
|         const domain = account.get('acct').split('@')[1]; |         const domain = account.get('acct').split('@')[1]; | ||||||
| @ -247,7 +247,7 @@ class ActionBar extends PureComponent { | |||||||
|         if (relationship && relationship.get('domain_blocking')) { |         if (relationship && relationship.get('domain_blocking')) { | ||||||
|           menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.handleUnblockDomain }); |           menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.handleUnblockDomain }); | ||||||
|         } else { |         } else { | ||||||
|           menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.handleBlockDomain }); |           menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.handleBlockDomain, dangerous: true }); | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1601,105 +1601,6 @@ a .account__avatar { | |||||||
|   gap: 4px; |   gap: 4px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .account__disclaimer { |  | ||||||
|   padding: 10px; |  | ||||||
|   border-top: 1px solid lighten($ui-base-color, 8%); |  | ||||||
|   color: $dark-text-color; |  | ||||||
| 
 |  | ||||||
|   strong { |  | ||||||
|     font-weight: 500; |  | ||||||
| 
 |  | ||||||
|     @each $lang in $cjk-langs { |  | ||||||
|       &:lang(#{$lang}) { |  | ||||||
|         font-weight: 700; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   a { |  | ||||||
|     font-weight: 500; |  | ||||||
|     color: inherit; |  | ||||||
|     text-decoration: underline; |  | ||||||
| 
 |  | ||||||
|     &:hover, |  | ||||||
|     &:focus, |  | ||||||
|     &:active { |  | ||||||
|       text-decoration: none; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .account__action-bar { |  | ||||||
|   border-top: 1px solid lighten($ui-base-color, 8%); |  | ||||||
|   border-bottom: 1px solid lighten($ui-base-color, 8%); |  | ||||||
|   line-height: 36px; |  | ||||||
|   overflow: hidden; |  | ||||||
|   flex: 0 0 auto; |  | ||||||
|   display: flex; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .account__action-bar-dropdown { |  | ||||||
|   padding: 10px; |  | ||||||
| 
 |  | ||||||
|   .icon-button { |  | ||||||
|     vertical-align: middle; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .dropdown--active { |  | ||||||
|     .dropdown__content.dropdown__right { |  | ||||||
|       inset-inline-start: 6px; |  | ||||||
|       inset-inline-end: initial; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     &::after { |  | ||||||
|       bottom: initial; |  | ||||||
|       margin-inline-start: 11px; |  | ||||||
|       margin-top: -7px; |  | ||||||
|       inset-inline-end: initial; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .account__action-bar-links { |  | ||||||
|   display: flex; |  | ||||||
|   flex: 1 1 auto; |  | ||||||
|   line-height: 18px; |  | ||||||
|   text-align: center; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .account__action-bar__tab { |  | ||||||
|   text-decoration: none; |  | ||||||
|   overflow: hidden; |  | ||||||
|   flex: 0 1 100%; |  | ||||||
|   border-inline-end: 1px solid lighten($ui-base-color, 8%); |  | ||||||
|   padding: 10px 0; |  | ||||||
|   border-bottom: 4px solid transparent; |  | ||||||
| 
 |  | ||||||
|   &.active { |  | ||||||
|     border-bottom: 4px solid $ui-highlight-color; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   & > span { |  | ||||||
|     display: block; |  | ||||||
|     text-transform: uppercase; |  | ||||||
|     font-size: 11px; |  | ||||||
|     color: $darker-text-color; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   strong { |  | ||||||
|     display: block; |  | ||||||
|     font-size: 15px; |  | ||||||
|     font-weight: 500; |  | ||||||
|     color: $primary-text-color; |  | ||||||
| 
 |  | ||||||
|     @each $lang in $cjk-langs { |  | ||||||
|       &:lang(#{$lang}) { |  | ||||||
|         font-weight: 700; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .account-authorize { | .account-authorize { | ||||||
|   padding: 14px 10px; |   padding: 14px 10px; | ||||||
| 
 | 
 | ||||||
| @ -2051,36 +1952,18 @@ a.account__display-name { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dropdown-animation { | .dropdown-animation { | ||||||
|   animation: dropdown 300ms cubic-bezier(0.1, 0.7, 0.1, 1); |   animation: dropdown 150ms cubic-bezier(0.1, 0.7, 0.1, 1); | ||||||
| 
 | 
 | ||||||
|   @keyframes dropdown { |   @keyframes dropdown { | ||||||
|     from { |     from { | ||||||
|       opacity: 0; |       opacity: 0; | ||||||
|       transform: scaleX(0.85) scaleY(0.75); |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     to { |     to { | ||||||
|       opacity: 1; |       opacity: 1; | ||||||
|       transform: scaleX(1) scaleY(1); |  | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   &.top { |  | ||||||
|     transform-origin: bottom; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.right { |  | ||||||
|     transform-origin: left; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.bottom { |  | ||||||
|     transform-origin: top; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.left { |  | ||||||
|     transform-origin: right; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   .reduce-motion & { |   .reduce-motion & { | ||||||
|     animation: none; |     animation: none; | ||||||
|   } |   } | ||||||
| @ -2096,16 +1979,17 @@ a.account__display-name { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dropdown-menu__separator { | .dropdown-menu__separator { | ||||||
|   border-bottom: 1px solid darken($ui-secondary-color, 8%); |   border-bottom: 1px solid var(--dropdown-border-color); | ||||||
|   margin: 5px 7px 6px; |   margin: 5px 0; | ||||||
|   height: 0; |   height: 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dropdown-menu { | .dropdown-menu { | ||||||
|   background: $ui-secondary-color; |   background: var(--dropdown-background-color); | ||||||
|   padding: 4px 0; |   border: 1px solid var(--dropdown-border-color); | ||||||
|  |   padding: 4px; | ||||||
|   border-radius: 4px; |   border-radius: 4px; | ||||||
|   box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4); |   box-shadow: var(--dropdown-shadow); | ||||||
|   z-index: 9999; |   z-index: 9999; | ||||||
| 
 | 
 | ||||||
|   &__text-button { |   &__text-button { | ||||||
| @ -2126,12 +2010,13 @@ a.account__display-name { | |||||||
| 
 | 
 | ||||||
|   &__container { |   &__container { | ||||||
|     &__header { |     &__header { | ||||||
|       border-bottom: 1px solid darken($ui-secondary-color, 8%); |       border-bottom: 1px solid var(--dropdown-border-color); | ||||||
|       padding: 4px 14px; |       padding: 10px 14px; | ||||||
|       padding-bottom: 8px; |       padding-bottom: 14px; | ||||||
|  |       margin-bottom: 4px; | ||||||
|       font-size: 13px; |       font-size: 13px; | ||||||
|       line-height: 18px; |       line-height: 18px; | ||||||
|       color: $inverted-text-color; |       color: $darker-text-color; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     &__list { |     &__list { | ||||||
| @ -2168,103 +2053,43 @@ a.account__display-name { | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dropdown-menu__arrow { |  | ||||||
|   position: absolute; |  | ||||||
| 
 |  | ||||||
|   &::before { |  | ||||||
|     content: ''; |  | ||||||
|     display: block; |  | ||||||
|     width: 14px; |  | ||||||
|     height: 5px; |  | ||||||
|     background-color: $ui-secondary-color; |  | ||||||
|     mask-image: url("data:image/svg+xml;utf8,<svg width='14' height='5' xmlns='http://www.w3.org/2000/svg'><path d='M7 0L0 5h14L7 0z' fill='white'/></svg>"); |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.top { |  | ||||||
|     bottom: -5px; |  | ||||||
| 
 |  | ||||||
|     &::before { |  | ||||||
|       transform: rotate(180deg); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.right { |  | ||||||
|     inset-inline-start: -9px; |  | ||||||
| 
 |  | ||||||
|     &::before { |  | ||||||
|       transform: rotate(-90deg); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.bottom { |  | ||||||
|     top: -5px; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.left { |  | ||||||
|     inset-inline-end: -9px; |  | ||||||
| 
 |  | ||||||
|     &::before { |  | ||||||
|       transform: rotate(90deg); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .dropdown-menu__item { | .dropdown-menu__item { | ||||||
|   font-size: 13px; |   font-size: 13px; | ||||||
|   line-height: 18px; |   line-height: 18px; | ||||||
|  |   font-weight: 500; | ||||||
|   display: block; |   display: block; | ||||||
|   color: $inverted-text-color; | 
 | ||||||
|  |   &--dangerous { | ||||||
|  |     color: $error-value-color; | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
|   a, |   a, | ||||||
|   button { |   button { | ||||||
|     font-family: inherit; |     font: inherit; | ||||||
|     font-size: inherit; |  | ||||||
|     line-height: inherit; |  | ||||||
|     display: block; |     display: block; | ||||||
|     width: 100%; |     width: 100%; | ||||||
|     padding: 4px 14px; |     padding: 10px 14px; | ||||||
|     border: 0; |     border: 0; | ||||||
|     margin: 0; |     margin: 0; | ||||||
|  |     background: transparent; | ||||||
|     box-sizing: border-box; |     box-sizing: border-box; | ||||||
|     text-decoration: none; |     text-decoration: none; | ||||||
|     background: $ui-secondary-color; |  | ||||||
|     color: inherit; |     color: inherit; | ||||||
|     overflow: hidden; |     overflow: hidden; | ||||||
|     text-overflow: ellipsis; |     text-overflow: ellipsis; | ||||||
|     white-space: nowrap; |     white-space: nowrap; | ||||||
|     text-align: inherit; |     text-align: inherit; | ||||||
|  |     border-radius: 4px; | ||||||
| 
 | 
 | ||||||
|     &:focus, |     &:focus, | ||||||
|     &:hover, |     &:hover, | ||||||
|     &:active { |     &:active { | ||||||
|       background: $ui-highlight-color; |       background: var(--dropdown-border-color); | ||||||
|       color: $secondary-text-color; |  | ||||||
|       outline: 0; |       outline: 0; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dropdown-menu__item--text { |  | ||||||
|   overflow: hidden; |  | ||||||
|   text-overflow: ellipsis; |  | ||||||
|   white-space: nowrap; |  | ||||||
|   padding: 4px 14px; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .dropdown-menu__item.edited-timestamp__history__item { |  | ||||||
|   border-bottom: 1px solid darken($ui-secondary-color, 8%); |  | ||||||
| 
 |  | ||||||
|   &:last-child { |  | ||||||
|     border-bottom: 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.dropdown-menu__item--text, |  | ||||||
|   a, |  | ||||||
|   button { |  | ||||||
|     padding: 8px 14px; |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .inline-account { | .inline-account { | ||||||
|   display: inline-flex; |   display: inline-flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
| @ -2280,62 +2105,6 @@ a.account__display-name { | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dropdown--active .dropdown__content { |  | ||||||
|   display: block; |  | ||||||
|   line-height: 18px; |  | ||||||
|   max-width: 311px; |  | ||||||
|   inset-inline-end: 0; |  | ||||||
|   text-align: start; |  | ||||||
|   z-index: 9999; |  | ||||||
| 
 |  | ||||||
|   & > ul { |  | ||||||
|     list-style: none; |  | ||||||
|     background: $ui-secondary-color; |  | ||||||
|     padding: 4px 0; |  | ||||||
|     border-radius: 4px; |  | ||||||
|     box-shadow: 0 0 15px rgba($base-shadow-color, 0.4); |  | ||||||
|     min-width: 140px; |  | ||||||
|     position: relative; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.dropdown__right { |  | ||||||
|     inset-inline-end: 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &.dropdown__left { |  | ||||||
|     & > ul { |  | ||||||
|       inset-inline-start: -98px; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   & > ul > li > a { |  | ||||||
|     font-size: 13px; |  | ||||||
|     line-height: 18px; |  | ||||||
|     display: block; |  | ||||||
|     padding: 4px 14px; |  | ||||||
|     box-sizing: border-box; |  | ||||||
|     text-decoration: none; |  | ||||||
|     background: $ui-secondary-color; |  | ||||||
|     color: $inverted-text-color; |  | ||||||
|     overflow: hidden; |  | ||||||
|     text-overflow: ellipsis; |  | ||||||
|     white-space: nowrap; |  | ||||||
| 
 |  | ||||||
|     &:focus { |  | ||||||
|       outline: 0; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     &:hover { |  | ||||||
|       background: $ui-highlight-color; |  | ||||||
|       color: $secondary-text-color; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .dropdown__icon { |  | ||||||
|   vertical-align: middle; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .columns-area { | .columns-area { | ||||||
|   display: flex; |   display: flex; | ||||||
|   flex: 1 1 auto; |   flex: 1 1 auto; | ||||||
|  | |||||||
| @ -61,3 +61,10 @@ $no-gap-breakpoint: 1175px; | |||||||
| $font-sans-serif: 'mastodon-font-sans-serif' !default; | $font-sans-serif: 'mastodon-font-sans-serif' !default; | ||||||
| $font-display: 'mastodon-font-display' !default; | $font-display: 'mastodon-font-display' !default; | ||||||
| $font-monospace: 'mastodon-font-monospace' !default; | $font-monospace: 'mastodon-font-monospace' !default; | ||||||
|  | 
 | ||||||
|  | :root { | ||||||
|  |   --dropdown-border-color: #{lighten($ui-base-color, 12%)}; | ||||||
|  |   --dropdown-background-color: #{lighten($ui-base-color, 4%)}; | ||||||
|  |   --dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)}, | ||||||
|  |     0 8px 10px -6px #{rgba($base-shadow-color, 0.25)}; | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user