Fix duplicateQrSet Fixes #4364

c8b02dfd6841806da07507be2a53d745dc717648

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +7 -3Showing whitespace changes
public/scripts/extensions/quick-reply/src/QuickReplySet.js+4 -0
@@ -9,6 +9,10 @@ import { QuickReply } from './QuickReply.js';
99export class QuickReplySet {
1010 /**@type {QuickReplySet[]}*/ static list = [];
1111
12+ /**
13+ * @param {Partial<QuickReplySet>} props
14+ * @returns {QuickReplySet}
15+ */
1216 static from(props) {
1317 props.qrList = []; //props.qrList?.map(it=>QuickReply.from(it));
1418 const instance = Object.assign(new this(), props);
public/scripts/extensions/quick-reply/src/ui/SettingsUi.js+3 -3
@@ -470,10 +470,10 @@ export class SettingsUi {
470470 toastr.error(`A Quick Reply Set named "${newName}" already exists.`);
471471 return;
472472 }
473473 const newQrSet = QuickReplySet.from(JSON.parse(JSON.stringify(this.currentQrSet).toJSON());
474474 newQrSet.name = newName;
475475 newQrSet.qrList = this.currentQrSet.qrList.map(qr => QuickReply.from(JSON.parse(JSONqr.stringifytoJSON(qr))));
476476 newQrSet.addQuickReplyinit();
477477 const idx = QuickReplySet.list.findIndex(it => it.name.toLowerCase().localeCompare(newName.toLowerCase()) == 1);
478478 if (idx > -1) {
479479 QuickReplySet.list.splice(idx, 0, newQrSet);