Polish mobile UI and editor workflows

This commit is contained in:
pewdiepie-archdaemon
2026-06-27 13:05:44 +00:00
parent 87e46e576a
commit 45ee5a71f4
48 changed files with 6455 additions and 1177 deletions
+5 -1
View File
@@ -2774,6 +2774,7 @@ function _collectFormDraft(form) {
const d = {
_ts: Date.now(),
note_type: type,
color: form.dataset.noteColor || '',
title: form.querySelector('.note-form-title')?.value || '',
label: form.querySelector('.note-form-label')?.value || '',
due_date: form.querySelector('.note-form-due')?.value || null,
@@ -2819,7 +2820,7 @@ function _applyDraftToNote(note, id) {
const d = _loadDraft(id);
if (_isDraftEmpty(d)) return { note, restored: false };
const merged = { ...(note || {}) };
['note_type', 'title', 'label', 'due_date', 'repeat', 'content', 'items'].forEach(k => {
['note_type', 'color', 'title', 'label', 'due_date', 'repeat', 'content', 'items'].forEach(k => {
if (d[k] !== undefined) merged[k] = d[k];
});
return { note: merged, restored: true };
@@ -2835,6 +2836,7 @@ function _buildForm(note = null) {
const form = document.createElement('div');
form.className = 'note-form';
form.dataset.noteColor = color || '';
if (color && !_isBgImage(color)) form.classList.add('note-color-' + color);
if (_isBgImage(color)) form.setAttribute('style', _customColorStyle(color));
let currentImageUrl = _safeImgSrc(note?.image_url || '');
@@ -3038,6 +3040,7 @@ function _buildForm(note = null) {
// Color dots — apply to entire form immediately
const _applyFormColor = (newColor) => {
currentColor = newColor || '';
form.dataset.noteColor = currentColor;
const isBg = _isBgImage(currentColor);
COLORS.forEach(c => { if (c.value && c.value !== 'custom') form.classList.remove('note-color-' + c.value); });
if (currentColor && !isBg) form.classList.add('note-color-' + currentColor);
@@ -3047,6 +3050,7 @@ function _buildForm(note = null) {
d.classList.toggle('active', _dotIsActive(d.dataset.color, currentColor));
d.style.background = _dotBg(d.dataset.color, currentColor);
});
form.dispatchEvent(new Event('change', { bubbles: true }));
};
form.querySelectorAll('.note-color-dot').forEach(dot => {
dot.addEventListener('click', () => {