staging
This commit is contained in:
@@ -15,17 +15,17 @@ const currentPath = Astro.url.pathname;
|
||||
<ul class="nav-links">
|
||||
<li>
|
||||
<a href="/" class={`nav-link ${currentPath === '/' ? 'active' : ''}`}>
|
||||
Home
|
||||
~/
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/status" class={`nav-link ${currentPath === '/status' ? 'active' : ''}`}>
|
||||
Status
|
||||
~/status
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/about" class={`nav-link ${currentPath === '/about' ? 'active' : ''}`}>
|
||||
About
|
||||
~/about
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
@@ -31,7 +31,7 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
<input
|
||||
type="text"
|
||||
id="search-input"
|
||||
placeholder="Search tools by name, description, or tags..."
|
||||
placeholder="Suchfeld: Name der Software, Beschreibung oder Tags..."
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</div>
|
||||
@@ -41,10 +41,10 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
<!-- Domain Selection -->
|
||||
<div class="domain-section">
|
||||
<label for="domain-select" style="display: block; margin-bottom: 0.5rem; font-weight: 500;">
|
||||
Forensic Domain
|
||||
Forensische Domäne
|
||||
</label>
|
||||
<select id="domain-select" style="max-width: 300px;">
|
||||
<option value="">All Domains</option>
|
||||
<option value="">Alle Domänen</option>
|
||||
{domains.map((domain: any) => (
|
||||
<option value={domain.id}>{domain.name}</option>
|
||||
))}
|
||||
@@ -54,7 +54,7 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
<!-- Phase Selection Buttons -->
|
||||
<div class="phase-section">
|
||||
<label style="display: block; margin-bottom: 0.75rem; font-weight: 500;">
|
||||
Investigation Phase
|
||||
Untersuchungsphase
|
||||
</label>
|
||||
<div class="phase-buttons">
|
||||
{phases.map((phase: any) => (
|
||||
@@ -73,22 +73,22 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
<!-- Additional Filters -->
|
||||
<div style="margin-bottom: 1.5rem;">
|
||||
<div class="checkbox-wrapper" style="margin-bottom: 1rem;">
|
||||
<input type="checkbox" id="include-proprietary" checked />
|
||||
<label for="include-proprietary">Include Proprietary Software</label>
|
||||
<input type="checkbox" id="include-proprietary" !checked />
|
||||
<label for="include-proprietary">Proprietäre Software mit einschließen</label>
|
||||
</div>
|
||||
|
||||
<!-- Tag Cloud -->
|
||||
<div style="margin-bottom: 1rem;">
|
||||
<div class="tag-header">
|
||||
<label style="font-weight: 500;">
|
||||
Filter by Tags
|
||||
Nach Tags filtern
|
||||
</label>
|
||||
<button
|
||||
id="tag-cloud-toggle"
|
||||
class="btn-tag-toggle"
|
||||
data-expanded="false"
|
||||
>
|
||||
Show More
|
||||
Mehr zeigen
|
||||
</button>
|
||||
</div>
|
||||
<div class="tag-cloud" id="tag-cloud">
|
||||
@@ -109,9 +109,8 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
|
||||
<!-- View Toggle -->
|
||||
<div style="display: flex; gap: 1rem; margin-bottom: 1.5rem;">
|
||||
<button class="btn btn-secondary view-toggle active" data-view="grid">Grid View</button>
|
||||
<button class="btn btn-secondary view-toggle" data-view="matrix">Matrix View</button>
|
||||
<button class="btn btn-secondary view-toggle" data-view="hosted">Self-Hosted Only</button>
|
||||
<button class="btn btn-secondary view-toggle active" data-view="grid">Kachelansicht</button>
|
||||
<button class="btn btn-secondary view-toggle" data-view="matrix">Matrix-Ansicht</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -138,7 +137,7 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
|
||||
// Initialize tag cloud state
|
||||
function initTagCloud() {
|
||||
const visibleCount = 12; // Show first 12 tags initially
|
||||
const visibleCount = 22; // Show first 12 tags initially
|
||||
tagCloudItems.forEach((item, index) => {
|
||||
if (index >= visibleCount) {
|
||||
item.style.display = 'none';
|
||||
@@ -149,11 +148,11 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
// Toggle tag cloud expansion
|
||||
function toggleTagCloud() {
|
||||
isTagCloudExpanded = !isTagCloudExpanded;
|
||||
const visibleCount = 12;
|
||||
const visibleCount = 22;
|
||||
|
||||
if (isTagCloudExpanded) {
|
||||
tagCloud.classList.add('expanded');
|
||||
tagCloudToggle.textContent = 'Show Less';
|
||||
tagCloudToggle.textContent = 'Weniger zeigen';
|
||||
tagCloudToggle.setAttribute('data-expanded', 'true');
|
||||
|
||||
// Show all filtered tags
|
||||
@@ -164,7 +163,7 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
});
|
||||
} else {
|
||||
tagCloud.classList.remove('expanded');
|
||||
tagCloudToggle.textContent = 'Show More';
|
||||
tagCloudToggle.textContent = 'Mehr zeigen';
|
||||
tagCloudToggle.setAttribute('data-expanded', 'false');
|
||||
|
||||
// Show only first visible tags
|
||||
@@ -186,7 +185,7 @@ const sortedTags = Object.entries(tagFrequency)
|
||||
function filterTagCloud() {
|
||||
const searchTerm = searchInput.value.toLowerCase();
|
||||
let visibleCount = 0;
|
||||
const maxVisibleWhenCollapsed = 12;
|
||||
const maxVisibleWhenCollapsed = 22;
|
||||
|
||||
tagCloudItems.forEach(item => {
|
||||
const tagName = item.getAttribute('data-tag').toLowerCase();
|
||||
|
||||
@@ -36,7 +36,7 @@ domains.forEach((domain: any) => {
|
||||
<div id="matrix-container" class="matrix-wrapper" style="display: none;">
|
||||
<!-- Collaboration Tools Section (compact horizontal layout for matrix view) -->
|
||||
<div id="collaboration-tools-section" style="margin-bottom: 1.5rem;">
|
||||
<h3 style="margin-bottom: 0.75rem; color: var(--color-text); font-size: 1.125rem;">General Tools for Collaboration</h3>
|
||||
<h3 style="margin-bottom: 0.75rem; color: var(--color-text); font-size: 1.125rem;">Übergreifend & Kollaboration</h3>
|
||||
<div class="collaboration-tools-compact" id="collaboration-tools-container">
|
||||
{collaborationTools.map((tool: any) => {
|
||||
const hasValidProjectUrl = tool.projectUrl !== undefined &&
|
||||
|
||||
Reference in New Issue
Block a user