Your getYouTubeThumbnail function works as intended with regular youtube links, however it may run into problems when extra params are added after the videoID.
Using url.split("v=")[1]
retrieves the portion of the URL that comes after "v=".
const getYouTubeThumbnail = (url: string) => {
const videoId = url.split("v=")[1]?.split("&")[0]; // Gets the part after "v=" and splits by "&" to remove additional parameters
return `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`;
};
by applying .split("&")[0]
, it separates any additional parameters that may follow the video ID and captures only the first segment, ensuring that you obtain just the video ID.