mirror of
https://github.com/gethomepage/homepage.git
synced 2026-09-26 14:01:16 -07:00
Compare commits
2
Commits
2dcd067c46
...
5b18a82cbd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b18a82cbd | ||
|
|
a17763ca9f |
@@ -39,7 +39,9 @@
|
||||
"wait": "Wag asseblief"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Soek…"
|
||||
"placeholder": "Soek…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "SVE",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "الرجاء الإنتظار"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "بحث …"
|
||||
"placeholder": "بحث …",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "المعالج",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Моля изчакайте"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Търсене…"
|
||||
"placeholder": "Търсене…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Процесор",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Si us plau, espereu"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Cerca…"
|
||||
"placeholder": "Cerca…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Počkejte prosím"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Hledat…"
|
||||
"placeholder": "Hledat…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Využití procesoru",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Vent venligst"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Søg…"
|
||||
"placeholder": "Søg…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Bitte warten"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Suche…"
|
||||
"placeholder": "Suche…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Παρακαλώ περιμένετε"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Αναζήτηση…"
|
||||
"placeholder": "Αναζήτηση…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Επεξεργαστής",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search…"
|
||||
"placeholder": "Search…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Bonvolu atendi"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Serĉi…"
|
||||
"placeholder": "Serĉi…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Ĉefprocesoro",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Espera, por favor"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Buscar…"
|
||||
"placeholder": "Buscar…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Itxaron mesedez"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Bilatu…"
|
||||
"placeholder": "Bilatu…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Odota, ole hyvä"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Hae…"
|
||||
"placeholder": "Hae…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Veuillez patienter"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Recherche…"
|
||||
"placeholder": "Recherche…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "המתן בבקשה"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "חיפוש…"
|
||||
"placeholder": "חיפוש…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "מעבד",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search…"
|
||||
"placeholder": "Search…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Pričekaj"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Traži …"
|
||||
"placeholder": "Traži …",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Kérjük várjon"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Keresés…"
|
||||
"placeholder": "Keresés…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Processzor",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Harap tunggu"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Telusuri…"
|
||||
"placeholder": "Telusuri…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Attendi per favore"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Cerca…"
|
||||
"placeholder": "Cerca…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "お待ちください"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "検索…"
|
||||
"placeholder": "検索…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "잠시만 기다리세요"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "검색…"
|
||||
"placeholder": "검색…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
@@ -472,7 +474,7 @@
|
||||
"users": "사용자",
|
||||
"loginsLast24H": "로그인 (24시간)",
|
||||
"failedLoginsLast24H": "실패한 로그인 (24시간)",
|
||||
"authorizationsLast24H": "Auths (24h)"
|
||||
"authorizationsLast24H": "인증(24시간)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "메모리",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Lūdzu, uzgaidiet"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Meklēt…"
|
||||
"placeholder": "Meklēt…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Sila tunggu"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Carian…"
|
||||
"placeholder": "Carian…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Even geduld"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Zoeken…"
|
||||
"placeholder": "Zoeken…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Vennligst vent"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Søk…"
|
||||
"placeholder": "Søk…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Proszę czekać"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Szukaj…"
|
||||
"placeholder": "Szukaj…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Procesor",
|
||||
@@ -472,7 +474,7 @@
|
||||
"users": "Użytkownicy",
|
||||
"loginsLast24H": "Logowania (24h)",
|
||||
"failedLoginsLast24H": "Nieudane logowania (24h)",
|
||||
"authorizationsLast24H": "Auths (24h)"
|
||||
"authorizationsLast24H": "Uwierzytelnienia (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "RAM",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Por favor aguarde"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Pesquisar…"
|
||||
"placeholder": "Pesquisar…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Por favor, aguarde"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Pesquisar…"
|
||||
"placeholder": "Pesquisar…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Va rugăm așteptați"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Caută…"
|
||||
"placeholder": "Caută…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Procesor",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Пожалуйста, подождите"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Поиск…"
|
||||
"placeholder": "Поиск…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "ЦП",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Počkajte prosím"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Hľadať…"
|
||||
"placeholder": "Hľadať…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Prosimo počakajte"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Iskanje…"
|
||||
"placeholder": "Iskanje…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Молим сачекајте"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Претражи…"
|
||||
"placeholder": "Претражи…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Процесор",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Vänligen vänta"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Sök…"
|
||||
"placeholder": "Sök…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "దయచేసి వేచి ఉండండి"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "వెతకండి…"
|
||||
"placeholder": "వెతకండి…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "సీపియూ",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "โปรดรอ"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "ค้นหา…"
|
||||
"placeholder": "ค้นหา…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "ซีพียู",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Lütfen bekleyin"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Ara…"
|
||||
"placeholder": "Ara…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "İşlemci",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Будь ласка, зачекайте"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Пошук…"
|
||||
"placeholder": "Пошук…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "ЦП",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "Vui lòng chờ"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Tìm kiếm…"
|
||||
"placeholder": "Tìm kiếm…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "請稍後"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "搜索緊…"
|
||||
"placeholder": "搜索緊…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "请稍候"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "搜索…"
|
||||
"placeholder": "搜索…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -39,7 +39,9 @@
|
||||
"wait": "請稍候"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "搜尋…"
|
||||
"placeholder": "搜尋…",
|
||||
"provider": "Search engine: {{name}}",
|
||||
"select_provider": "Select search engine"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
|
||||
@@ -182,6 +182,7 @@ export default function Search({ options }) {
|
||||
focus:border-theme-500 dark:focus:border-white/50
|
||||
border border-theme-300 dark:border-theme-200/50"
|
||||
placeholder={t("search.placeholder")}
|
||||
aria-label={t("search.placeholder")}
|
||||
onChange={(event) => {
|
||||
setQuery(event.target.value);
|
||||
}}
|
||||
@@ -208,8 +209,8 @@ export default function Search({ options }) {
|
||||
bg-theme-600/40 dark:bg-white/10
|
||||
focus:ring-theme-500 dark:focus:ring-white/50"
|
||||
>
|
||||
<selectedProvider.icon className="text-white w-3 h-3" />
|
||||
<span className="sr-only">{t("search.search")}</span>
|
||||
<selectedProvider.icon className="text-white w-3 h-3" aria-hidden="true" />
|
||||
<span className="sr-only">{t("search.provider", { name: selectedProvider.name })}</span>
|
||||
</ListboxButton>
|
||||
</div>
|
||||
<Transition
|
||||
@@ -222,6 +223,7 @@ export default function Search({ options }) {
|
||||
leaveTo="transform opacity-0 scale-95"
|
||||
>
|
||||
<ListboxOptions
|
||||
aria-label={t("search.select_provider")}
|
||||
className="absolute right-0 z-10 mt-1 origin-top-right rounded-md
|
||||
bg-theme-100 dark:bg-theme-600 shadow-lg
|
||||
ring-1 ring-black ring-opacity-5 focus:outline-hidden"
|
||||
@@ -238,7 +240,8 @@ export default function Search({ options }) {
|
||||
active ? "bg-theme-600/10 dark:bg-white/10 dark:text-gray-900" : "dark:text-gray-100",
|
||||
)}
|
||||
>
|
||||
<p.icon className="h-4 w-4 mx-4 my-2" />
|
||||
<p.icon className="h-4 w-4 mx-4 my-2" aria-hidden="true" />
|
||||
<span className="sr-only">{p.name}</span>
|
||||
</li>
|
||||
)}
|
||||
</ListboxOption>
|
||||
@@ -252,7 +255,9 @@ export default function Search({ options }) {
|
||||
{searchSuggestions[1]?.length > 0 && (
|
||||
<ComboboxOptions className="mt-1 rounded-md bg-theme-50 dark:bg-theme-800 border border-theme-300 dark:border-theme-200/30 cursor-pointer shadow-lg">
|
||||
<div className="p-1 bg-white/50 dark:bg-white/10 text-theme-900/90 dark:text-white/90 text-xs">
|
||||
<ComboboxOption key={query} value={query} />
|
||||
<ComboboxOption key={query} value={query}>
|
||||
<span className="sr-only">{query}</span>
|
||||
</ComboboxOption>
|
||||
{searchSuggestions[1].map((suggestion) => (
|
||||
<ComboboxOption key={suggestion} value={suggestion} className="flex w-full">
|
||||
{({ active }) => (
|
||||
|
||||
@@ -178,6 +178,28 @@ describe("components/widgets/search", () => {
|
||||
openSpy.mockRestore();
|
||||
});
|
||||
|
||||
it("gives every provider option an accessible name", () => {
|
||||
renderWithProviders(
|
||||
<Search options={{ provider: ["google", "duckduckgo", "brave"], showSearchSuggestions: false }} />,
|
||||
{ settings: {} },
|
||||
);
|
||||
|
||||
expect(screen.getAllByRole("option").map((option) => option.textContent)).toEqual([
|
||||
"Google",
|
||||
"DuckDuckGo",
|
||||
"Brave",
|
||||
]);
|
||||
});
|
||||
|
||||
it("labels the search input and the provider button", () => {
|
||||
renderWithProviders(<Search options={{ provider: ["google", "duckduckgo"], showSearchSuggestions: false }} />, {
|
||||
settings: {},
|
||||
});
|
||||
|
||||
expect(screen.getByRole("textbox")).toHaveAccessibleName("search.placeholder");
|
||||
expect(screen.getByRole("button")).toHaveAccessibleName(/search\.provider/);
|
||||
});
|
||||
|
||||
it("fetches search suggestions and triggers a search when a suggestion is selected", async () => {
|
||||
const openSpy = vi.spyOn(window, "open").mockImplementation(() => null);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user