GeezerVison is showing github.com — doc: save user preference for JS flavor · nodejs/node@53fb5ae
File tree
Expand file treeCollapse file tree
Open diff view settings
Expand file treeCollapse file tree
Open diff view settings
Collapse file
Copy file name to clipboardExpand all lines: doc/api_assets/api.js +25Lines changed: 25 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
|
136 | 136 | updateHashes(); |
137 | 137 | } |
138 | 138 |
|
| 139 | + function setupFlavorToggles() { |
| 140 | + const kFlavorPreference = 'customFlavor'; |
| 141 | + const flavorSetting = localStorage.getItem(kFlavorPreference) === 'true'; |
| 142 | + const flavorToggles = document.querySelectorAll('.js-flavor-toggle'); |
| 143 | + |
| 144 | + flavorToggles.forEach((toggleElement) => { |
| 145 | + toggleElement.checked = flavorSetting; |
| 146 | + toggleElement.addEventListener('change', (e) => { |
| 147 | + const checked = e.target.checked; |
| 148 | + |
| 149 | + if (checked) { |
| 150 | + localStorage.setItem(kFlavorPreference, true); |
| 151 | + } else { |
| 152 | + localStorage.removeItem(kFlavorPreference); |
| 153 | + } |
| 154 | + |
| 155 | + flavorToggles.forEach((el) => { |
| 156 | + el.checked = checked; |
| 157 | + }); |
| 158 | + }); |
| 159 | + }); |
| 160 | + } |
| 161 | + |
139 | 162 | function setupCopyButton() { |
140 | 163 | const buttons = document.querySelectorAll('.copy-button'); |
141 | 164 | buttons.forEach((button) => { |
|
182 | 205 | // Make link to other versions of the doc open to the same hash target (if it exists). |
183 | 206 | setupAltDocsLink(); |
184 | 207 |
|
| 208 | + setupFlavorToggles(); |
| 209 | + |
185 | 210 | setupCopyButton(); |
186 | 211 | } |
187 | 212 |
|
|