Use configured search provider, allow disable internet search

This commit is contained in:
shamoon 2023-01-30 23:38:37 -08:00
parent 4e17628f97
commit 11d03be4de
4 changed files with 24 additions and 17 deletions

View file

@ -6,7 +6,7 @@ import ResolvedIcon from "./resolvedicon";
import { SettingsContext } from "utils/contexts/settings";
export default function QuickLaunch({servicesAndBookmarks, searchString, setSearchString, isOpen, close, searchDescriptions}) {
export default function QuickLaunch({servicesAndBookmarks, searchString, setSearchString, isOpen, close, searchDescriptions, searchProvider}) {
const { t } = useTranslation();
const { settings } = useContext(SettingsContext);
@ -76,15 +76,15 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear
if (searchDescriptions) {
newResults = newResults.sort((a, b) => b.priority - a.priority);
}
newResults.push(
{
name: searchString,
href: `http://google.com/search?q=${searchString}`,
description: t("quicklaunch.searchGoogle"),
type: 'service',
weight: 1
}
)
if (searchProvider) {
newResults.push(
{
href: searchProvider.url + encodeURIComponent(searchString),
name: `${searchProvider.name} ${t("quicklaunch.search")} `,
type: 'search',
}
)
}
setResults(newResults);
@ -92,7 +92,7 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear
setCurrentItemIndex(0);
}
}
}, [searchString, servicesAndBookmarks, searchDescriptions, t]);
}, [searchString, servicesAndBookmarks, searchDescriptions, searchProvider, t]);
const [hidden, setHidden] = useState(true);
@ -145,10 +145,10 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear
i === currentItemIndex && "bg-theme-300/50 dark:bg-theme-700/50",
)} onClick={handleItemClick}>
<div className="flex flex-row items-center mr-4 pointer-events-none">
<div className="w-5 text-xs mr-4">
{(r.icon || r.abbr) && <div className="w-5 text-xs mr-4">
{r.icon && <ResolvedIcon icon={r.icon} />}
{r.abbr && r.abbr}
</div>
</div>}
<div className="flex flex-col md:flex-row text-left items-baseline mr-4 pointer-events-none">
<span className="mr-4">{r.name}</span>
{r.description &&
@ -158,7 +158,7 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear
}
</div>
</div>
<div className="text-xs text-theme-600 font-bold pointer-events-none">{r.type === 'service' ? t("quicklaunch.service") : t("quicklaunch.bookmark")}</div>
<div className="text-xs text-theme-600 font-bold pointer-events-none">{t(`quicklaunch.${r.type ? r.type.toLowerCase() : 'bookmark'}`)}</div>
</button>
</li>
))}