visual consolidation
This commit is contained in:
parent
2d01db907a
commit
ba3a5461b4
@ -32,7 +32,7 @@ const hasKnowledgebase = tool.knowledgebase === true;
|
|||||||
const cardClass = hasValidProjectUrl ? 'card card-hosted tool-card' : (tool.license !== 'Proprietary' ? 'card card-oss tool-card' : 'card tool-card');
|
const cardClass = hasValidProjectUrl ? 'card card-hosted tool-card' : (tool.license !== 'Proprietary' ? 'card card-oss tool-card' : 'card tool-card');
|
||||||
---
|
---
|
||||||
|
|
||||||
<div class={cardClass} onclick={`window.showToolDetails('${tool.name}')`} style="cursor: pointer;">
|
<div class={cardClass} onclick={`window.showToolDetails('${tool.name}')`} style="cursor: pointer; border-left: 4px solid ${hasValidProjectUrl ? 'var(--color-hosted)' : tool.license !== 'Proprietary' ? 'var(--color-oss)' : 'var(--color-border)'};">
|
||||||
<!-- Card Header with Fixed Height -->
|
<!-- Card Header with Fixed Height -->
|
||||||
<div class="tool-card-header">
|
<div class="tool-card-header">
|
||||||
<h3>{tool.name}</h3>
|
<h3>{tool.name}</h3>
|
||||||
|
@ -34,9 +34,15 @@ domains.forEach((domain: any) => {
|
|||||||
<div id="matrix-container" class="matrix-wrapper" style="display: none;">
|
<div id="matrix-container" class="matrix-wrapper" style="display: none;">
|
||||||
<!-- Domain-Agnostic Software Sections -->
|
<!-- Domain-Agnostic Software Sections -->
|
||||||
{domainAgnosticTools.map((sectionData: any, index: number) => (
|
{domainAgnosticTools.map((sectionData: any, index: number) => (
|
||||||
<div id={`domain-agnostic-section-${sectionData.section.id}`} class="collaboration-section-collapsed" style="margin-bottom: 1.5rem;">
|
<div id={`domain-agnostic-section-${sectionData.section.id}`} class="card collaboration-section-collapsed" style="margin-bottom: 1.5rem; border-left: 4px solid var(--color-accent);">
|
||||||
<div class="collaboration-header" onclick={`toggleDomainAgnosticSection('${sectionData.section.id}')`} style="cursor: pointer; display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.1rem;">
|
<div class="collaboration-header" onclick={`toggleDomainAgnosticSection('${sectionData.section.id}')`} style="cursor: pointer; display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.1rem;">
|
||||||
<h3 style="margin: 0; color: var(--color-text); font-size: 1.125rem;">
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--color-accent)" stroke-width="2" style="margin-right: 0.5rem;">
|
||||||
|
<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/>
|
||||||
|
<circle cx="8.5" cy="7" r="4"/>
|
||||||
|
<line x1="20" y1="8" x2="20" y2="14"/>
|
||||||
|
<line x1="23" y1="11" x2="17" y2="11"/>
|
||||||
|
</svg>
|
||||||
|
<h3 style="margin: 0; color: var(--color-accent); font-size: 1.125rem;">
|
||||||
{sectionData.section.name}
|
{sectionData.section.name}
|
||||||
<span id={`count-${sectionData.section.id}`} class="badge" style="background-color: var(--color-text-secondary); color: var(--color-bg); margin-left: 0.5rem; font-size: 0.75rem;">
|
<span id={`count-${sectionData.section.id}`} class="badge" style="background-color: var(--color-text-secondary); color: var(--color-bg); margin-left: 0.5rem; font-size: 0.75rem;">
|
||||||
{sectionData.tools.length}
|
{sectionData.tools.length}
|
||||||
|
@ -14,12 +14,12 @@ const tools = data.tools;
|
|||||||
|
|
||||||
<BaseLayout title="~/">
|
<BaseLayout title="~/">
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
<section style="text-align: center; padding: 3rem 0; border-bottom: 1px solid var(--color-border);">
|
<section style="padding: 2rem 0 1rem; border-bottom: 1px solid var(--color-border);">
|
||||||
<h1 style="margin-bottom: 1.5rem;">CC24 Incident Response Framework</h1>
|
<div style="text-align: center; margin-bottom: 2rem; padding: 2rem; background: linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%); border-radius: 1rem; border: 1px solid var(--color-border);">
|
||||||
|
<h1 style="margin-bottom: 1rem; font-size: 2.5rem; color: var(--color-primary);">CC24 Incident Response Framework</h1>
|
||||||
|
|
||||||
<div style="max-width: 900px; margin: 0 auto;">
|
<p style="font-size: 1.25rem; margin-bottom: 1rem; color: var(--color-text);">
|
||||||
<p style="font-size: 1.25rem; margin-bottom: 1.5rem; color: var(--color-text);">
|
<strong>Das richtige Werkzeug zur richtigen Zeit</strong> – in der digitalen Forensik entscheidet oft die Wahl der passenden Methode oder Software über Erfolg oder Misserfolg einer Untersuchung.
|
||||||
<strong>Das richtige Werkzeug zur richtigen Zeit</strong> – in der digitalen Forensik entscheidet oft die Wahl des passenden Tools über Erfolg oder Misserfolg einer Untersuchung.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="text-muted" style="font-size: 1.125rem; margin-bottom: 1.5rem; line-height: 1.7;">
|
<p class="text-muted" style="font-size: 1.125rem; margin-bottom: 1.5rem; line-height: 1.7;">
|
||||||
@ -44,7 +44,7 @@ const tools = data.tools;
|
|||||||
SSO & Zugang erfahren
|
SSO & Zugang erfahren
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<!-- New AI Query Button -->
|
<!-- AI Query Button -->
|
||||||
<button id="ai-query-btn" class="btn btn-accent" style="padding: 0.75rem 1.5rem; background-color: var(--color-accent); color: white;">
|
<button id="ai-query-btn" class="btn btn-accent" style="padding: 0.75rem 1.5rem; background-color: var(--color-accent); color: white;">
|
||||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-right: 0.5rem;">
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-right: 0.5rem;">
|
||||||
<path d="M9 11H5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2h-4"/>
|
<path d="M9 11H5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7a2 2 0 0 0-2-2h-4"/>
|
||||||
@ -73,6 +73,7 @@ const tools = data.tools;
|
|||||||
<!-- AI Query Interface -->
|
<!-- AI Query Interface -->
|
||||||
<AIQueryInterface />
|
<AIQueryInterface />
|
||||||
|
|
||||||
|
|
||||||
<!-- Tools Grid -->
|
<!-- Tools Grid -->
|
||||||
<section id="tools-grid" style="padding-bottom: 2rem;">
|
<section id="tools-grid" style="padding-bottom: 2rem;">
|
||||||
<div class="grid-auto-fit" id="tools-container">
|
<div class="grid-auto-fit" id="tools-container">
|
||||||
|
@ -423,18 +423,37 @@ input[type="checkbox"] {
|
|||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
min-width: 800px;
|
min-width: 800px;
|
||||||
table-layout: fixed;
|
table-layout: fixed;
|
||||||
|
background-color: var(--color-bg);
|
||||||
|
border-radius: 0.75rem;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: var(--shadow-md);
|
||||||
|
}
|
||||||
|
|
||||||
|
.matrix-table th {
|
||||||
|
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);
|
||||||
|
color: white;
|
||||||
|
font-weight: 600;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
z-index: 1;
|
||||||
|
border: none;
|
||||||
|
padding: 1rem 0.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.matrix-table th,
|
|
||||||
.matrix-table td {
|
.matrix-table td {
|
||||||
border: 1px solid var(--color-border);
|
border: 1px solid var(--color-border);
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
background-color: var(--color-bg);
|
||||||
transition: var(--transition-fast);
|
transition: var(--transition-fast);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.matrix-table tr:hover td {
|
||||||
|
background-color: var(--color-bg-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
.matrix-table th {
|
.matrix-table th {
|
||||||
background-color: var(--color-bg-secondary);
|
background-color: var(--color-bg-secondary);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user