diff --git a/frontend/src/components/PostEmbed.tsx b/frontend/src/components/PostEmbed.tsx index c375ca1..d5e7cba 100644 --- a/frontend/src/components/PostEmbed.tsx +++ b/frontend/src/components/PostEmbed.tsx @@ -18,17 +18,26 @@ export default (({ post }: Props) => { { 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 } case 'twitter.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 case 'youtube.com': { - const videoId = url.searchParams.get ('v')! + const videoId = url.searchParams.get ('v') + if (!(videoId)) + break return (