123 lines
		
	
	
		
			No EOL
		
	
	
		
			3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			No EOL
		
	
	
		
			3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<div class="status-details">
 | 
						|
  <ExternalLink className="status-absolute-date"
 | 
						|
                href="{{originalStatus.url}}"
 | 
						|
                showIcon="true"
 | 
						|
                ariaLabel="{{formattedDate}} (opens in new window)"
 | 
						|
  >
 | 
						|
    <time datetime={{createdAtDate}} title="{{formattedDate}}">{{formattedDate}}</time>
 | 
						|
  </ExternalLink>
 | 
						|
  <a class="status-favs-reblogs"
 | 
						|
     href="/statuses/{{originalStatusId}}/reblogs"
 | 
						|
     aria-label="{{reblogsLabel}}">
 | 
						|
    <svg class="status-favs-reblogs-svg">
 | 
						|
      <use xlink:href="#fa-retweet"/>
 | 
						|
    </svg>
 | 
						|
    <span>{{numReblogs}}</span>
 | 
						|
  </a>
 | 
						|
  <a class="status-favs-reblogs"
 | 
						|
     href="/statuses/{{originalStatusId}}/favorites"
 | 
						|
     aria-label="{{favoritesLabel}}">
 | 
						|
    <svg class="status-favs-reblogs-svg">
 | 
						|
      <use xlink:href="#fa-star" />
 | 
						|
    </svg>
 | 
						|
    <span>{{numFavs}}</span>
 | 
						|
  </a>
 | 
						|
</div>
 | 
						|
<style>
 | 
						|
  .status-details {
 | 
						|
    grid-area: details;
 | 
						|
    display: grid;
 | 
						|
    grid-template-columns: minmax(0, max-content) min-content min-content;
 | 
						|
    grid-gap: 20px;
 | 
						|
    align-items: center;
 | 
						|
    justify-content: left;
 | 
						|
    margin: 0 5px 10px;
 | 
						|
  }
 | 
						|
  :global(.status-absolute-date) {
 | 
						|
    font-size: 1.1em;
 | 
						|
    min-width: 0;
 | 
						|
  }
 | 
						|
 | 
						|
  :global(.status-absolute-date time) {
 | 
						|
    word-wrap: break-word;
 | 
						|
    overflow: hidden;
 | 
						|
    white-space: pre-wrap;
 | 
						|
  }
 | 
						|
 | 
						|
  .status-favs-reblogs {
 | 
						|
    font-size: 1.1em;
 | 
						|
    display: flex;
 | 
						|
    flex-direction: row;
 | 
						|
    align-items: center;
 | 
						|
  }
 | 
						|
 | 
						|
  .status-favs-reblogs span {
 | 
						|
    margin-left: 5px;
 | 
						|
  }
 | 
						|
 | 
						|
  .status-favs-reblogs,
 | 
						|
  .status-favs-reblogs:hover,
 | 
						|
  .status-favs-reblogs:visited {
 | 
						|
    color: var(--deemphasized-text-color);
 | 
						|
  }
 | 
						|
 | 
						|
  .status-favs-reblogs-svg {
 | 
						|
    fill: var(--deemphasized-text-color);
 | 
						|
    width: 18px;
 | 
						|
    height: 18px;
 | 
						|
  }
 | 
						|
 | 
						|
  :global(.status-absolute-date, .status-absolute-date:hover, .status-absolute-date:visited) {
 | 
						|
    color: var(--deemphasized-text-color);
 | 
						|
  }
 | 
						|
 | 
						|
  @media (max-width: 479px) {
 | 
						|
    :global(.status-absolute-date) {
 | 
						|
      font-size: 1em;
 | 
						|
    }
 | 
						|
    .status-favs-reblogs {
 | 
						|
      font-size: 1em;
 | 
						|
    }
 | 
						|
    .status-details {
 | 
						|
      grid-gap: 5px;
 | 
						|
      justify-content: space-between;
 | 
						|
    }
 | 
						|
 | 
						|
  }
 | 
						|
 | 
						|
</style>
 | 
						|
<script>
 | 
						|
  import ExternalLink from '../ExternalLink.html'
 | 
						|
 | 
						|
  const formatter = new Intl.DateTimeFormat('en-US', {
 | 
						|
    year: 'numeric',
 | 
						|
    month: 'long',
 | 
						|
    day: 'numeric',
 | 
						|
    hour: '2-digit',
 | 
						|
    minute: '2-digit'
 | 
						|
  })
 | 
						|
 | 
						|
  export default {
 | 
						|
    computed: {
 | 
						|
      createdAtDate: (originalStatus) => originalStatus.created_at,
 | 
						|
      numReblogs: (originalStatus) => originalStatus.reblogs_count || 0,
 | 
						|
      numFavs: (originalStatus) => originalStatus.favourites_count || 0,
 | 
						|
      formattedDate: (createdAtDate) => formatter.format(new Date(createdAtDate)),
 | 
						|
      reblogsLabel: (numReblogs) => {
 | 
						|
        // TODO: intl
 | 
						|
        return numReblogs === 1
 | 
						|
          ? `Boosted ${numReblogs} time`
 | 
						|
          : `Boosted ${numReblogs} times`
 | 
						|
      },
 | 
						|
      favoritesLabel: (numFavs) => {
 | 
						|
        // TODO: intl
 | 
						|
        return numFavs === 1
 | 
						|
          ? `Favorited ${numFavs} time`
 | 
						|
          : `Favorited ${numFavs} times`
 | 
						|
      }
 | 
						|
    },
 | 
						|
    components: {
 | 
						|
      ExternalLink
 | 
						|
    }
 | 
						|
  }
 | 
						|
</script> |