Skip to content

Commit 48a1c01

Browse files
committed
fixing js in github workflow
1 parent 1c14251 commit 48a1c01

1 file changed

Lines changed: 60 additions & 59 deletions

File tree

www/main.js

Lines changed: 60 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,74 @@
1-
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
2-
anchor.addEventListener('click', function (e) {
3-
e.preventDefault();
4-
5-
document.querySelector(this.getAttribute('href')).scrollIntoView({
6-
behavior: 'smooth'
1+
document.addEventListener('DOMContentLoaded', function() {
2+
// Smooth scroll for anchor links
3+
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
4+
anchor.addEventListener('click', function (e) {
5+
e.preventDefault();
6+
document.querySelector(this.getAttribute('href')).scrollIntoView({
7+
behavior: 'smooth'
8+
});
79
});
810
});
9-
});
1011

11-
// Tab functionality for controls section
12-
const tabButtons = document.querySelectorAll('.tab-btn');
13-
const tabContents = document.querySelectorAll('.tab-content');
12+
// Tab functionality for controls section
13+
const tabButtons = document.querySelectorAll('.tab-btn');
14+
const tabContents = document.querySelectorAll('.tab-content');
1415

15-
tabButtons.forEach(button => {
16-
button.addEventListener('click', () => {
17-
const targetTab = button.getAttribute('data-tab');
18-
19-
tabButtons.forEach(btn => btn.classList.remove('active'));
20-
tabContents.forEach(content => content.classList.remove('active'));
21-
22-
button.classList.add('active');
23-
document.getElementById(targetTab).classList.add('active');
16+
tabButtons.forEach(button => {
17+
button.addEventListener('click', () => {
18+
const targetTab = button.getAttribute('data-tab');
19+
tabButtons.forEach(btn => btn.classList.remove('active'));
20+
tabContents.forEach(content => content.classList.remove('active'));
21+
button.classList.add('active');
22+
document.getElementById(targetTab).classList.add('active');
23+
});
2424
});
25-
});
2625

27-
// Tab functionality for feature highlights section
28-
const featureButtons = document.querySelectorAll('.feature-tab-btn');
29-
const featurePanels = document.querySelectorAll('.feature-panel');
26+
// Tab functionality for feature highlights section
27+
const featureButtons = document.querySelectorAll('.feature-tab-btn');
28+
const featurePanels = document.querySelectorAll('.feature-panel');
3029

31-
featureButtons.forEach(button => {
32-
button.addEventListener('click', () => {
33-
const targetFeature = button.getAttribute('data-feature');
34-
35-
featureButtons.forEach(btn => btn.classList.remove('active'));
36-
featurePanels.forEach(panel => panel.classList.remove('active'));
37-
38-
button.classList.add('active');
39-
document.getElementById(targetFeature).classList.add('active');
30+
featureButtons.forEach(button => {
31+
button.addEventListener('click', () => {
32+
const targetFeature = button.getAttribute('data-feature');
33+
featureButtons.forEach(btn => btn.classList.remove('active'));
34+
featurePanels.forEach(panel => panel.classList.remove('active'));
35+
button.classList.add('active');
36+
document.getElementById(targetFeature).classList.add('active');
37+
});
4038
});
41-
});
4239

43-
// Carousel functionality for featured gameplay
44-
const slides = document.querySelectorAll('.carousel-slide');
45-
const prevBtn = document.querySelector('.carousel-nav.prev');
46-
const nextBtn = document.querySelector('.carousel-nav.next');
47-
const dotsContainer = document.querySelector('.carousel-dots');
48-
let currentSlide = 0;
40+
// Carousel functionality for featured gameplay
41+
const slides = document.querySelectorAll('.carousel-slide');
42+
const prevBtn = document.querySelector('.carousel-nav.prev');
43+
const nextBtn = document.querySelector('.carousel-nav.next');
44+
const dotsContainer = document.querySelector('.carousel-dots');
45+
46+
if (slides.length > 0 && dotsContainer) {
47+
let currentSlide = 0;
4948

50-
// Create dots
51-
slides.forEach((_, index) => {
52-
const dot = document.createElement('div');
53-
dot.classList.add('dot');
54-
if (index === 0) dot.classList.add('active');
55-
dot.addEventListener('click', () => goToSlide(index));
56-
dotsContainer.appendChild(dot);
57-
});
49+
// Create dots
50+
slides.forEach((_, index) => {
51+
const dot = document.createElement('div');
52+
dot.classList.add('dot');
53+
if (index === 0) dot.classList.add('active');
54+
dot.addEventListener('click', () => goToSlide(index));
55+
dotsContainer.appendChild(dot);
56+
});
5857

59-
const dots = document.querySelectorAll('.dot');
58+
const dots = document.querySelectorAll('.dot');
6059

61-
function goToSlide(n) {
62-
slides[currentSlide].classList.remove('active');
63-
dots[currentSlide].classList.remove('active');
64-
currentSlide = (n + slides.length) % slides.length;
65-
slides[currentSlide].classList.add('active');
66-
dots[currentSlide].classList.add('active');
67-
}
60+
function goToSlide(n) {
61+
slides[currentSlide].classList.remove('active');
62+
dots[currentSlide].classList.remove('active');
63+
currentSlide = (n + slides.length) % slides.length;
64+
slides[currentSlide].classList.add('active');
65+
dots[currentSlide].classList.add('active');
66+
}
6867

69-
prevBtn.addEventListener('click', () => goToSlide(currentSlide - 1));
70-
nextBtn.addEventListener('click', () => goToSlide(currentSlide + 1));
68+
if (prevBtn) prevBtn.addEventListener('click', () => goToSlide(currentSlide - 1));
69+
if (nextBtn) nextBtn.addEventListener('click', () => goToSlide(currentSlide + 1));
7170

72-
// Auto-advance carousel
73-
setInterval(() => goToSlide(currentSlide + 1), 6000);
71+
// Auto-advance carousel
72+
setInterval(() => goToSlide(currentSlide + 1), 6000);
73+
}
74+
});

0 commit comments

Comments
 (0)