phase 2 adjustments
This commit is contained in:
		
							parent
							
								
									4ba29227ab
								
							
						
					
					
						commit
						1f9df5c1a8
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -84,3 +84,4 @@ temp/
 | 
			
		||||
.astro/settings.json
 | 
			
		||||
.astro/data-store.json
 | 
			
		||||
.astro/content.d.ts
 | 
			
		||||
prompt.md
 | 
			
		||||
 | 
			
		||||
@ -204,3 +204,10 @@ domain-agnostic-software:
 | 
			
		||||
  - id: specific-os
 | 
			
		||||
    name: Betriebssysteme
 | 
			
		||||
    description: Operating Systems which focus on forensics
 | 
			
		||||
scenarios:
 | 
			
		||||
  - id: registry
 | 
			
		||||
    icon: 🗃️
 | 
			
		||||
    friendly_name: "Registry-Analyse"
 | 
			
		||||
  - id: memory-forensics
 | 
			
		||||
    icon: 🧠
 | 
			
		||||
    friendly_name: "Memory-Forensik"
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,7 @@ import { getToolsData } from '../utils/dataService.js';
 | 
			
		||||
 | 
			
		||||
const data = await getToolsData();
 | 
			
		||||
const tools = data.tools;
 | 
			
		||||
const phases = data.phases;
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
<BaseLayout title="~/">
 | 
			
		||||
@ -113,41 +114,22 @@ const tools = data.tools;
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
  <div class="nist-workflow">
 | 
			
		||||
    <div class="phase-card collection" onclick="selectPhase('data-collection')">
 | 
			
		||||
      <div class="phase-number">1</div>
 | 
			
		||||
      <div class="phase-title">Datensammlung</div>
 | 
			
		||||
      <p class="phase-description">
 | 
			
		||||
        Beweismittel identifizieren, sichern und für die Analyse vorbereiten
 | 
			
		||||
      </p>
 | 
			
		||||
      <span class="tool-count">{tools.filter(t => t.phases?.includes('data-collection')).length} Tools</span>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="phase-card examination" onclick="selectPhase('examination')">
 | 
			
		||||
      <div class="phase-number">2</div>
 | 
			
		||||
      <div class="phase-title">Auswertung</div>
 | 
			
		||||
      <p class="phase-description">
 | 
			
		||||
        Daten extrahieren, strukturiert aufbereiten und zugänglich machen
 | 
			
		||||
      </p>
 | 
			
		||||
      <span class="tool-count">{tools.filter(t => t.phases?.includes('examination')).length} Tools</span>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="phase-card analysis" onclick="selectPhase('analysis')">
 | 
			
		||||
      <div class="phase-number">3</div>
 | 
			
		||||
      <div class="phase-title">Analyse</div>
 | 
			
		||||
      <p class="phase-description">
 | 
			
		||||
        Beweise bewerten, Zusammenhänge erkennen und Hypothesen prüfen
 | 
			
		||||
      </p>
 | 
			
		||||
      <span class="tool-count">{tools.filter(t => t.phases?.includes('analysis')).length} Tools</span>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="phase-card reporting" onclick="selectPhase('reporting')">
 | 
			
		||||
      <div class="phase-number">4</div>
 | 
			
		||||
      <div class="phase-title">Bericht</div>
 | 
			
		||||
      <p class="phase-description">
 | 
			
		||||
        Ergebnisse dokumentieren, visualisieren und präsentieren
 | 
			
		||||
      </p>
 | 
			
		||||
      <span class="tool-count">{tools.filter(t => t.phases?.includes('reporting')).length} Tools</span>
 | 
			
		||||
    </div>
 | 
			
		||||
    {phases.map((phase: any, index: number) => {
 | 
			
		||||
      const phaseTools = tools.filter((tool: any) => 
 | 
			
		||||
        tool.phases && tool.phases.includes(phase.id)
 | 
			
		||||
      );
 | 
			
		||||
      
 | 
			
		||||
      return (
 | 
			
		||||
        <div class={`phase-card phase-${phase.id}`} onclick={`selectPhase('${phase.id}')`}>
 | 
			
		||||
          <div class="phase-number">{index + 1}</div>
 | 
			
		||||
          <div class="phase-title">{phase.name}</div>
 | 
			
		||||
          <p class="phase-description">
 | 
			
		||||
            {phase.description}
 | 
			
		||||
          </p>
 | 
			
		||||
          <span class="tool-count">{phaseTools.length} Tools</span>
 | 
			
		||||
        </div>
 | 
			
		||||
      );
 | 
			
		||||
    })}
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
  <div class="methodology-tip">
 | 
			
		||||
@ -185,7 +167,7 @@ const tools = data.tools;
 | 
			
		||||
  <ToolMatrix data={data} />
 | 
			
		||||
</BaseLayout>
 | 
			
		||||
 | 
			
		||||
<script define:vars={{ toolsData: data.tools }}>
 | 
			
		||||
<script define:vars={{ toolsData: data.tools, phases: data.phases }}>
 | 
			
		||||
  window.toolsData = toolsData;
 | 
			
		||||
  
 | 
			
		||||
  // Approach selection functionality
 | 
			
		||||
@ -232,10 +214,13 @@ const tools = data.tools;
 | 
			
		||||
      card.classList.remove('active');
 | 
			
		||||
    });
 | 
			
		||||
    
 | 
			
		||||
    // Add active class to selected phase
 | 
			
		||||
    document.querySelector(`.phase-card.${phase.replace('data-', '')}`).classList.add('active');
 | 
			
		||||
    // Add active class to selected phase card (use actual phase ID)
 | 
			
		||||
    const selectedCard = document.querySelector(`.phase-card.phase-${phase}`);
 | 
			
		||||
    if (selectedCard) {
 | 
			
		||||
      selectedCard.classList.add('active');
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    // Use existing phase filter functionality
 | 
			
		||||
    // Use existing phase filter functionality with correct phase ID
 | 
			
		||||
    const existingPhaseButton = document.querySelector(`[data-phase="${phase}"]`);
 | 
			
		||||
    if (existingPhaseButton && !existingPhaseButton.classList.contains('active')) {
 | 
			
		||||
      existingPhaseButton.click();
 | 
			
		||||
 | 
			
		||||
@ -1134,11 +1134,6 @@ input[type="checkbox"] {
 | 
			
		||||
  background: var(--phase-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.phase-card.collection { --phase-color: #3b82f6; }
 | 
			
		||||
.phase-card.examination { --phase-color: #8b5cf6; }
 | 
			
		||||
.phase-card.analysis { --phase-color: #f59e0b; }
 | 
			
		||||
.phase-card.reporting { --phase-color: #ef4444; }
 | 
			
		||||
 | 
			
		||||
.phase-card:hover {
 | 
			
		||||
  transform: translateY(-2px);
 | 
			
		||||
  border-color: var(--phase-color);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user