~cytrogen/masto-fe

338a0e70ccd2d5526e54fd67f99819e80643b45a — Eugen Rochko 2 years ago d6b387a
Change label and design of sensitive and unavailable media in web UI (#25712)

M app/javascript/mastodon/components/media_gallery.jsx => app/javascript/mastodon/components/media_gallery.jsx +8 -2
@@ 321,7 321,10 @@ class MediaGallery extends PureComponent {
    if (uncached) {
      spoilerButton = (
        <button type='button' disabled className='spoiler-button__overlay'>
          <span className='spoiler-button__overlay__label'><FormattedMessage id='status.uncached_media_warning' defaultMessage='Not available' /></span>
          <span className='spoiler-button__overlay__label'>
            <FormattedMessage id='status.uncached_media_warning' defaultMessage='Preview not available' />
            <span className='spoiler-button__overlay__action'><FormattedMessage id='status.media.open' defaultMessage='Click to open' /></span>
          </span>
        </button>
      );
    } else if (visible) {


@@ 329,7 332,10 @@ class MediaGallery extends PureComponent {
    } else {
      spoilerButton = (
        <button type='button' onClick={this.handleOpen} className='spoiler-button__overlay'>
          <span className='spoiler-button__overlay__label'>{sensitive ? <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' /> : <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />}</span>
          <span className='spoiler-button__overlay__label'>
            {sensitive ? <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' /> : <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />}
            <span className='spoiler-button__overlay__action'><FormattedMessage id='status.media.show' defaultMessage='Click to show' /></span>
          </span>
        </button>
      );
    }

M app/javascript/mastodon/locales/en.json => app/javascript/mastodon/locales/en.json +3 -1
@@ 618,6 618,8 @@
  "status.history.created": "{name} created {date}",
  "status.history.edited": "{name} edited {date}",
  "status.load_more": "Load more",
  "status.media.open": "Click to open",
  "status.media.show": "Click to show",
  "status.media_hidden": "Media hidden",
  "status.mention": "Mention @{name}",
  "status.more": "More",


@@ 648,7 650,7 @@
  "status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
  "status.translate": "Translate",
  "status.translated_from_with": "Translated from {lang} using {provider}",
  "status.uncached_media_warning": "Not available",
  "status.uncached_media_warning": "Preview not available",
  "status.unmute_conversation": "Unmute conversation",
  "status.unpin": "Unpin from profile",
  "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",

M app/javascript/styles/mastodon/components.scss => app/javascript/styles/mastodon/components.scss +15 -18
@@ 4213,34 4213,31 @@ a.status-card.compact:hover {
  }

  &__overlay {
    display: block;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba($black, 0.5);
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 4px;

    &__label {
      display: inline-block;
      background: rgba($base-overlay-background, 0.5);
      border-radius: 8px;
      padding: 8px 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex-direction: column;
      color: $primary-text-color;
      font-weight: 500;
      font-size: 14px;
    }

    &:hover,
    &:focus,
    &:active {
      .spoiler-button__overlay__label {
        background: rgba($base-overlay-background, 0.8);
      }
    }

    &:disabled {
      .spoiler-button__overlay__label {
        background: rgba($base-overlay-background, 0.5);
      }
    &__action {
      font-weight: 400;
      font-size: 13px;
    }
  }
}