/popup allow header arg, with sanitization

e4e10c3d6b3ab8ab02844bc7c01fca6f4912f007

Wolfsblvt <wolfsblvt@gmail.com>

1 files changed, +4 -2Ignore whitespace
public/scripts/slash-commands.js+4 -2
@@ -1908,7 +1908,9 @@ async function buttonsCallback(args, text) {
1908}1908}
19091909
1910async function popupCallback(args, value) {1910async function popupCallback(args, value) {
1911 const safeValue = DOMPurify.sanitize(value || '');1911 const safeBody = DOMPurify.sanitize(value || '');
1912 const safeHeader = args?.header && typeof args?.header === 'string' ? DOMPurify.sanitize(args.header) : null;
1913
1912 /** @type {import('./popup.js').PopupOptions} */1914 /** @type {import('./popup.js').PopupOptions} */
1913 const popupOptions = {1915 const popupOptions = {
1914 large: isTrueBoolean(args?.large),1916 large: isTrueBoolean(args?.large),
@@ -1918,7 +1920,7 @@ async function popupCallback(args, value) {
1918 okButton: args?.okButton !== undefined && typeof args?.okButton === 'string' ? args.okButton : 'Ok',1920 okButton: args?.okButton !== undefined && typeof args?.okButton === 'string' ? args.okButton : 'Ok',
1919 cancelButton: args?.cancelButton !== undefined && typeof args?.cancelButton === 'string' ? args.cancelButton : null,1921 cancelButton: args?.cancelButton !== undefined && typeof args?.cancelButton === 'string' ? args.cancelButton : null,
1920 };1922 };
1921 await callGenericPopup(safeValue, POPUP_TYPE.TEXT, '', popupOptions);1923 await Popup.show.text(safeHeader, safeBody, popupOptions);
1922 return String(value);1924 return String(value);
1923}1925}
19241926