| 
									
										
										
										
											2018-01-17 23:00:33 -08:00
										 |  |  | <article class="status-article" tabindex="0" aria-posinset="{{index}}" aria-setsize="{{length}}"> | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |     {{#if status.reblog}} | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |       <div class="status-boosted"> | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |         <svg> | 
					
						
							|  |  |  |           <use xlink:href="#fa-retweet" /> | 
					
						
							|  |  |  |         </svg> | 
					
						
							|  |  |  |         <span> | 
					
						
							|  |  |  |           <a href="/accounts/{{status.account.id}}"> | 
					
						
							|  |  |  |             {{status.account.username}} | 
					
						
							|  |  |  |           </a> boosted | 
					
						
							|  |  |  |         </span> | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |       </div> | 
					
						
							|  |  |  |     {{/if}} | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   <div class="status-author"> | 
					
						
							| 
									
										
										
										
											2018-01-17 17:02:43 -08:00
										 |  |  |     <a class="status-author-name" href="/accounts/{{originalAccount.id}}"> | 
					
						
							|  |  |  |       {{originalAccount.display_name || originalAccount.username}} | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     </a> | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |     <span class="status-author-handle"> | 
					
						
							| 
									
										
										
										
											2018-01-17 17:02:43 -08:00
										 |  |  |       @{{originalAccount.acct}} | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     </span> | 
					
						
							| 
									
										
										
										
											2018-01-19 00:51:51 -08:00
										 |  |  |     <a class="status-author-date" rel="noopener" target="_blank" href="{{originalStatus.uri}}"> | 
					
						
							|  |  |  |       <time datetime={{createdAtDate}} title="{{relativeDate}}">{{relativeDate}}</time> | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     </a> | 
					
						
							|  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2018-01-17 17:02:43 -08:00
										 |  |  |   <Avatar account={{originalAccount}} className="status-sidebar"/> | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   <div class="status-content">{{{status.content}}}</div> | 
					
						
							|  |  |  |   <div class="status-toolbar"> | 
					
						
							| 
									
										
										
										
											2018-01-12 23:24:05 -08:00
										 |  |  |     <button aria-label="Reply" aria-pressed="false" type="button"> | 
					
						
							|  |  |  |       <svg> | 
					
						
							|  |  |  |         <use xlink:href="#fa-reply" /> | 
					
						
							|  |  |  |       </svg> | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |     </button> | 
					
						
							| 
									
										
										
										
											2018-01-12 23:24:05 -08:00
										 |  |  |     <button aria-label="Boost" aria-pressed="false" type="button"> | 
					
						
							|  |  |  |       <svg> | 
					
						
							|  |  |  |         <use xlink:href="#fa-retweet" /> | 
					
						
							|  |  |  |       </svg> | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |     </button> | 
					
						
							| 
									
										
										
										
											2018-01-12 23:24:05 -08:00
										 |  |  |     <button aria-label="Favorite" aria-pressed="false" type="button"> | 
					
						
							|  |  |  |       <svg> | 
					
						
							|  |  |  |         <use xlink:href="#fa-star" /> | 
					
						
							|  |  |  |       </svg> | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |     </button> | 
					
						
							| 
									
										
										
										
											2018-01-12 23:24:05 -08:00
										 |  |  |     <button aria-label="More" aria-pressed="false" type="button"> | 
					
						
							|  |  |  |       <svg> | 
					
						
							|  |  |  |         <use xlink:href="#fa-ellipsis-h" /> | 
					
						
							|  |  |  |       </svg> | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |     </button> | 
					
						
							|  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2018-01-17 18:35:27 -08:00
										 |  |  |   <!--<div class="status-media" style="grid-template-columns: repeat(auto-fit, minmax({{minMediaWidth}}px, 1fr));">
 | 
					
						
							| 
									
										
										
										
											2018-01-17 17:02:43 -08:00
										 |  |  |     {{#each originalMedia as media}} | 
					
						
							|  |  |  |       <div class="status-media-container"> | 
					
						
							|  |  |  |         <img src="{{media.preview_url}}" alt="{{media.description || ''}}"/> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |     {{/each}} | 
					
						
							| 
									
										
										
										
											2018-01-17 18:35:27 -08:00
										 |  |  |   </div>--> | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  | </article> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <style> | 
					
						
							| 
									
										
										
										
											2018-01-16 08:38:23 -08:00
										 |  |  |   .status-article { | 
					
						
							| 
									
										
										
										
											2018-01-16 08:44:35 -08:00
										 |  |  |     width: 560px; | 
					
						
							|  |  |  |     max-width: calc(100vw - 40px); | 
					
						
							|  |  |  |     padding: 10px 20px; | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |     display: grid; | 
					
						
							|  |  |  |     grid-template-areas: | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |         ".............. status-boosted" | 
					
						
							|  |  |  |         "status-sidebar status-author" | 
					
						
							|  |  |  |         "status-sidebar status-content" | 
					
						
							| 
									
										
										
										
											2018-01-17 17:02:43 -08:00
										 |  |  |         ".............. status-toolbar" | 
					
						
							|  |  |  |         ".............. status-media"; | 
					
						
							| 
									
										
										
										
											2018-01-16 08:44:35 -08:00
										 |  |  |     grid-template-columns: 58px 1fr; | 
					
						
							| 
									
										
										
										
											2018-01-16 08:38:23 -08:00
										 |  |  |     border-bottom: 1px solid var(--main-border); | 
					
						
							| 
									
										
										
										
											2018-01-16 20:34:09 -08:00
										 |  |  |     /* will-change: transform; */ /* TODO: is this necessary? */ | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2018-01-16 08:38:23 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   :global(.status-sidebar) { | 
					
						
							|  |  |  |     grid-area: status-sidebar; | 
					
						
							| 
									
										
										
										
											2018-01-16 08:44:35 -08:00
										 |  |  |     margin: 0 10px 0 0; | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-author { | 
					
						
							|  |  |  |     grid-area: status-author; | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     display: flex; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							| 
									
										
										
										
											2018-01-15 21:58:31 -08:00
										 |  |  |     margin: 0 10px 0 5px; | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     font-size: 1.1em; | 
					
						
							| 
									
										
										
										
											2018-01-14 21:41:19 -08:00
										 |  |  |     min-width: 0; | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-author a, .status-author a:visited, .status-author a:hover, .status-author .status-author-handle { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     color: var(--deemphasized-text-color); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-author .status-author-name { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     min-width: 0; | 
					
						
							|  |  |  |     flex-shrink: 1; | 
					
						
							| 
									
										
										
										
											2018-01-14 21:41:19 -08:00
										 |  |  |     color: var(--body-text-color); | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     font-weight: 600; | 
					
						
							|  |  |  |     white-space: nowrap; | 
					
						
							|  |  |  |     overflow: hidden; | 
					
						
							|  |  |  |     text-overflow: ellipsis; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-author .status-author-name:hover { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     color: var(--body-text-color); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-author-handle { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     min-width: 0; | 
					
						
							|  |  |  |     flex: 1; | 
					
						
							|  |  |  |     margin-left: 5px; | 
					
						
							|  |  |  |     white-space: nowrap; | 
					
						
							|  |  |  |     overflow: hidden; | 
					
						
							|  |  |  |     text-overflow: ellipsis; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-author-date { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     flex-shrink: 1; | 
					
						
							|  |  |  |     text-align: right; | 
					
						
							|  |  |  |     margin-left: 5px; | 
					
						
							|  |  |  |     white-space: nowrap; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-content { | 
					
						
							| 
									
										
										
										
											2018-01-15 21:58:31 -08:00
										 |  |  |     margin: 10px 10px 20px 5px; | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |     grid-area: status-content; | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |     word-wrap: break-word; | 
					
						
							|  |  |  |     overflow: hidden; | 
					
						
							|  |  |  |     white-space: pre-wrap; | 
					
						
							| 
									
										
										
										
											2018-01-11 00:26:35 -08:00
										 |  |  |     font-size: 0.9em; | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   :global(.status-content p) { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     margin: 0 0 20px; | 
					
						
							| 
									
										
										
										
											2018-01-10 21:31:33 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   :global(.status-content p:first-child) { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     margin: 0 0 20px; | 
					
						
							| 
									
										
										
										
											2018-01-10 21:31:33 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   :global(.status-content p:last-child) { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     margin: 0; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-boosted span { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     margin-left: 5px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-boosted span, .status-boosted a, .status-boosted a:visited, .status-boosted a:hover { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     color: var(--deemphasized-text-color); | 
					
						
							| 
									
										
										
										
											2018-01-11 00:26:35 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-boosted { | 
					
						
							|  |  |  |     grid-area: status-boosted; | 
					
						
							| 
									
										
										
										
											2018-01-15 21:58:31 -08:00
										 |  |  |     margin: 5px 10px 5px 5px; | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     display: flex; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-boosted svg { | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     width: 18px; | 
					
						
							|  |  |  |     height: 18px; | 
					
						
							|  |  |  |     fill: var(--deemphasized-text-color) | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-toolbar { | 
					
						
							|  |  |  |     grid-area: status-toolbar; | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |     display: flex; | 
					
						
							| 
									
										
										
										
											2018-01-11 00:26:35 -08:00
										 |  |  |     justify-content: space-between; | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-toolbar button { | 
					
						
							| 
									
										
										
										
											2018-01-16 09:04:36 -08:00
										 |  |  |     padding: 6px 10px; | 
					
						
							| 
									
										
										
										
											2018-01-11 00:26:35 -08:00
										 |  |  |     background: none; | 
					
						
							|  |  |  |     border: none; | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-toolbar button svg { | 
					
						
							| 
									
										
										
										
											2018-01-11 00:26:35 -08:00
										 |  |  |     width: 24px; | 
					
						
							|  |  |  |     height: 24px; | 
					
						
							| 
									
										
										
										
											2018-01-12 18:12:39 -08:00
										 |  |  |     fill: var(--action-button-fill-color); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-toolbar button:hover svg { | 
					
						
							| 
									
										
										
										
											2018-01-12 18:12:39 -08:00
										 |  |  |     fill: var(--action-button-fill-color-hover); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-16 08:51:05 -08:00
										 |  |  |   .status-toolbar button:active svg { | 
					
						
							| 
									
										
										
										
											2018-01-12 18:12:39 -08:00
										 |  |  |     fill: var(--action-button-fill-color-active); | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2018-01-17 17:02:43 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-19 17:29:27 -08:00
										 |  |  |   /* | 
					
						
							| 
									
										
										
										
											2018-01-17 17:02:43 -08:00
										 |  |  |   .status-media { | 
					
						
							|  |  |  |     grid-area: status-media; | 
					
						
							|  |  |  |     display: grid; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							|  |  |  |     justify-content: center; | 
					
						
							|  |  |  |     justify-items: center; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .status-media-container { | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   .status-media-container img { | 
					
						
							|  |  |  |     object-fit: cover; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2018-01-19 17:29:27 -08:00
										 |  |  |   */ | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  | </style> | 
					
						
							|  |  |  | <script> | 
					
						
							|  |  |  |   import Avatar from './Avatar.html' | 
					
						
							| 
									
										
										
										
											2018-01-17 00:59:15 -08:00
										 |  |  |   import { mark, stop } from '../_utils/marks' | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |   import IntlRelativeFormat from 'intl-relativeformat' | 
					
						
							|  |  |  |   const relativeFormat = new IntlRelativeFormat('en-US'); | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   export default { | 
					
						
							|  |  |  |     components: { | 
					
						
							|  |  |  |       Avatar | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2018-01-14 19:28:50 -08:00
										 |  |  |     computed: { | 
					
						
							| 
									
										
										
										
											2018-01-15 17:25:32 -08:00
										 |  |  |       createdAtDate: (status) => status.created_at, | 
					
						
							|  |  |  |       relativeDate: (createdAtDate) => { | 
					
						
							| 
									
										
										
										
											2018-01-17 00:59:15 -08:00
										 |  |  |         mark('compute relativeDate') | 
					
						
							|  |  |  |         let res = relativeFormat.format(new Date(createdAtDate)) | 
					
						
							|  |  |  |         stop('compute relativeDate') | 
					
						
							|  |  |  |         return res | 
					
						
							| 
									
										
										
										
											2018-01-14 21:41:19 -08:00
										 |  |  |       }, | 
					
						
							| 
									
										
										
										
											2018-01-19 00:51:51 -08:00
										 |  |  |       originalStatus: (status) => status.reblog ? status.reblog : status, | 
					
						
							|  |  |  |       originalAccount: (originalStatus) => originalStatus.account, | 
					
						
							|  |  |  |       originalMedia: (originalStatus) => originalStatus.media_attachments, | 
					
						
							| 
									
										
										
										
											2018-01-17 17:02:43 -08:00
										 |  |  |       minMediaWidth: (originalMedia) => Math.min.apply(Math, originalMedia.map(_ => _.meta.small.width)) | 
					
						
							| 
									
										
										
										
											2018-01-10 21:31:33 -08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2018-01-10 20:45:02 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | </script> |