diff --git a/public/scripts/extensions/expressions/index.js b/public/scripts/extensions/expressions/index.js
index 9e91bd888..338778579 100644
--- a/public/scripts/extensions/expressions/index.js
+++ b/public/scripts/extensions/expressions/index.js
@@ -2081,20 +2081,25 @@ async function onClickExpressionDelete(event) {
// Prevents the expression from being set
event.stopPropagation();
- const confirmation = await callPopup('
Are you sure?
Once deleted, it\'s gone forever!', 'confirm');
+ const expressionListItem = $(this).closest('.expression_list_item');
+ const expression = expressionListItem.data('expression');
+ const confirmation = await Popup.show.confirm(t`Delete Expression`, t`Are you sure you want to delete this expression? Once deleted, it\'s gone forever!`
+ + '
'
+ + t`Expression: `
+ + expressionListItem.attr('data-filename'));
if (!confirmation) {
return;
}
- const expression = $(this).closest('.expression_list_item').data('expression');
+ const fileName = expressionListItem.attr('data-filename');
const name = $('#image_list').data('name');
try {
await fetch('/api/sprites/delete', {
method: 'POST',
headers: getRequestHeaders(),
- body: JSON.stringify({ name, label: expression }),
+ body: JSON.stringify({ name, label: expression, spriteName: fileName }),
});
} catch (error) {
toastr.error('Failed to delete image. Try again later.');
diff --git a/src/endpoints/sprites.js b/src/endpoints/sprites.js
index 4c5c5af85..4ddd4fe96 100644
--- a/src/endpoints/sprites.js
+++ b/src/endpoints/sprites.js
@@ -147,8 +147,9 @@ router.get('/get', jsonParser, function (request, response) {
router.post('/delete', jsonParser, async (request, response) => {
const label = request.body.label;
const name = request.body.name;
+ const spriteName = request.body.spriteName || label;
- if (!label || !name) {
+ if (!spriteName || !name) {
return response.sendStatus(400);
}
@@ -164,7 +165,7 @@ router.post('/delete', jsonParser, async (request, response) => {
// Remove existing sprite with the same label
for (const file of files) {
- if (path.parse(file).name === label) {
+ if (path.parse(file).name === spriteName) {
fs.rmSync(path.join(spritesPath, file));
}
}