diff --git a/public/locales/en/common.json b/public/locales/en/common.json
index 69d88305..9724db9d 100644
--- a/public/locales/en/common.json
+++ b/public/locales/en/common.json
@@ -218,5 +218,9 @@
"cpu": "CPU",
"mem": "MEM",
"wait": "Please wait"
+ },
+ "homepagesearch": {
+ "bookmark": "Bookmark",
+ "service": "Service"
}
}
diff --git a/src/components/search.jsx b/src/components/search.jsx
index a53ab59d..d6de8a30 100644
--- a/src/components/search.jsx
+++ b/src/components/search.jsx
@@ -1,8 +1,9 @@
import { useTranslation } from "react-i18next";
import { useEffect, useState, useRef } from "react";
import classNames from "classnames";
+import { resolveIcon } from "./services/item";
-export default function Search({bookmarks, services, searchString, setSearchString, isOpen, close}) {
+export default function HomepageSearch({bookmarks, services, searchString, setSearchString, isOpen, close}) {
const { t, i18n } = useTranslation();
const all = [...bookmarks.map(bg => bg.bookmarks).flat(), ...services.map(sg => sg.services).flat()];
@@ -23,7 +24,6 @@ export default function Search({bookmarks, services, searchString, setSearchStri
setSearchString("");
close(false);
const result = results[currentItemIndex];
- console.log("go to", result);
window.open(result.href, '_blank');
} else if (event.key == "ArrowDown" && results[currentItemIndex + 1]) {
setCurrentItemIndex(currentItemIndex + 1);
@@ -68,24 +68,33 @@ export default function Search({bookmarks, services, searchString, setSearchStri
diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx
index 345e2d5c..ea3bc6a0 100644
--- a/src/components/services/item.jsx
+++ b/src/components/services/item.jsx
@@ -8,7 +8,7 @@ import Widget from "./widget";
import Docker from "widgets/docker/component";
import { SettingsContext } from "utils/contexts/settings";
-function resolveIcon(icon) {
+export function resolveIcon(icon) {
// direct or relative URLs
if (icon.startsWith("http") || icon.startsWith("/")) {
return ;
diff --git a/src/pages/index.jsx b/src/pages/index.jsx
index 3d6a2298..3b047e6e 100644
--- a/src/pages/index.jsx
+++ b/src/pages/index.jsx
@@ -21,7 +21,7 @@ import { SettingsContext } from "utils/contexts/settings";
import { bookmarksResponse, servicesResponse, widgetsResponse } from "utils/config/api-response";
import ErrorBoundary from "components/errorboundry";
import themes from "utils/styles/themes";
-import Search from "components/search";
+import HomepageSearch from "components/search";
const ThemeToggle = dynamic(() => import("components/toggles/theme"), {
ssr: false,
@@ -195,7 +195,7 @@ function Home({ initialSettings }) {
}, [i18n, settings, color, setColor, theme, setTheme]);
const [searching, setSearching] = useState(false);
- const [searchString, setSearchString] = useState(false);
+ const [searchString, setSearchString] = useState("");
useEffect(() => {
document.addEventListener('keydown', handleKeyDown);
@@ -240,7 +240,7 @@ function Home({ initialSettings }) {
headerStyles[initialSettings.headerStyle || "underlined"]
)}
>
-
+
{widgets && (
<>
{widgets