The code now uses local storage rather than a cookie to store custom text

This commit is contained in:
Ilia Miheev
2025-02-02 11:56:58 +03:00
parent cd4a801095
commit ca34736693
+13 -25
View File
@@ -8,22 +8,13 @@ const zoomInBtn = document.getElementById('zoom-in-btn');
const zoomOutBtn = document.getElementById('zoom-out-btn'); const zoomOutBtn = document.getElementById('zoom-out-btn');
let scale = 1; // Начальный масштаб let scale = 1; // Начальный масштаб
// Получить cookie // Установление значения поля ввода из local storage
function getCookie(name) {
let cookies = document.cookie.split("; ");
for (let cookie of cookies) {
let [key, value] = cookie.split("=");
if (key === name) return decodeURIComponent(value);
}
return null;
}
window.onload = () => { window.onload = () => {
let inputText = getCookie('text'); let inputText = localStorage.getItem('userText');
if (inputText) { if (inputText) {
textInput.value = inputText; textInput.value = inputText;
} else { } else {
document.cookie = 'text=' localStorage.setItem('userText', '')
} }
} }
@@ -34,15 +25,15 @@ function logMessage(message, color = 'red') {
} }
// Генерация QR-кода // Генерация QR-кода
function generateQRCode() { generateBtn.addEventListener('click', () => {
const text = textInput.value.trim(); const userText = textInput.value.trim();
document.cookie = `text=${text}` if (!userText) {
if (!text) {
logMessage('Введите текст для генерации QR-кода!'); logMessage('Введите текст для генерации QR-кода!');
return; return;
}; };
localStorage.setItem('userText', userText);
qrCodeDiv.innerHTML = ''; qrCodeDiv.innerHTML = '';
QRCode.toCanvas(text, (error, canvas) => { QRCode.toCanvas(userText, (error, canvas) => {
if (error) { if (error) {
console.error(error); console.error(error);
logMessage('Ошибка при генерации QR-кода.'); logMessage('Ошибка при генерации QR-кода.');
@@ -52,28 +43,25 @@ function generateQRCode() {
logMessage(''); logMessage('');
canvas.style.transform = `scale(${scale})`; canvas.style.transform = `scale(${scale})`;
canvas.style.transformOrigin = 'top'; canvas.style.transformOrigin = 'top';
})
}); });
}
// Обработчик клика по кнопке "Сгенерировать"
generateBtn.addEventListener('click', generateQRCode);
// Скачивание QR-кода // Скачивание QR-кода
downloadQrBtn.addEventListener('click', () => { downloadQrBtn.addEventListener('click', () => {
text = textInput.value.slice(0, 20) let userText = textInput.value.slice(0, 20)
const canvas = qrCodeDiv.querySelector('canvas'); const canvas = qrCodeDiv.querySelector('canvas');
if (!canvas) { if (!canvas) {
logMessage('QR-код не сгенерирован!'); logMessage('QR-код не сгенерирован!');
return; return;
} }
if (!text) { if (!userText) {
logMessage('Отсутствует текст в поле для ввода'); logMessage('Отсутствует текст в поле для ввода');
return; return;
} }
const link = document.createElement('a'); const link = document.createElement('a');
link.href = canvas.toDataURL('image/png'); link.href = canvas.toDataURL('image/png');
link.download = `qr-code-${text}.png`; link.download = `qr-code-${userText}.png`;
link.click(); link.click();
logMessage('QR-код скачан!', 'green'); logMessage('QR-код скачан!', 'green');
}); });
@@ -84,7 +72,7 @@ delBtn.addEventListener('click', () => {
qrCodeDiv.innerHTML = ''; qrCodeDiv.innerHTML = '';
textError.innerText = ''; textError.innerText = '';
scale = 1; scale = 1;
document.cookie = 'text='; localStorage.removeItem('userText');
}); });
// Изменить значение шкалы // Изменить значение шкалы