| 
									
										
										
										
											2018-02-09 22:55:11 -08:00
										 |  |  | <div class="status-spoiler {{isStatusInNotification ? 'status-in-notification' : ''}} {{isStatusInOwnThread ? 'status-in-own-thread' : ''}}"> | 
					
						
							| 
									
										
										
										
											2018-03-15 20:04:24 -07:00
										 |  |  |   <p>{{originalStatus.spoiler_text}}</p> | 
					
						
							| 
									
										
										
										
											2018-02-04 12:49:42 -08:00
										 |  |  | </div> | 
					
						
							| 
									
										
										
										
											2018-02-09 22:55:11 -08:00
										 |  |  | <div class="status-spoiler-button {{isStatusInOwnThread ? 'status-in-own-thread' : ''}}"> | 
					
						
							| 
									
										
										
										
											2018-03-04 17:16:33 -08:00
										 |  |  |   <button type="button" delegate-key="{{delegateKey}}"> | 
					
						
							| 
									
										
										
										
											2018-02-04 10:44:04 -08:00
										 |  |  |     {{spoilerShown ? 'Show less' : 'Show more'}} | 
					
						
							|  |  |  |   </button> | 
					
						
							|  |  |  | </div> | 
					
						
							|  |  |  | <style> | 
					
						
							|  |  |  |   .status-spoiler { | 
					
						
							| 
									
										
										
										
											2018-02-09 20:07:48 -08:00
										 |  |  |     grid-area: spoiler; | 
					
						
							| 
									
										
										
										
											2018-02-04 10:44:04 -08:00
										 |  |  |     word-wrap: break-word; | 
					
						
							|  |  |  |     overflow: hidden; | 
					
						
							|  |  |  |     white-space: pre-wrap; | 
					
						
							| 
									
										
										
										
											2018-02-09 22:55:11 -08:00
										 |  |  |     font-size: 0.9em; | 
					
						
							|  |  |  |     margin: 10px 5px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .status-spoiler.status-in-own-thread { | 
					
						
							|  |  |  |     font-size: 1.3em; | 
					
						
							|  |  |  |     margin: 20px 5px 10px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .status-spoiler.status-in-notification { | 
					
						
							|  |  |  |     color: var(--very-deemphasized-text-color); | 
					
						
							| 
									
										
										
										
											2018-02-04 10:44:04 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .status-spoiler-button { | 
					
						
							| 
									
										
										
										
											2018-02-09 22:55:11 -08:00
										 |  |  |     grid-area: spoiler-btn; | 
					
						
							|  |  |  |     margin: 10px 5px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .status-spoiler-button.status-in-own-thread { | 
					
						
							| 
									
										
										
										
											2018-02-04 10:44:04 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .status-spoiler-button button { | 
					
						
							|  |  |  |     padding: 5px 10px; | 
					
						
							|  |  |  |     font-size: 1.1em; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | </style> | 
					
						
							|  |  |  | <script> | 
					
						
							|  |  |  |   import { store } from '../../_store/store' | 
					
						
							| 
									
										
										
										
											2018-03-04 17:16:33 -08:00
										 |  |  |   import { registerClickDelegate, unregisterClickDelegate } from '../../_utils/delegate' | 
					
						
							| 
									
										
										
										
											2018-02-04 10:44:04 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   export default { | 
					
						
							| 
									
										
										
										
											2018-03-04 17:16:33 -08:00
										 |  |  |     oncreate() { | 
					
						
							|  |  |  |       registerClickDelegate(this.get('delegateKey'), () => this.onClickSpoilerButton()) | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     ondestroy() { | 
					
						
							|  |  |  |       unregisterClickDelegate(this.get('delegateKey')) | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2018-02-04 10:44:04 -08:00
										 |  |  |     store: () => store, | 
					
						
							|  |  |  |     computed: { | 
					
						
							| 
									
										
										
										
											2018-03-15 20:04:24 -07:00
										 |  |  |       delegateKey: (uuid) => `spoiler-${uuid}` | 
					
						
							| 
									
										
										
										
											2018-02-04 10:44:04 -08:00
										 |  |  |     }, | 
					
						
							|  |  |  |     methods: { | 
					
						
							|  |  |  |       onClickSpoilerButton() { | 
					
						
							| 
									
										
										
										
											2018-03-15 20:04:24 -07:00
										 |  |  |         let uuid = this.get('uuid') | 
					
						
							| 
									
										
										
										
											2018-02-04 12:27:28 -08:00
										 |  |  |         let $spoilersShown = this.store.get('spoilersShown') | 
					
						
							| 
									
										
										
										
											2018-03-15 20:04:24 -07:00
										 |  |  |         $spoilersShown[uuid] = !$spoilersShown[uuid] | 
					
						
							| 
									
										
										
										
											2018-02-04 10:44:04 -08:00
										 |  |  |         this.store.set({'spoilersShown': $spoilersShown}) | 
					
						
							|  |  |  |         this.fire('recalculateHeight') | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | </script> |