From db1db68488bd2e184dee4841d5bfbefd9733f205 Mon Sep 17 00:00:00 2001 From: Maxim Dolgolyov Date: Tue, 23 Jun 2026 23:02:54 +0300 Subject: [PATCH] =?UTF-8?q?fix(wishes):=20TypeError=20=D0=B2=20toggleForm?= =?UTF-8?q?=20=E2=80=94=20lucide=20=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D1=8F?= =?UTF-8?q?=D0=BB=20=20=D0=BD=D0=B0=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Кнопка «Поделиться идеей» падала: btn.querySelector('i') возвращал null, т.к. lucide.createIcons при первом рендере заменяет на . Обернул иконку в стабильный контейнер #wq-new-ic и пере-вставляю свежий в его innerHTML перед icons() (с guard). Headless-смоук toggleForm 5/5 (open/close, смена иконки chevron-up/plus, без throw). Co-Authored-By: Claude Opus 4.8 (1M context) --- frontend/wishes.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/wishes.html b/frontend/wishes.html index aaabf94..eb92a1a 100644 --- a/frontend/wishes.html +++ b/frontend/wishes.html @@ -140,7 +140,7 @@
Есть идея, как сделать систему лучше? Расскажите — мы прочитаем и ответим.
@@ -224,7 +224,9 @@ const btn = document.getElementById('wq-new-btn'); btn.classList.toggle('open', _formOpen); document.getElementById('wq-new-lbl').textContent = _formOpen ? 'Свернуть' : 'Поделиться идеей'; - btn.querySelector('i').setAttribute('data-lucide', _formOpen ? 'chevron-up' : 'plus'); + // lucide заменяет на при рендере, поэтому пере-вставляем свежий в контейнер. + const ic = document.getElementById('wq-new-ic'); + if (ic) ic.innerHTML = ``; icons(); if (_formOpen) setTimeout(() => document.getElementById('wf-title').focus(), 80); }