Skip to content

Commit 1e56a23

Browse files
committed
Fix header styling and add tab filtering debugging
1 parent 7cce882 commit 1e56a23

2 files changed

Lines changed: 49 additions & 23 deletions

File tree

projects.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@
5454
text-shadow: 0 0 10px #00ff00;
5555
}
5656

57+
header h3 {
58+
color: rgba(0, 255, 0, 0.8);
59+
font-size: 1rem;
60+
margin: 0.5rem 0 0 0;
61+
font-weight: normal;
62+
letter-spacing: 1px;
63+
}
64+
5765
header nav ul {
5866
list-style: none;
5967
display: flex;
@@ -444,7 +452,7 @@
444452
<a href="index.html" style="text-decoration: none;">
445453
<h1>Thomas J Butler</h1>
446454
</a>
447-
<h3>Project Stack</h3>
455+
<h3>Full Stack Software Developer</h3>
448456
<nav>
449457
<div class="menu-toggle">
450458
<span></span>

src/js/projects-matrix-animations.js

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,15 @@ function setupTabFiltering() {
530530
const tabs = document.querySelectorAll('.matrix-tab-button');
531531
const cards = document.querySelectorAll('.matrix-project-card');
532532

533+
console.log(`📑 Setting up tab filtering with ${tabs.length} tabs and ${cards.length} cards`);
534+
535+
// Ensure all cards are visible initially
536+
cards.forEach(card => {
537+
card.classList.remove('matrix-hidden');
538+
card.style.opacity = '1';
539+
card.style.transform = 'none';
540+
});
541+
533542
tabs.forEach(tab => {
534543
tab.addEventListener('click', () => {
535544
const category = tab.dataset.category;
@@ -538,32 +547,41 @@ function setupTabFiltering() {
538547
tabs.forEach(t => t.classList.remove('active'));
539548
tab.classList.add('active');
540549

541-
// Disintegration effect for non-matching cards
550+
console.log(`🎯 Tab clicked: ${category}`);
551+
552+
// Filter cards with animation
542553
cards.forEach((card, index) => {
543554
const cardCategory = card.dataset.category;
544555
const shouldShow = category === 'all' || cardCategory === category;
545556

546-
if (shouldShow && card.classList.contains('matrix-hidden')) {
547-
// Materialize card
548-
card.classList.remove('matrix-hidden');
549-
550-
anime({
551-
targets: card,
552-
opacity: [0, 1],
553-
scale: [0, 1],
554-
rotateY: [-180, 0],
555-
duration: 600,
556-
delay: index * 50,
557-
easing: 'easeOutBack',
558-
begin: () => {
559-
createDigitalRain(card);
560-
}
561-
});
562-
} else if (!shouldShow && !card.classList.contains('matrix-hidden')) {
563-
// Disintegrate card
564-
disintegrateCard(card, () => {
565-
card.classList.add('matrix-hidden');
566-
});
557+
console.log(`Card ${index}: category=${cardCategory}, shouldShow=${shouldShow}`);
558+
559+
if (shouldShow) {
560+
// Show card
561+
if (card.classList.contains('matrix-hidden')) {
562+
card.classList.remove('matrix-hidden');
563+
564+
anime({
565+
targets: card,
566+
opacity: [0, 1],
567+
scale: [0, 1],
568+
rotateY: [-180, 0],
569+
duration: 600,
570+
delay: index * 50,
571+
easing: 'easeOutBack',
572+
begin: () => {
573+
createDigitalRain(card);
574+
}
575+
});
576+
}
577+
} else {
578+
// Hide card
579+
if (!card.classList.contains('matrix-hidden')) {
580+
// Disintegrate card
581+
disintegrateCard(card, () => {
582+
card.classList.add('matrix-hidden');
583+
});
584+
}
567585
}
568586
});
569587
});

0 commit comments

Comments
 (0)