fix(post): a non-direct link could be marked as media instead of webpage

This commit is contained in:
Tom (plebeius.eth)
2024-10-12 17:10:13 +02:00
parent 088ec8428b
commit e9280ac84c
+12 -11
View File
@@ -80,20 +80,21 @@ export const getLinkMediaInfo = memoize(
}
try {
const fileName = url.pathname.split('/').pop() || '';
if (fileName.includes('.')) {
mime = extName(fileName)[0]?.mime;
if (mime) {
if (mime.startsWith('image')) {
type = mime === 'image/gif' ? 'gif' : 'image';
} else if (mime.startsWith('video')) {
type = 'video';
} else if (mime.startsWith('audio')) {
type = 'audio';
}
mime = extName(new URL(link).pathname.toLowerCase().replace('/', ''))[0]?.mime;
if (mime) {
if (mime.startsWith('image')) {
type = mime === 'image/gif' ? 'gif' : 'image';
} else if (mime.startsWith('video')) {
type = 'video';
} else if (mime.startsWith('audio')) {
type = 'audio';
}
}
if (!url.pathname.includes('.')) {
type = 'webpage';
}
if (canEmbed(url) || url.host.startsWith('yt.')) {
type = 'iframe';
patternThumbnailUrl = getPatternThumbnailUrl(url);