{% extends "base.html" %} {% block title %}{{ filename }}{% endblock %} {% block header %} Back 🎲 Random note Copy edit command {% endblock %} {% block content %} {{ content|safe }} {% endblock %} {% block scripts %} const sseUrl = "{{ sse_url }}"; function connect() { const evtSource = new EventSource(sseUrl); evtSource.onerror = (err) => { evtSource.close(); setTimeout(connect, 3000); }; evtSource.addEventListener("reload", (event) => { console.log("Get new update event"); location.reload(); }); } connect(); document.querySelectorAll('.task-list-item-checkbox').forEach(cb => { cb.addEventListener('change', function() { const taskText = this.parentElement.textContent.trim(); const items = JSON.parse(localStorage.getItem('taskStates') || '{}'); items[taskText] = this.checked; localStorage.setItem('taskStates', JSON.stringify(items)); }); // Восстановление состояния const taskText = this.parentElement.textContent.trim(); const items = JSON.parse(localStorage.getItem('taskStates') || '{}'); if (items[taskText] !== undefined) { this.checked = items[taskText]; } }); {% endblock %}