Merge branch 'dev'

This commit is contained in:
thororen1234 2025-08-22 14:39:31 -04:00
commit 9ea09bfbcb
No known key found for this signature in database
2 changed files with 56 additions and 0 deletions

View file

@ -0,0 +1,5 @@
# ImageFilename
Display the file name of images & GIFs as a tooltip when hovering over them
![](https://github.com/user-attachments/assets/44583f17-506f-4913-b85c-513eee77b645)

View file

@ -0,0 +1,51 @@
/*
* Vencord, a Discord client mod
* Copyright (c) 2025 Vendicated and contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import { definePluginSettings } from "@api/Settings";
import { Devs } from "@utils/constants";
import definePlugin, { OptionType } from "@utils/types";
const ImageExtensionRe = /\.(png|jpg|jpeg|gif|webp|avif)$/i;
const GifHostRegex = /^(.+?\.)?(tenor|giphy|imgur)\.com$/i;
const settings = definePluginSettings({
showFullUrl: {
description: "Show the full URL of the image instead of just the file name. Always enabled for GIFs because they usually have no meaningful file name",
type: OptionType.BOOLEAN,
default: false,
},
});
export default definePlugin({
name: "ImageFilename",
authors: [Devs.Ven],
description: "Display the file name of images & GIFs as a tooltip when hovering over them",
settings,
patches: [
{
find: ".clickableWrapper",
replacement: {
match: /\.originalLink,href:(\i)/,
replace: "$&,title:$self.getTitle($1)"
}
},
],
getTitle(src: string) {
try {
const url = new URL(src);
const isGif = GifHostRegex.test(url.hostname);
if (!isGif && !ImageExtensionRe.test(url.pathname)) return undefined;
return isGif || settings.store.showFullUrl
? src
: url.pathname.split("/").pop();
} catch {
return undefined;
}
}
});