| @@ -18,17 +18,26 @@ export default (({ post }: Props) => { | |||||
| { | { | ||||
| case 'nicovideo.jp': | case 'nicovideo.jp': | ||||
| { | { | ||||
| const [videoId] = url.pathname.match (/(?<=\/watch\/)[a-zA-Z0-9]+?(?=\/|$)/)! | |||||
| const mVideoId = url.pathname.match (/(?<=\/watch\/)[a-zA-Z0-9]+?(?=\/|$)/) | |||||
| if (!(mVideoId)) | |||||
| break | |||||
| const [videoId] = mVideoId | |||||
| return <NicoViewer id={videoId} width={640} height={360}/> | return <NicoViewer id={videoId} width={640} height={360}/> | ||||
| } | } | ||||
| case 'twitter.com': | case 'twitter.com': | ||||
| case 'x.com': | case 'x.com': | ||||
| const [userId] = url.pathname.match (/(?<=\/)[^\/]+?(?=\/|$|\?)/)! | |||||
| const [statusId] = url.pathname.match (/(?<=\/status\/)\d+?(?=\/|$|\?)/)! | |||||
| const mUserId = url.pathname.match (/(?<=\/)[^\/]+?(?=\/|$|\?)/) | |||||
| const mStatusId = url.pathname.match (/(?<=\/status\/)\d+?(?=\/|$|\?)/) | |||||
| if (!(mUserId) || !(mStatusId)) | |||||
| break | |||||
| const [userId] = mUserId | |||||
| const [statusId] = mStatusId | |||||
| return <TwitterEmbed userId={userId} statusId={statusId}/> | return <TwitterEmbed userId={userId} statusId={statusId}/> | ||||
| case 'youtube.com': | case 'youtube.com': | ||||
| { | { | ||||
| const videoId = url.searchParams.get ('v')! | |||||
| const videoId = url.searchParams.get ('v') | |||||
| if (!(videoId)) | |||||
| break | |||||
| return ( | return ( | ||||
| <YoutubeEmbed videoId={videoId} opts={{ playerVars: { | <YoutubeEmbed videoId={videoId} opts={{ playerVars: { | ||||
| playsinline: 1, | playsinline: 1, | ||||