2025-02-14 21:48:15 -08:00
|
|
|
import { bangs } from "./bang";
|
2025-02-14 21:30:33 -08:00
|
|
|
|
2025-02-14 21:48:15 -08:00
|
|
|
const defaultBang = bangs.find((b) => b.t === "g");
|
|
|
|
|
|
|
|
function doBangRedirect() {
|
|
|
|
const url = new URL(window.location.href);
|
|
|
|
const query = url.searchParams.get("q")?.trim() ?? "";
|
|
|
|
if (!query) return null;
|
|
|
|
const match = query.match(/!([a-z]+)/i);
|
|
|
|
if (!match) return null;
|
|
|
|
const bangCandidate = match[1].toLowerCase();
|
|
|
|
const selectedBang = bangs.find((b) => b.t === bangCandidate) ?? defaultBang;
|
|
|
|
|
|
|
|
return selectedBang;
|
|
|
|
}
|
|
|
|
|
|
|
|
const bang = doBangRedirect();
|
|
|
|
if (bang) {
|
|
|
|
console.log("bang", bang);
|
|
|
|
|
|
|
|
// window.location.replace(bang.d + "?q=" + encodeURIComponent(query));
|
|
|
|
}
|
|
|
|
|
|
|
|
document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
|
2025-02-14 21:30:33 -08:00
|
|
|
<div>
|
2025-02-14 21:48:15 -08:00
|
|
|
<h1>T3 Search</h1>
|
2025-02-14 21:30:33 -08:00
|
|
|
</div>
|
2025-02-14 21:48:15 -08:00
|
|
|
`;
|
2025-02-14 21:30:33 -08:00
|
|
|
|
2025-02-14 21:48:15 -08:00
|
|
|
setupCounter(document.querySelector<HTMLButtonElement>("#counter")!);
|