()
| 1165 | } |
| 1166 | |
| 1167 | function loadFilters() { |
| 1168 | try { |
| 1169 | const stored = localStorage.getItem(FILTERS_KEY); |
| 1170 | if (stored) { |
| 1171 | const filters = JSON.parse(stored); |
| 1172 | |
| 1173 | // Restore folder filter |
| 1174 | const folderFilter = document.getElementById("folder-filter"); |
| 1175 | if (folderFilter && filters.folder !== undefined) { |
| 1176 | // Check if the saved folder still exists in options |
| 1177 | const optionExists = Array.from(folderFilter.options).some( |
| 1178 | (opt) => opt.value === filters.folder, |
| 1179 | ); |
| 1180 | if (optionExists) { |
| 1181 | folderFilter.value = filters.folder; |
| 1182 | selectedFolder = filters.folder; |
| 1183 | } else if (folderFilter.options.length > 0) { |
| 1184 | // Saved folder doesn't exist, default to first option |
| 1185 | folderFilter.selectedIndex = 0; |
| 1186 | selectedFolder = folderFilter.value; |
| 1187 | } |
| 1188 | } else if (folderFilter && folderFilter.options.length > 0) { |
| 1189 | // No saved folder, default to first option |
| 1190 | folderFilter.selectedIndex = 0; |
| 1191 | selectedFolder = folderFilter.value; |
| 1192 | } |
| 1193 | |
| 1194 | // Restore name filter |
| 1195 | const nameFilter = document.getElementById("name-filter"); |
| 1196 | if (nameFilter && filters.name) { |
| 1197 | nameFilter.value = filters.name; |
| 1198 | } |
| 1199 | |
| 1200 | // Restore game filter |
| 1201 | const gameFilter = document.getElementById("game-filter"); |
| 1202 | if (gameFilter && filters.game) { |
| 1203 | gameFilter.value = filters.game; |
| 1204 | } |
| 1205 | |
| 1206 | // Restore rounds filter |
| 1207 | const roundsFilter = document.getElementById("rounds-filter"); |
| 1208 | if (roundsFilter && filters.rounds) { |
| 1209 | roundsFilter.value = filters.rounds; |
| 1210 | } |
| 1211 | |
| 1212 | // Restore model filter |
| 1213 | if (filters.models && Array.isArray(filters.models)) { |
| 1214 | filters.models.forEach((model) => selectedModels.add(model)); |
| 1215 | updateModelFilterDisplay(); |
| 1216 | } |
| 1217 | |
| 1218 | // Restore date filter |
| 1219 | if (filters.date) { |
| 1220 | selectedDate = filters.date; |
| 1221 | updateDateFilterDisplay(); |
| 1222 | } |
| 1223 | |
| 1224 | return true; |
no test coverage detected