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' && (