[Glitch] Add support for links to statuses in announcements to be opened in web UI
Port aa67036b41d37935210c8b5094ac20c153a62011 to glitch-soc Signed-off-by: Thibaut Girka <thib@sitedethib.com>
This commit is contained in:
		
							parent
							
								
									669cf49c54
								
							
						
					
					
						commit
						9c29229587
					
				@ -95,6 +95,10 @@ class Content extends ImmutablePureComponent {
 | 
				
			|||||||
      } else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {
 | 
					      } else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {
 | 
				
			||||||
        link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false);
 | 
					        link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false);
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
 | 
					        let status = this.props.announcement.get('statuses').find(item => link.href === item.get('url'));
 | 
				
			||||||
 | 
					        if (status) {
 | 
				
			||||||
 | 
					          link.addEventListener('click', this.onStatusClick.bind(this, status), false);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        link.setAttribute('title', link.href);
 | 
					        link.setAttribute('title', link.href);
 | 
				
			||||||
        link.classList.add('unhandled-link');
 | 
					        link.classList.add('unhandled-link');
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -120,6 +124,13 @@ class Content extends ImmutablePureComponent {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  onStatusClick = (status, e) => {
 | 
				
			||||||
 | 
					    if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) {
 | 
				
			||||||
 | 
					      e.preventDefault();
 | 
				
			||||||
 | 
					      this.context.router.history.push(`/statuses/${status.get('id')}`);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  handleEmojiMouseEnter = ({ target }) => {
 | 
					  handleEmojiMouseEnter = ({ target }) => {
 | 
				
			||||||
    target.src = target.getAttribute('data-original');
 | 
					    target.src = target.getAttribute('data-original');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user