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