()
| 5388 | } |
| 5389 | |
| 5390 | function addCustomSource() { |
| 5391 | const input = $("sourceUrlInput"); |
| 5392 | const value = input.value.trim(); |
| 5393 | if (!value) { |
| 5394 | showSettingsMessage(ui().settings.inputUrl); |
| 5395 | return; |
| 5396 | } |
| 5397 | $("customSourcesList").insertAdjacentHTML("beforeend", ` |
| 5398 | <div><span>rss</span><strong>${escapeHtml(value)}</strong><button data-remove-source type="button">×</button></div> |
| 5399 | `); |
| 5400 | input.value = ""; |
| 5401 | showSettingsMessage(ui().settings.sourceAdded); |
| 5402 | } |
| 5403 | |
| 5404 | async function exportData(format) { |
| 5405 | const data = await api("/api/export", { |
no test coverage detected