diff --git a/Twitch Notes/twitch-notes.js b/Twitch Notes/twitch-notes.js
index 992d6b6..996e887 100644
--- a/Twitch Notes/twitch-notes.js
+++ b/Twitch Notes/twitch-notes.js
@@ -22,11 +22,23 @@
localStorage.setItem(LS_UserList, JSON.stringify(userList));
}
},
+ removeUserFromSavedList: (username) => {
+ let userList = Notes.getSavedUserList();
+ userList = userList.filter(u => u !== username);
+ if (userList.length) {
+ localStorage.setItem(LS_UserList, JSON.stringify(userList));
+ } else {
+ localStorage.removeItem(LS_UserList);
+ }
+ },
saveNote: (username, note) => {
- console.log({username, note});
Notes.addUserToSavedList(username);
localStorage.setItem(LS_Prefix + username, note);
},
+ deleteNote: (username) => {
+ Notes.removeUserFromSavedList(username);
+ localStorage.removeItem(LS_Prefix + username);
+ },
getNote: (username) => {
return localStorage.getItem(LS_Prefix + username) || "";
},
@@ -165,12 +177,6 @@
const spacer = createElement('div', null, null, {height: '24px'});
resultsContainer.appendChild(spacer);
- /*
- TODO: make popup to allow checking differences between existing notes and ones that would override them
- TODO: allow to edit notes and select which one to keep after import, if any content was modified after opening comparison window show that record was merged as a status
- TODO: show visually that records have some data that will be merged or overwritten entirely
- */
-
willBeOverwritten = willBeOverwritten.filter(x => !Notes.inputData.notes.find(n => n.user === x).resolved);
const saveButton = createElement('button', 'Complete import', 'twitch-notes-settings-button',
@@ -238,7 +244,33 @@
document.body.appendChild(blurredBackground);
},
clearAllData: () => {
- console.log('TODO: Implement Notes Data Clearing');
+ const blurredBackground = createElement('div', null, 'twitch-notes-blurred-background');
+ const container = createElement('div', 'This action will delete all saved notes!
Consider exporting notes before performing this action in case you will need to use notes again', 'twitch-notes-center-floating-container');
+
+ const spacer = createElement('div', null, null, {
+ height: '24px'
+ });
+ const deleteAction = createElement('button', 'DELETE ALL NOTES', 'twitch-notes-settings-button', {
+ background: 'red'
+ });
+ deleteAction.addEventListener('click', () => {
+ const users = Notes.getSavedUserList();
+ for(let user of users) {
+ Notes.deleteNote(user);
+ }
+ blurredBackground.remove();
+ })
+ const cancelAction = createElement('button', 'Cancel', 'twitch-notes-settings-button');
+ cancelAction.addEventListener('click', () => {
+ blurredBackground.remove();
+ })
+
+ container.appendChild(spacer);
+ container.appendChild(deleteAction);
+ container.appendChild(cancelAction);
+
+ blurredBackground.appendChild(container);
+ document.body.appendChild(blurredBackground);
},
openAllNotes: () => {
console.log('TODO: Implement Open All Notes functionality');