@@ -48,3 +48,54 @@ for (i = 0; i < contents.length; i++) {
48
48
}
49
49
}
50
50
}
51
+
52
+ document . addEventListener ( 'DOMContentLoaded' , function ( ) {
53
+ const supportedVersions = [ 'master' ] ;
54
+
55
+ const versionDropdown = document . createElement ( 'div' ) ;
56
+ versionDropdown . className = 'version-dropdown' ;
57
+
58
+ // Detect current version from URL
59
+ const currentVersion = supportedVersions . find ( version =>
60
+ window . location . pathname . includes ( `/${ version } /` )
61
+ ) || 'master' ; // Default to master if none found
62
+
63
+ const dropdownBtn = document . createElement ( 'button' ) ;
64
+ dropdownBtn . className = 'version-btn' ;
65
+ dropdownBtn . innerHTML = `${ currentVersion } <span class="version-caret">▼</span>` ;
66
+
67
+ const dropdownContent = document . createElement ( 'div' ) ;
68
+ dropdownContent . className = 'version-dropdown-content' ;
69
+
70
+ supportedVersions . forEach ( version => {
71
+ const link = document . createElement ( 'a' ) ;
72
+
73
+ // Replace current version in path with selected version
74
+ const newPath = window . location . pathname . replace (
75
+ new RegExp ( `/(${ supportedVersions . join ( '|' ) } )/` ) ,
76
+ `/${ version } /`
77
+ ) ;
78
+
79
+ link . href = newPath ;
80
+ link . textContent = version ;
81
+ dropdownContent . appendChild ( link ) ;
82
+ } ) ;
83
+
84
+ versionDropdown . appendChild ( dropdownBtn ) ;
85
+ versionDropdown . appendChild ( dropdownContent ) ;
86
+
87
+ const searchBox = document . querySelector ( '.wy-side-nav-search' ) ;
88
+ if ( searchBox ) {
89
+ searchBox . parentNode . insertBefore ( versionDropdown , searchBox . nextSibling ) ;
90
+ }
91
+ // Toggle dropdown
92
+ dropdownBtn . addEventListener ( 'click' , function ( e ) {
93
+ e . stopPropagation ( ) ;
94
+ dropdownContent . classList . toggle ( 'show' ) ;
95
+ } ) ;
96
+
97
+ // Close dropdown when clicking outside
98
+ document . addEventListener ( 'click' , function ( ) {
99
+ dropdownContent . classList . remove ( 'show' ) ;
100
+ } ) ;
101
+ } ) ;
0 commit comments