Skip to content

Commit

Permalink
improve code structure
Browse files Browse the repository at this point in the history
  • Loading branch information
seguinleo committed Jan 20, 2024
1 parent b9d44e4 commit f5ac7be
Show file tree
Hide file tree
Showing 11 changed files with 68 additions and 44 deletions.
2 changes: 1 addition & 1 deletion src/assets/css/style.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/assets/css/style.css.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 12 additions & 3 deletions src/assets/js/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -365,12 +365,18 @@ async function storeKeyInDB(db, objectStoreName, key) {
}

const showNotes = async () => {
document.querySelectorAll('#listNotes p').forEach((e) => e.remove());
document.querySelectorAll('#listNotes *').forEach((e) => e.remove());
document.querySelectorAll('.note').forEach((e) => e.remove());
forms.forEach((form) => form.reset());

if (notesJSON.length === 0) return;

const numberOfNotesElement = document.createElement('h2');
if (localStorage.getItem('language') === 'de') numberOfNotesElement.textContent = `Notizen (${notesJSON.length})`;
else if (localStorage.getItem('language') === 'es') numberOfNotesElement.textContent = `Notas (${notesJSON.length})`;
else numberOfNotesElement.textContent = `Notes (${notesJSON.length})`;
sideBar.querySelector('#listNotes').appendChild(numberOfNotesElement);

const dbName = 'notes_db';
const objectStoreName = 'key';
const db = await openIndexedDB(dbName, objectStoreName);
Expand Down Expand Up @@ -415,7 +421,7 @@ const showNotes = async () => {
const noteElement = document.createElement('div');
const detailsElement = document.createElement('div');
const titleElement = document.createElement('h2');
const contentElement = document.createElement('span');
const contentElement = document.createElement('div');
const bottomContentElement = document.createElement('div');
const editIconElement = document.createElement('i');
const trashIconElement = document.createElement('i');
Expand All @@ -435,6 +441,7 @@ const showNotes = async () => {
detailsElement.classList.add('details');
titleElement.classList.add('title');
titleElement.textContent = deTitleString;
contentElement.classList.add('detailsContent');

if (hidden === false) contentElement.innerHTML = contentHtml;
else contentElement.innerHTML = '<i class="fa-solid fa-eye-slash"></i>';
Expand Down Expand Up @@ -581,6 +588,8 @@ const copy = (content) => {
};

const deleteNote = async (e) => {
document.querySelectorAll('.note').forEach((note) => note.classList.remove('fullscreen'));
document.body.classList.remove('body-fullscreen');
let message = '';
if (localStorage.getItem('language') === 'fr') message = 'Êtes-vous sûr de vouloir supprimer cette note ?';
else if (localStorage.getItem('language') === 'de') message = 'Möchten Sie diese Notiz wirklich löschen?';
Expand Down Expand Up @@ -726,7 +735,7 @@ document.querySelector('#export-all-notes').addEventListener('click', () => {
const notes = [];
document.querySelectorAll('.note').forEach((e) => {
const title = e.querySelector('.title').textContent;
const content = e.querySelector('.details span').textContent;
const content = e.querySelector('.detailsContent').textContent;
const noteObject = {
title,
content,
Expand Down
31 changes: 20 additions & 11 deletions src/assets/js/scriptConnect.js
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ converter.setOption('simpleLineBreaks', true);
converter.setOption('simplifiedAutoLink', true);

const showNotes = async () => {
document.querySelectorAll('#listNotes p').forEach((e) => e.remove());
document.querySelectorAll('#listNotes *').forEach((e) => e.remove());
document.querySelectorAll('.note').forEach((e) => e.remove());
forms.forEach((form) => form.reset());

Expand All @@ -303,6 +303,12 @@ const showNotes = async () => {

if (data.length === 0) return;

const numberOfNotesElement = document.createElement('h2');
if (localStorage.getItem('language') === 'de') numberOfNotesElement.textContent = `Notizen (${data.length})`;
else if (localStorage.getItem('language') === 'es') numberOfNotesElement.textContent = `Notas (${data.length})`;
else numberOfNotesElement.textContent = `Notes (${data.length})`;
sideBar.querySelector('#listNotes').appendChild(numberOfNotesElement);

const fragment = document.createDocumentFragment();

data.forEach((row) => {
Expand All @@ -316,7 +322,7 @@ const showNotes = async () => {
const noteElement = document.createElement('div');
const detailsElement = document.createElement('div');
const titleElement = document.createElement('h2');
const contentElement = document.createElement('span');
const contentElement = document.createElement('div');
const bottomContentElement = document.createElement('div');
const editIconElement = document.createElement('i');
const paragraph = document.createElement('p');
Expand All @@ -336,6 +342,7 @@ const showNotes = async () => {
detailsElement.classList.add('details');
titleElement.classList.add('title');
titleElement.textContent = title;
contentElement.classList.add('detailsContent');

if (hidden === 0) contentElement.innerHTML = contentHtml;
else contentElement.innerHTML = '<i class="fa-solid fa-eye-slash"></i>';
Expand Down Expand Up @@ -554,11 +561,13 @@ const copy = (content) => {
};

const deleteNote = (e) => {
document.querySelectorAll('.note').forEach((note) => note.classList.remove('fullscreen'));
document.body.classList.remove('body-fullscreen');
let message = '';
if (window.location.href.endsWith('/en/')) message = 'Do you really want to delete this note?';
else if (window.location.href.endsWith('/de/')) message = 'Möchten Sie diese Notiz wirklich löschen?';
else if (window.location.href.endsWith('/es/')) message = '¿Estás seguro que quieres eliminar esta nota?';
else message = 'Êtes-vous sûr de vouloir supprimer cette note ?';
if (localStorage.getItem('language') === 'fr') message = 'Êtes-vous sûr de vouloir supprimer cette note ?';
else if (localStorage.getItem('language') === 'de') message = 'Möchten Sie diese Notiz wirklich löschen?';
else if (localStorage.getItem('language') === 'es') message = '¿Estás seguro que quieres eliminar esta nota?';
else message = 'Do you really want to delete this note?';
// eslint-disable-next-line no-alert
if (window.confirm(message)) fetchDelete(e);
};
Expand Down Expand Up @@ -668,10 +677,10 @@ document.querySelectorAll('.linkp').forEach((e) => {

document.querySelector('#delete-account').addEventListener('click', () => {
let message = '';
if (window.location.href.endsWith('/en/')) message = 'Do you really want to delete your account as well as all your notes saved in the cloud? Your username will become available again for other users.';
else if (window.location.href.endsWith('/de/')) message = 'Möchten Sie wirklich Ihr Konto sowie alle Ihre in der Cloud gespeicherten Notizen löschen? Ihr Benutzername wird für andere Benutzer wieder verfügbar.';
else if (window.location.href.endsWith('/es/')) message = '¿Estás seguro de que quieres eliminar tu cuenta y todas tus notas almacenadas en la nube? Su nombre de usuario volverá a estar disponible para otros usuarios.';
else message = 'Voulez-vous vraiment supprimer votre compte ainsi que toutes vos notes enregistrées dans le cloud ? Votre nom d\'utilisateur redeviendra disponible pour les autres utilisateurs.';
if (localStorage.getItem('language') === 'fr') message = 'Êtes-vous sûr de vouloir supprimer votre compte ainsi que toutes vos notes enregistrées dans le cloud ? Votre nom d\'utilisateur sera à nouveau disponible pour les autres utilisateurs.';
else if (localStorage.getItem('language') === 'de') message = 'Möchten Sie wirklich Ihr Konto sowie alle Ihre in der Cloud gespeicherten Notizen löschen? Ihr Benutzername wird für andere Benutzer wieder verfügbar.';
else if (localStorage.getItem('language') === 'es') message = '¿Estás seguro de que quieres eliminar tu cuenta y todas tus notas almacenadas en la nube? Su nombre de usuario volverá a estar disponible para otros usuarios.';
else message = 'Do you really want to delete your account as well as all your notes saved in the cloud? Your username will become available again for other users.';
// eslint-disable-next-line no-alert
if (window.confirm(message)) deleteAccount();
});
Expand Down Expand Up @@ -746,7 +755,7 @@ document.querySelector('#export-all-notes').addEventListener('click', () => {
const notes = [];
document.querySelectorAll('.note').forEach((e) => {
const title = e.querySelector('.title').textContent;
const content = e.querySelector('.details span').textContent;
const content = e.querySelector('.detailsContent').textContent;
const noteObject = {
title,
content,
Expand Down
Loading

0 comments on commit f5ac7be

Please sign in to comment.