()
| 21245 | const title = document.getElementById('netkb-detail-title'); |
| 21246 | const content = document.getElementById('netkb-detail-content'); |
| 21247 | |
| 21248 | if (!modal || !title || !content) return; |
| 21249 | |
| 21250 | title.textContent = `${entry.type.toUpperCase()}: ${entry.host}`; |
| 21251 | |
| 21252 | const discoveredDate = new Date(entry.discovered * 1000).toLocaleString(); |
| 21253 | const severityColor = getSeverityColor(entry.severity); |
| 21254 | |
| 21255 | content.innerHTML = ` |
| 21256 | <div class="grid grid-cols-1 md:grid-cols-2 gap-4"> |
| 21257 | <div class="space-y-3"> |
| 21258 | <div> |
| 21259 | <label class="text-sm text-gray-400">Host/Target</label> |
| 21260 | <div class="font-mono text-lg">${entry.host}</div> |
| 21261 | </div> |
| 21262 | <div> |
| 21263 | <label class="text-sm text-gray-400">Service/Port</label> |
| 21264 | <div class="font-mono">${entry.port || 'N/A'} ${entry.service ? '(' + entry.service + ')' : ''}</div> |
| 21265 | </div> |
| 21266 | <div> |
| 21267 | <label class="text-sm text-gray-400">Type</label> |
| 21268 | <div class="capitalize">${entry.type}</div> |
| 21269 | </div> |
| 21270 | <div> |
| 21271 | <label class="text-sm text-gray-400">Severity</label> |
| 21272 | <div><span class="px-2 py-1 rounded text-sm ${severityColor}">${entry.severity}</span></div> |
| 21273 | </div> |
| 21274 | </div> |
| 21275 | <div class="space-y-3"> |
| 21276 | <div> |
| 21277 | <label class="text-sm text-gray-400">Description</label> |
| 21278 | <div class="text-sm">${entry.description}</div> |
| 21279 | </div> |
| 21280 | <div> |
| 21281 | <label class="text-sm text-gray-400">Source</label> |
no test coverage detected