From 04737209fe28ce42bb957d00f85dfc350c210007 Mon Sep 17 00:00:00 2001 From: Jens599 Date: Sun, 2 Mar 2025 12:39:33 +0545 Subject: [PATCH 1/2] feat: add feeling lucky redirect for google and ddg --- src/main.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/main.ts b/src/main.ts index 13ebe4820..c108e42d4 100644 --- a/src/main.ts +++ b/src/main.ts @@ -47,6 +47,7 @@ function noSearchDefaultPageRender() { const LS_DEFAULT_BANG = localStorage.getItem("default-bang") ?? "g"; const defaultBang = bangs.find((b) => b.t === LS_DEFAULT_BANG); + function getBangredirectUrl() { const url = new URL(window.location.href); const query = url.searchParams.get("q")?.trim() ?? ""; @@ -75,7 +76,39 @@ function getBangredirectUrl() { return searchUrl; } +function feelingLuckyRedirect(query:string) { + const cleanQuery = query.replace("!", "").trim(); + + if(defaultBang?.t === "g") return `https://www.google.com/search?btnI=1&q=${encodeURIComponent(cleanQuery)}`; + + if(defaultBang?.t === "ddg") return `https://duckduckgo.com/?q=!ducky+${encodeURIComponent(cleanQuery)}` + + return `https://www.google.com/search?btnI=1&q=${encodeURIComponent(cleanQuery)}` +} + function doRedirect() { + const url = new URL(window.location.href); + const query = url.searchParams.get("q")?.trim() ?? ""; + + if (!query) { + noSearchDefaultPageRender(); + return null; + } + + const type = /!(?:\s|$)/i.test(query); + + if (type) { + const searchUrl = feelingLuckyRedirect(query); + if (!searchUrl) return; + + const link = document.createElement('a'); + link.href = searchUrl; + link.rel = 'noreferrer noopener'; + link.click(); + + return; + } + const searchUrl = getBangredirectUrl(); if (!searchUrl) return; window.location.replace(searchUrl); From 0838b9fdad80ccc27b1a842981b1d6e81b83865e Mon Sep 17 00:00:00 2001 From: Jens599 Date: Sun, 2 Mar 2025 16:07:02 +0545 Subject: [PATCH 2/2] refactor: simplify feeling lucky redirect to use DuckDuckGo --- src/main.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main.ts b/src/main.ts index c108e42d4..40baf92b7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -79,11 +79,7 @@ function getBangredirectUrl() { function feelingLuckyRedirect(query:string) { const cleanQuery = query.replace("!", "").trim(); - if(defaultBang?.t === "g") return `https://www.google.com/search?btnI=1&q=${encodeURIComponent(cleanQuery)}`; - - if(defaultBang?.t === "ddg") return `https://duckduckgo.com/?q=!ducky+${encodeURIComponent(cleanQuery)}` - - return `https://www.google.com/search?btnI=1&q=${encodeURIComponent(cleanQuery)}` + return `https://duckduckgo.com/?q=!ducky+${encodeURIComponent(cleanQuery)}`; } function doRedirect() {