remove adding template

This commit is contained in:
2024-12-06 03:09:42 +03:00
parent b89af2ca0d
commit 99e0abf45a
2 changed files with 0 additions and 137 deletions

View File

@@ -17,7 +17,6 @@
<div class="container"> <div class="container">
<div class="header"> <div class="header">
<h1 class="name fs-4 fw-lighter font-monospace">Твои шаблоны</h1> <h1 class="name fs-4 fw-lighter font-monospace">Твои шаблоны</h1>
<button class="template-add btn btn-primary" type="button"><i class="fa-duotone fa-plus"></i></button>
</div> </div>
<div class="templates" id="template-list"> <div class="templates" id="template-list">

View File

@@ -182,142 +182,6 @@ function copyToClipboard(text) {
}); });
}; };
const templatesEl = document.querySelector('.templates');
const addBtn = document.querySelector('.template-add');
const editExisted = document.querySelector('template-edit-existed');
function createTemplate(title, RUText, ENText) {
const templateId = Date.now();
const templateEl = document.createElement('span');
templateEl.setAttribute('data-template-id', templateId);
templateEl.classList.add('template');
templateEl.innerHTML = `
<span id="template-title" class="font-monospace">${title}</span>
<div class="bigFormochka">
<div class="formochka">
<input id="template-title-input" class="hidden form-control-sm"></input>
<textarea id="template-textareaRU" class="hidden form-control-lg border-2" rows="1" cols="30.5">${RUText}</textarea>
<textarea id="template-textareaEN" class="hidden form-control-lg border-2" rows="1" cols="30.5">${ENText}</textarea>
</div>
<span class="buttonsLong">
<span class="btn btn-light" data-ru-text="${RUText}" id="template-ru-text">RU</span>
<span class="btn btn-light" data-en-text="${ENText}" id="template-en-text">ENG</span>
<button class="template-edit btn"><i class="fa-solid fa-pen-to-square"></i></button>
<button class="template-delete btn"><i class="fa-solid fa-trash"></i></button>
</span>
</span>
</div> `
const editBtn = templateEl.querySelector('.template-edit');
const deleteBtn = templateEl.querySelector('.template-delete');
const titleEl = templateEl.querySelector('#template-title');
const textRUEl = templateEl.querySelector('#template-ru-text');
const textENEl = templateEl.querySelector('#template-en-text');
const titleInputEl = templateEl.querySelector('#template-title-input');
const textRUInputEl = templateEl.querySelector('#template-textareaRU');
const textENInputEl = templateEl.querySelector('#template-textareaEN');
editBtn.addEventListener('click', (e) => {
titleEl.classList.toggle('hidden');
textRUEl.classList.toggle('hidden');
textENEl.classList.toggle('hidden');
titleInputEl.classList.toggle('hidden');
textRUInputEl.classList.toggle('hidden');
textENInputEl.classList.toggle('hidden');
});
deleteBtn.addEventListener('click', (e) => {
const templates = JSON.parse(localStorage.getItem('templates')) || [];
const templateIndex = templates.findIndex(template => template.title === titleEl.innerText);
if (templateIndex !== -1) {
templates.splice(templateIndex, 1);
localStorage.setItem('templates', JSON.stringify(templates));
}
templateEl.remove();
});
titleInputEl.addEventListener('change', (e) => {
titleEl.innerText = e.target.value;
navigator.clipboard.writeText(titleEl);
updateTemplateInLocalStorage(title, 'title', e.target.value);
});
textRUInputEl.addEventListener('change', (e) => {
textRUEl.dataset.ruText = e.target.value;
navigator.clipboard.writeText(textRUEl);
updateTemplateInLocalStorage(title, 'RUText', e.target.value);
});
textENInputEl.addEventListener('change', (e) => {
textENEl.dataset.enText = e.target.value;
navigator.clipboard.writeText(textRUEl);
updateTemplateInLocalStorage(title, 'ENText', e.target.value);
});
textRUEl.addEventListener('click', (e) => {
navigator.clipboard.writeText(e.target.dataset.ruText)
.then(() => {
console.log('Текст RU скопирован в буфер обмена');
})
.catch(err => {
console.error('Не удалось скопировать текст RU: ', err);
});
});
textENEl.addEventListener('click', (e) => {
navigator.clipboard.writeText(e.target.dataset.enText)
.then(() => {
console.log('Текст EN скопирован в буфер обмена');
})
.catch(err => {
console.error('Не удалось скопировать текст EN: ', err);
});
});
return templateEl;
};
function saveTemplateToLocalStorage(title, RUText, ENText) {
const template = {
title: title,
RUText: RUText,
ENText: ENText
};
const templates = JSON.parse(localStorage.getItem('templates')) || [];
templates.push(template);
localStorage.setItem('templates', JSON.stringify(templates));
};
function updateTemplateInLocalStorage(title, key, value) {
const templates = JSON.parse(localStorage.getItem('templates')) || [];
const templateIndex = templates.findIndex(template => template.title === title);
if (templateIndex !== -1) {
templates[templateIndex][key] = value;
localStorage.setItem('templates', JSON.stringify(templates));
};
};
addBtn.addEventListener('click', (e) => {
const title = "Title";
const RUText = "RUText";
const ENText = "ENText";
const el = createTemplate(title, RUText, ENText);
templatesEl.appendChild(el);
saveTemplateToLocalStorage(title, RUText, ENText);
});
window.onload = function () {
const templates = JSON.parse(localStorage.getItem('templates')) || [];
templates.forEach(template => {
const el = createTemplate(template.title, template.RUText, template.ENText);
templatesEl.appendChild(el);
});
};
const themeToggle = document.getElementById('theme-toggle'); const themeToggle = document.getElementById('theme-toggle');
const themeIcon = document.getElementById('theme-icon'); const themeIcon = document.getElementById('theme-icon');