Update url-preview.vue
This commit is contained in:
		
							parent
							
								
									ebf0479ecc
								
							
						
					
					
						commit
						6a92c19227
					
				
					 1 changed files with 21 additions and 14 deletions
				
			
		| 
						 | 
					@ -67,13 +67,20 @@ export default Vue.extend({
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (url.hostname == 'www.youtube.com') {
 | 
							if (url.hostname == 'www.youtube.com') {
 | 
				
			||||||
			this.youtubeId = url.searchParams.get('v');
 | 
								this.youtubeId = url.searchParams.get('v');
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
		} else if (url.hostname == 'youtu.be') {
 | 
							} else if (url.hostname == 'youtu.be') {
 | 
				
			||||||
			this.youtubeId = url.pathname;
 | 
								this.youtubeId = url.pathname;
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
		} else if (url.hostname == 'open.spotify.com') {
 | 
							} else if (url.hostname == 'open.spotify.com') {
 | 
				
			||||||
			this.spotifyId = url.pathname.split('/').reverse().filter(x => x !== '')[0];
 | 
								this.spotifyId = url.pathname.split('/').reverse().filter(x => x !== '')[0];
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
		} else if (['nicovideo.jp', 'www.nicovideo.jp', 'nico.ms'].includes(url.hostname)) {
 | 
							} else if (['nicovideo.jp', 'www.nicovideo.jp', 'nico.ms'].includes(url.hostname)) {
 | 
				
			||||||
			this.nicovideoId = url.pathname.split('/').reverse().filter(x => x !== '')[0];
 | 
								const id = url.pathname.split('/').reverse().filter(x => x !== '')[0];
 | 
				
			||||||
			this.position = url.searchParams.get('from');
 | 
								if (['sm', 'nm', 'ax', 'ca', 'cd', 'cw', 'fx', 'ig', 'na', 'om', 'sd', 'sk', 'yk', 'yo', 'za', 'zb', 'zc', 'zd', 'ze', 'nl', 'so', ...Array(10).keys()].some(x => id.startsWith(x)) {
 | 
				
			||||||
 | 
									this.nicovideoId = id;
 | 
				
			||||||
 | 
									this.position = url.searchParams.get('from');
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		} else if (this.detail && url.hostname == 'twitter.com' && /^\/.+\/status(es)?\/\d+/.test(url.pathname)) {
 | 
							} else if (this.detail && url.hostname == 'twitter.com' && /^\/.+\/status(es)?\/\d+/.test(url.pathname)) {
 | 
				
			||||||
			this.tweetUrl = url;
 | 
								this.tweetUrl = url;
 | 
				
			||||||
			const twttr = (window as any).twttr || {};
 | 
								const twttr = (window as any).twttr || {};
 | 
				
			||||||
| 
						 | 
					@ -93,19 +100,19 @@ export default Vue.extend({
 | 
				
			||||||
				twttr.ready = loadTweet;
 | 
									twttr.ready = loadTweet;
 | 
				
			||||||
				(window as any).twttr = twttr;
 | 
									(window as any).twttr = twttr;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		} else {
 | 
								return;
 | 
				
			||||||
			fetch('/url?url=' + encodeURIComponent(this.url)).then(res => {
 | 
					 | 
				
			||||||
				res.json().then(info => {
 | 
					 | 
				
			||||||
					this.title = info.title;
 | 
					 | 
				
			||||||
					this.description = info.description;
 | 
					 | 
				
			||||||
					this.thumbnail = info.thumbnail;
 | 
					 | 
				
			||||||
					this.icon = info.icon;
 | 
					 | 
				
			||||||
					this.sitename = info.sitename;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
					this.fetching = false;
 | 
					 | 
				
			||||||
				});
 | 
					 | 
				
			||||||
			});
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							fetch('/url?url=' + encodeURIComponent(this.url)).then(res => {
 | 
				
			||||||
 | 
								res.json().then(info => {
 | 
				
			||||||
 | 
									this.title = info.title;
 | 
				
			||||||
 | 
									this.description = info.description;
 | 
				
			||||||
 | 
									this.thumbnail = info.thumbnail;
 | 
				
			||||||
 | 
									this.icon = info.icon;
 | 
				
			||||||
 | 
									this.sitename = info.sitename;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									this.fetching = false;
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue