Thread viewer for Bluesky

added some better indication of import status

+4
index.html
··· 201 201 202 202 <div class="lycan-import"> 203 203 <form> 204 + <h4>Data not imported yet</h4> 205 + 204 206 <p> 205 207 In order to search within your likes and bookmarks, the posts you've liked or saved need to be imported into a database. 206 208 This is a one-time process, but it can take several minutes or more, depending on the age of your account. ··· 215 217 </form> 216 218 217 219 <div class="import-progress"> 220 + <h4>Import in progress</h4> 221 + 218 222 <p class="import-status"></p> 219 223 <p><progress></progress> <output></output></p> 220 224 </div>
+5 -1
private_search_page.js
··· 157 157 this.lycanImportSection.style.display = 'block'; 158 158 this.lycanImportForm.style.display = 'block'; 159 159 this.importProgress.style.display = 'none'; 160 + this.searchField.disabled = true; 160 161 161 162 this.stopImportTimer(); 162 163 } else if (info.status == 'in_progress' || info.status == 'scheduled' || info.status == 'requested') { 163 164 this.lycanImportSection.style.display = 'block'; 164 165 this.lycanImportForm.style.display = 'none'; 165 166 this.importProgress.style.display = 'block'; 167 + this.searchField.disabled = true; 166 168 167 169 this.showImportProgress(info); 168 170 this.startImportTimer(); 169 171 } else if (info.status == 'finished') { 170 172 this.lycanImportForm.style.display = 'none'; 171 173 this.importProgress.style.display = 'block'; 174 + this.searchField.disabled = false; 172 175 173 176 this.showImportProgress({ status: 'finished', progress: 1.0 }); 174 177 this.stopImportTimer(); ··· 192 195 this.importStatusLabel.innerText = `Import complete ✓`; 193 196 } else if (info.position) { 194 197 let date = new Date(info.position).toLocaleString(window.dateLocale, { day: 'numeric', month: 'short', year: 'numeric' }); 195 - this.importStatusLabel.innerText = `Imported data until: ${date}`; 198 + this.importStatusLabel.innerText = `Downloaded data until: ${date}`; 196 199 } else if (info.status == 'requested') { 197 200 this.importStatusLabel.innerText = 'Requesting import…'; 198 201 } else { ··· 206 209 this.lycanImportSection.style.display = 'block'; 207 210 this.lycanImportForm.style.display = 'none'; 208 211 this.importProgress.style.display = 'block'; 212 + this.searchField.disabled = true; 209 213 210 214 this.importStatusLabel.innerText = message; 211 215 this.stopImportTimer();