From 6eb60fa22dae5f87ccbf2d0974868bb8c55fc9f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sat, 7 Feb 2026 14:03:47 +0900 Subject: [PATCH] =?UTF-8?q?fix:Lucide=20=EC=95=84=EC=9D=B4=EC=BD=98=20?= =?UTF-8?q?=ED=98=B8=ED=99=98=EC=84=B1=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20?= =?UTF-8?q?=EC=95=A1=EC=85=98=EB=B2=84=ED=8A=BC=20=ED=95=AD=EC=83=81=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Lucide 0.563.0 API 변경 대응 (icons 객체 → 개별 PascalCase export) - 아이콘 이름 변환: kebab-case → PascalCase, 구버전 호환 유지 - 리네임된 아이콘 별칭 처리 (check-circle→CircleCheck 등) - 액션버튼(결과보기/다운로드/삭제) opacity-0 제거하여 항상 표시 Co-Authored-By: Claude Opus 4.6 --- .../system/ai-voice-recording/index.blade.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/resources/views/system/ai-voice-recording/index.blade.php b/resources/views/system/ai-voice-recording/index.blade.php index 8d8f037c..2a70102a 100644 --- a/resources/views/system/ai-voice-recording/index.blade.php +++ b/resources/views/system/ai-voice-recording/index.blade.php @@ -46,12 +46,22 @@ }; // ─── Lucide icon helper ─── +const kebabToPascal = (s) => s.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(''); +const iconAliases = {'check-circle':'CircleCheck','alert-circle':'CircleAlert','alert-triangle':'TriangleAlert'}; +const getIconDef = (name) => { + if (iconAliases[name] && lucide[iconAliases[name]]) return lucide[iconAliases[name]]; + const p = kebabToPascal(name); + if (lucide[p]) return lucide[p]; + if (lucide.icons && lucide.icons[name]) return lucide.icons[name]; + return null; +}; const Icon = ({ name, className = 'w-5 h-5', ...p }) => { const ref = useRef(null); useEffect(() => { - if (ref.current && lucide.icons[name]) { + const def = getIconDef(name); + if (ref.current && def) { ref.current.innerHTML = ''; - const s = lucide.createElement(lucide.icons[name]); + const s = lucide.createElement(def); s.setAttribute('class', className); ref.current.appendChild(s); } @@ -670,7 +680,7 @@ className={`w-5 h-5 ${item.status==='COMPLETED'?'text-emerald-600':item.status== {/* 액션 */} -
+
{item.status === 'COMPLETED' && (