add checks for forbidden actions

This commit is contained in:
Felix Roos 2023-12-07 20:28:01 +01:00
parent a45d87667f
commit 056fae518b

View File

@ -97,6 +97,9 @@ export function newUserPattern() {
} }
export function clearUserPatterns() { export function clearUserPatterns() {
if (!confirm(`This will delete all your patterns. Are you really sure?`)) {
return;
}
setUserPatterns({}); setUserPatterns({});
} }
@ -113,13 +116,17 @@ export function getUserPattern(key) {
} }
export function renameActivePattern() { export function renameActivePattern() {
const newName = prompt('Enter new name'); let activePattern = getSetting('activePattern');
let userPatterns = getUserPatterns(); let userPatterns = getUserPatterns();
if (!userPatterns[activePattern]) {
alert('Cannot rename examples');
return;
}
const newName = prompt('Enter new name', activePattern);
if (userPatterns[newName]) { if (userPatterns[newName]) {
alert('Name already taken!'); alert('Name already taken!');
return; return;
} }
let activePattern = getSetting('activePattern');
userPatterns[newName] = userPatterns[activePattern]; // copy code userPatterns[newName] = userPatterns[activePattern]; // copy code
delete userPatterns[activePattern]; delete userPatterns[activePattern];
setUserPatterns({ ...userPatterns }); setUserPatterns({ ...userPatterns });
@ -155,6 +162,13 @@ export function deleteActivePattern() {
return; return;
} }
const userPatterns = getUserPatterns(); const userPatterns = getUserPatterns();
if (!userPatterns[activePattern]) {
alert('Cannot delete examples');
return;
}
if (!confirm(`Really delete the selected pattern "${activePattern}"?`)) {
return;
}
setUserPatterns(Object.fromEntries(Object.entries(userPatterns).filter(([key]) => key !== activePattern))); setUserPatterns(Object.fromEntries(Object.entries(userPatterns).filter(([key]) => key !== activePattern)));
setActivePattern(''); setActivePattern('');
} }