Fix not being able to close the gallery on SD gens.

This commit is contained in:
Cohee 2023-09-12 19:23:33 +03:00
parent abc1555c19
commit 51e2a3afcf
1 changed files with 17 additions and 2 deletions

View File

@ -368,6 +368,21 @@ function makeDragImg(id, url) {
}); });
} }
/**
* Sanitizes a given ID to ensure it can be used as an HTML ID.
* This function replaces spaces and non-word characters with dashes.
* It also removes any non-ASCII characters.
* @param {string} id - The ID to be sanitized.
* @returns {string} - The sanitized ID.
*/
function sanitizeHTMLId(id){
// Replace spaces and non-word characters
id = id.replace(/\s+/g, '-')
.replace(/[^\x00-\x7F]/g, '-')
.replace(/\W/g, '');
return id;
}
/** /**
* Processes a list of items (containing URLs) and creates a draggable box for the first item. * Processes a list of items (containing URLs) and creates a draggable box for the first item.
@ -380,9 +395,9 @@ function makeDragImg(id, url) {
*/ */
function viewWithDragbox(items) { function viewWithDragbox(items) {
if (items && items.length > 0) { if (items && items.length > 0) {
var url = items[0].responsiveURL(); // Get the URL of the clicked image/video const url = items[0].responsiveURL(); // Get the URL of the clicked image/video
// ID should just be the last part of the URL, removing the extension // ID should just be the last part of the URL, removing the extension
var id = url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('.')); const id = sanitizeHTMLId(url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('.')));
makeDragImg(id, url); makeDragImg(id, url);
} }
} }