diff --git a/frontend/components/screen/InteractiveDataTable.tsx b/frontend/components/screen/InteractiveDataTable.tsx index 7a150e57..b0b8dc59 100644 --- a/frontend/components/screen/InteractiveDataTable.tsx +++ b/frontend/components/screen/InteractiveDataTable.tsx @@ -226,12 +226,14 @@ export const InteractiveDataTable: React.FC = ({ }; }); mappings[col.columnName] = mapping; + console.log(`✅ 카테고리 매핑 로드 성공 [${col.columnName}]:`, mapping); } } catch (error) { - // 카테고리 값 로드 실패 시 무시 + console.error(`❌ 카테고리 값 로드 실패 [${col.columnName}]:`, error); } } + console.log("📊 전체 카테고리 매핑:", mappings); setCategoryMappings(mappings); } catch (error) { console.error("카테고리 매핑 로드 실패:", error); @@ -1915,24 +1917,26 @@ export const InteractiveDataTable: React.FC = ({ switch (actualWebType) { case "category": { // 카테고리 타입: 배지로 표시 + if (!value) return ""; + const mapping = categoryMappings[column.columnName]; - if (mapping && value) { - const categoryData = mapping[String(value)]; - if (categoryData) { - return ( - - {categoryData.label} - - ); - } - } - return String(value || ""); + const categoryData = mapping?.[String(value)]; + + // 매핑 데이터가 있으면 라벨과 색상 사용, 없으면 코드값과 기본색상 + const displayLabel = categoryData?.label || String(value); + const displayColor = categoryData?.color || "#64748b"; // 기본 slate 색상 + + return ( + + {displayLabel} + + ); } case "date":