[musicbrainz] Allow dragging log files to search

This commit is contained in:
SuperSaltyGamer
2023-07-22 18:17:23 +03:00
parent 07b5f568bd
commit 730ad5a70c

View File

@@ -10,11 +10,29 @@ enum QueryType {
const LOG_TOC_PATTERN = /(\d+) +\| +([0-9:.]+) +\| +([0-9:.]+) +\| +(\d+) +\| +(\d+)/g;
const formEl = document.querySelector<HTMLFormElement>("form[action='/search']")!;
const submitEl = document.querySelector<HTMLInputElement>("form[action='/search'] button")!;
const searchEl = document.querySelector<HTMLInputElement>("#headerid-query")!;
searchEl.focus();
searchEl.placeholder = "Enhanced search";
formEl.addEventListener("dragover", e => {
e.preventDefault();
const transfer = e.dataTransfer;
if (!transfer) return;
transfer.dropEffect = "link";
});
formEl.addEventListener("drop", async e => {
e.preventDefault();
const transfer = e.dataTransfer;
if (!transfer) return;
const file = transfer.files.item(0);
if (!file?.name.match(/\.log$/)) return;
searchEl.value = await file.text();
submitEl.click();
});
formEl.addEventListener("submit", e => {
const data = new FormData(formEl);
const query = (data.get("query") as string).trim();