// ==UserScript==
// @name Google Search Classic Navbar
// @version 0.2.6
// @author yakisova41
// @license MIT
// @namespace https://yakisova.com
// @description Restore the garbage UX nav bar.
// @match https://www.google.com/*
// @match https://www.google.co.jp/*
// @grant unsafeWindow
// @run-at document-start
// @name:ja Google検索の上のメニューを元に戻す
// @description:ja Google検索の上のメニューを従来のデザインに無理やり戻します。
// @icon data:image/png;base64,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
// @downloadURL https://update.greasyfork.icu/scripts/470048/Google%20Search%20Classic%20Navbar.user.js
// @updateURL https://update.greasyfork.icu/scripts/470048/Google%20Search%20Classic%20Navbar.meta.js
// ==/UserScript==
// src/classes/NavBarItems.ts
var NavBarItems = class {
parentElement;
tbmList = {
all: "All",
isch: "Images",
vid: "Videos",
nws: "News",
shop: "Shop"
};
thisTbm = "all";
items = [];
itemContainerClassName = "navbar-item-container";
itemIconOuterClassName = "navbar-item-icon-outer";
setTbm(tbm) {
this.thisTbm = tbm;
}
setParentElement(elem) {
if (elem !== void 0 && elem !== null) {
this.parentElement = elem;
this.parentElement.classList.add("navbar-parent");
}
}
render() {
this.items.forEach(({ type, itemElem, matchTbm, activeElem }) => {
if (type === "match-active" && matchTbm === this.thisTbm && activeElem !== void 0) {
this.parentElement.appendChild(activeElem);
}
if (type === "match-active" && matchTbm !== this.thisTbm) {
this.parentElement.appendChild(itemElem);
}
if (type === "item") {
this.parentElement.appendChild(itemElem);
}
});
}
appendItem(itemElem) {
this.items.push({
type: "item",
itemElem
});
}
appendTbmActiveItem(matchTbm, itemElem, activeElem) {
this.items.push({
type: "match-active",
matchTbm,
itemElem,
activeElem
});
}
createItemElem(text, iconElem, isLink = false, href = "") {
const itemContainer = document.createElement("div");
itemContainer.className = this.itemContainerClassName;
if (isLink) {
const linkElem = document.createElement("a");
linkElem.setAttribute("href", href);
const iconOuter = document.createElement("span");
iconOuter.appendChild(iconElem);
iconOuter.className = this.itemIconOuterClassName;
linkElem.appendChild(iconOuter);
linkElem.innerHTML = exportedTrustedPolicy.createHTML(
linkElem.innerHTML + text
);
itemContainer.appendChild(linkElem);
itemContainer.classList.add("navbar-link-item");
} else {
const iconOuter = document.createElement("span");
iconOuter.className = this.itemIconOuterClassName;
iconOuter.appendChild(iconElem);
itemContainer.appendChild(iconOuter);
itemContainer.innerHTML = exportedTrustedPolicy.createHTML(
itemContainer.innerHTML + text
);
itemContainer.classList.add("navbar-now-item");
}
return itemContainer;
}
};
// src/classes/Search.ts
var Search = class {
search;
constructor(search) {
this.search = search;
}
parse() {
const searches = {};
this.search.split("&").forEach((v) => {
const sp = v.split("=");
const key = sp[0].replace("?", "");
searches[key] = sp[1];
});
return searches;
}
decord(searches) {
let searchResult = "?";
Object.keys(searches).forEach((key) => {
searchResult = searchResult + `${key}=${searches[key]}&`;
});
searchResult.slice(0, -1);
return searchResult;
}
getURL() {
const url = new URL(location.href);
url.search = this.search;
return url.toString();
}
reload() {
const url = new URL(location.href);
url.search = this.search;
location.href = url.toString();
}
append(key, val) {
const parsed = this.parse();
parsed[key] = val;
this.search = this.decord(parsed);
}
delete(key) {
const parsed = this.parse();
delete parsed[key];
this.search = this.decord(parsed);
}
get(key) {
const parsed = this.parse();
return parsed[key];
}
};
// src/classes/StyleIncject.ts
var StyleInject = class {
tbm;
styles = {};
setTbm(tbm) {
this.tbm = tbm;
}
inject() {
const elem = document.createElement("style");
if (this.styles[this.tbm] !== void 0) {
elem.innerHTML = exportedTrustedPolicy.createHTML(
this.styles[this.tbm].join("")
);
}
if (this.styles["*"] !== void 0) {
elem.innerHTML = exportedTrustedPolicy.createHTML(
elem.innerHTML + this.styles["*"].join("")
);
}
const head = document.head;
if (head === null) {
const i = setInterval(() => {
if (document.head !== null) {
document.head.appendChild(elem);
clearInterval(i);
}
}, 100);
} else {
document.head.appendChild(elem);
}
}
addStyle(tbms, style) {
tbms.forEach((tbm) => {
if (this.styles[tbm] === void 0) {
this.styles[tbm] = [];
}
this.styles[tbm].push(style.replaceAll(" ", "").replaceAll("\n", ""));
});
}
injectOnLoad(tbms, callback) {
document.addEventListener("DOMContentLoaded", () => {
let isInject = false;
tbms.forEach((tbm) => {
if (tbm === "*") {
isInject = true;
}
if (tbm === this.tbm) {
isInject = true;
}
});
if (isInject) {
const elem = document.createElement("style");
elem.innerHTML = exportedTrustedPolicy.createHTML(
callback().replaceAll(" ", "").replaceAll("\n", "")
);
document.head.appendChild(elem);
}
});
}
};
// src/icons.ts
var paths = {
all: ``,
isch: ``,
vid: ``,
maps: ``,
nws: ``,
shop: ``,
more: ``,
bks: ``,
flm: ``,
fin: ``
};
var enablePaths = {
all: ``,
shop: ``,
isch: ``,
vid: ``,
nws: ``,
bks: ``
};
function getIconSvgElement(path, viewBox = "0 0 24 24") {
const svg = document.createElement("svg");
svg.setAttribute("viewBox", viewBox);
svg.innerHTML = exportedTrustedPolicy.createHTML(path);
return svg;
}
// src/lang.ts
var langList = {
All: {
ja: "\u3059\u3079\u3066",
de: "Alle",
es: "Todo",
fr: "Tous",
ko: "\uC804\uCCB4",
zh: "\u5168\u90E8"
},
Images: {
ja: "\u753B\u50CF",
de: "Bilder",
es: "Im\xE1genes",
ko: "\uC774\uBBF8\uC9C0",
zh: "\u56FE\u7247"
},
Videos: {
ja: "\u52D5\u753B",
fr: "Vid\xE9os",
ko: "\uB3D9\uC601\uC0C1",
zh: "\u89C6\u9891"
},
Maps: {
ja: "\u5730\u56F3",
ko: "\uC9C0\uB3C4",
zh: "\u5730\u56FE"
},
News: {
ja: "\u30CB\u30E5\u30FC\u30B9",
es: "Noticias",
fr: "Actualit\xE9s",
ko: "\uB274\uC2A4",
zh: "\u65B0\u95FB"
},
Shopping: {
ja: "\u30B7\u30E7\u30C3\u30D4\u30F3\u30B0",
ko: "\uC1FC\uD551",
zh: "\u8D2D\u7269"
},
Books: {
ja: "\u66F8\u7C4D",
de: "B\xFCcher",
es: "Libros",
fr: "Livres",
ko: "\uC1FC\uD551",
zh: "\u56FE\u4E66"
}
};
function translate(text) {
const lang = navigator.language;
if (langList[text][lang] !== void 0) {
return langList[text][lang];
} else {
return text;
}
}
// src/registerNavItems.ts
function registerNavItems(itemsDom) {
itemsDom.appendTbmActiveItem(
"all",
itemsDom.createItemElem(
translate("All"),
getIconSvgElement(paths.all),
true,
createAllUrl()
),
itemsDom.createItemElem(
translate("All"),
getIconSvgElement(enablePaths.all),
false
)
);
itemsDom.appendTbmActiveItem(
"isch",
itemsDom.createItemElem(
translate("Images"),
getIconSvgElement(paths.isch),
true,
createTbmUrl("isch")
),
itemsDom.createItemElem(
translate("Images"),
getIconSvgElement(enablePaths.isch),
false
)
);
itemsDom.appendTbmActiveItem(
"vid",
itemsDom.createItemElem(
translate("Videos"),
getIconSvgElement(paths.vid),
true,
createTbmUrl("vid")
),
itemsDom.createItemElem(
translate("Videos"),
getIconSvgElement(enablePaths.vid),
false
)
);
itemsDom.appendItem(
itemsDom.createItemElem(
translate("Maps"),
getIconSvgElement(paths.maps, "0 0 16 16"),
true,
createMapUrl()
)
);
itemsDom.appendTbmActiveItem(
"nws",
itemsDom.createItemElem(
translate("News"),
getIconSvgElement(paths.nws),
true,
createTbmUrl("nws")
),
itemsDom.createItemElem(
translate("News"),
getIconSvgElement(enablePaths.nws),
false
)
);
itemsDom.appendTbmActiveItem(
"shop",
itemsDom.createItemElem(
translate("Shopping"),
getIconSvgElement(paths.shop),
true,
createTbmUrl("shop")
),
itemsDom.createItemElem(
translate("Shopping"),
getIconSvgElement(enablePaths.shop),
false
)
);
itemsDom.appendTbmActiveItem(
"bks",
itemsDom.createItemElem(
translate("Books"),
getIconSvgElement(paths.bks),
true,
createTbmUrl("bks")
),
itemsDom.createItemElem(
translate("Books"),
getIconSvgElement(enablePaths.bks),
false
)
);
}
function createAllUrl() {
const search = new Search(location.search);
search.delete("tbm");
return search.getURL();
}
function createTbmUrl(tbm) {
const search = new Search(location.search);
search.append("tbm", tbm);
return search.getURL();
}
function createMapUrl() {
const search = new Search(location.search);
const q = search.get("q");
return "https://www.google.com/maps/?q=" + q;
}
// src/registerStyle.ts
function registerStyle(styleInjecter) {
styleInjecter.addStyle(
["all"],
`
.navbar-item-container {
padding: 14px 12px 12px 10px!important;
}
`
);
styleInjecter.addStyle(
["all", "vid", "nws", "bks"],
`
.main > div:nth-child(1) > div:nth-child(1) {
height: 45px;
}
.google-classic-navbar-parent-outer > div:nth-child(1) {
padding-left: 0;
height: 43px;
}
.google-classic-navbar-parent-outer > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) {
align-items: center;
}
.main > div:nth-child(1) > div:nth-child(3) > div:nth-child(1) {
padding-left: 0;
height: 43p;
}
.main > div:nth-child(1) > div:nth-child(3) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) {
align-items: center;
}
.main > div:nth-child(1) > div:nth-child(3) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > .navbar-item-container {
margin: 9px 1px 0!important;
}
@media (min-width: 1124px) and (max-width: 1300px){
.srp {
--center-abs-margin: 30px!important;
}
}
@media (min-width: 1410px) and (max-width: 1610px) {
.srp {
--center-abs-margin: 180px!important;
}
}
@media (min-width: 1610px){
.srp {
--center-abs-margin: 180px!important;
}
}`
);
styleInjecter.addStyle(
["isch"],
`
body > div:nth-child(6) > c-wiz:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) {
height:59px;
}
body > div:nth-child(6) > c-wiz:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) {
margin-left:0;
}
`
);
styleInjecter.addStyle(
["shop"],
`
#cnt > div:nth-child(1) {
height: 45px;
}
#cnt > div:nth-child(4) {
padding: 23px 0 0px calc(var(--center-abs-margin) - 20px);
}
#cnt > div:nth-child(4) > div:nth-child(2) {
margin-left:0;
}
`
);
styleInjecter.addStyle(
["*"],
`
.navbar-parent {
display: inline;
margin-left: 169px;
white-space: nowrap;
color: #70757a;
font-size: 13px;
-webkit-user-select: none;
}
.navbar-now-item {
border-bottom: 3px solid var(--classic-google-nav-bar-primary);
color: var(--classic-google-nav-bar-primary);
}
.navbar-item-container {
padding: 16px 12px 12px 10px;
font-family: Google Sans,Roboto,HelveticaNeue,Arial,sans-serif;
height: 16px;
line-height: 16px;
margin: 11px 1px 0;
display: inline-block;
font-size: 13px;
}
.navbar-item-icon-outer {
display: inline-block;
fill: currentColor;
height: 16px;
width: 16px;
margin-right: 5px;
vertical-align: text-bottom;
}
.navbar-now-item > navbar-item-icon-outer {
fill: currentColor;
}
.navbar-item-container > a {
text-decoration: none;
color: var(--classic-google-nav-bar-text)!important;
-webkit-tap-highlight-color: rgba(0,0,0,.10);
}
`
);
}
// src/theme.ts
function attachTheme(styleInjecter) {
styleInjecter.injectOnLoad(["*"], () => {
const theme = getComputedStyle(document.body).backgroundColor === "rgb(32, 33, 36)" ? "dark" : "right";
const styles = {
dark: `
:root {
--classic-google-nav-bar-text:#bdc1c6;
--classic-google-nav-bar-primary:#8ab4f8;
}
`,
right: `
:root {
--classic-google-nav-bar-text:#202124;
--classic-google-nav-bar-primary:#4285f4;
}
`
};
return styles[theme];
});
}
// src/index.ts
function main() {
const searchManager = new Search(location.search);
const tbm = searchManager.get("tbm");
const styleInjecter = new StyleInject();
const itemsDom = new NavBarItems();
if (tbm === void 0) {
styleInjecter.setTbm("all");
} else {
styleInjecter.setTbm(tbm);
}
registerStyle(styleInjecter);
attachTheme(styleInjecter);
styleInjecter.inject();
document.addEventListener("DOMContentLoaded", () => {
const navbarNthChild = getNavbarNthChild();
const navbarSelectors = {
all: [
`.main > div:nth-child(1) > div:nth-child(${navbarNthChild})`,
".main > div:nth-child(1) > div:nth-child(3)"
],
isch: "body > div:nth-child(6) > c-wiz > div:nth-child(2)",
vid: `.main > div:nth-child(1) > div:nth-child(${navbarNthChild})`,
shop: "#main > div:nth-child(1) > div:nth-child(4)",
bks: `.main > div:nth-child(1) > div:nth-child(9)`
};
const navbarItemsSelectors = {
all: "div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1)",
isch: "div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1)",
vid: "div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2)",
shop: "div:nth-child(2)"
};
switch (tbm) {
case void 0: {
const navbar = getElement(navbarSelectors.all);
setUniqueSelector(navbar);
const itemsParent = navbar?.querySelector(navbarItemsSelectors.all);
removeOriginalItems(itemsParent);
itemsDom.setParentElement(itemsParent);
itemsDom.setTbm("all");
break;
}
case "isch": {
const navbar = document.querySelector(navbarSelectors.isch);
const itemsParent = navbar?.querySelector(navbarItemsSelectors.isch);
removeOriginalItems(itemsParent);
itemsDom.setParentElement(itemsParent);
itemsDom.setTbm("isch");
break;
}
case "vid": {
const navbar = document.querySelector(navbarSelectors.vid);
setUniqueSelector(navbar);
const itemsParent = navbar?.querySelector(navbarItemsSelectors.vid);
removeOriginalItems(itemsParent);
itemsDom.setParentElement(itemsParent);
itemsDom.setTbm("vid");
break;
}
case "shop": {
const navbar = document.querySelector(navbarSelectors.shop);
setUniqueSelector(navbar);
const itemsParent = navbar?.querySelector(navbarItemsSelectors.shop);
removeOriginalItems(itemsParent);
itemsDom.setParentElement(itemsParent);
itemsDom.setTbm("shop");
break;
}
case "nws": {
const navbar = getElement(navbarSelectors.all);
setUniqueSelector(navbar);
const itemsParent = navbar?.querySelector(navbarItemsSelectors.all);
removeOriginalItems(itemsParent);
itemsDom.setParentElement(itemsParent);
itemsDom.setTbm("nws");
break;
}
case "bks": {
const navbar = document.querySelector(navbarSelectors.bks);
setUniqueSelector(navbar);
const itemsParent = navbar?.querySelector(navbarItemsSelectors.all);
removeOriginalItems(itemsParent);
itemsDom.setParentElement(itemsParent);
itemsDom.setTbm("bks");
break;
}
}
registerNavItems(itemsDom);
setTimeout(() => {
itemsDom.render();
});
});
}
function removeOriginalItems(itemsParent) {
if (itemsParent === null || itemsParent === void 0)
return;
const items = itemsParent.querySelectorAll("div, a, span");
items.forEach((item) => {
item.remove();
});
}
function getElement(selectorsList) {
let returnElem = null;
selectorsList.forEach((selector) => {
const elem = document.querySelector(selector);
if (elem !== null && returnElem === null) {
returnElem = elem;
}
});
return returnElem;
}
function getNavbarNthChild() {
let nthChild = 0;
let isFound = false;
const children = document.querySelectorAll("#main > #cnt > *");
if (children !== void 0) {
children.forEach((child, index) => {
if (child?.querySelector(
'div[role="navigation"] > div > #abss-dropdown_1'
) !== null && !isFound) {
nthChild = index + 1;
isFound = true;
}
if (child?.querySelector(
'div[role="navigation"] > div[data-st-cnt="mode"] > div[data-st-tgt="mode"] > div[data-id="trc"]'
) !== null) {
nthChild = index + 1;
isFound = true;
}
});
}
return nthChild;
}
function setUniqueSelector(navbar) {
if (navbar !== null) {
navbar.classList.add("google-classic-navbar-parent-outer");
}
}
var trustedPolicy;
if (window.trustedTypes === void 0) {
trustedPolicy = {
createHTML: (input) => {
return input;
}
};
} else {
trustedPolicy = window.trustedTypes.createPolicy(
"google-classic-navbar-trusted-policy",
{
createHTML: (input) => {
return input;
}
}
);
}
var exportedTrustedPolicy = trustedPolicy;
// node_modules/ts-extension-builder/tmp/entry.ts
var args = {};
if (typeof GM_info !== "undefined" && GM_info.script.grant !== void 0) {
GM_info.script.grant.forEach((propatyName) => {
let keyName = propatyName.split("GM_")[1];
if (keyName === "xmlhttpRequest") {
keyName = "xmlHttpRequest";
}
args[propatyName] = GM[keyName];
});
}
main(args);